[JBoss JIRA] (TEIID-2491) ODBC ScriptReader workarounds do not handle EOF
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2491?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-2491.
-----------------------------------
Resolution: Done
Corrected the appends that do not check for EOF. This was prompted by a case that uses ODBC escapes, which are being handled by the pg odbc driver using legacy pgsql syntax. We may yet want to go more completely over the driver source (convert.c) and ensure as much of the escape handling is handled by us directly (including possibly moving the cast support into our parser) - or by perhaps contributing an option to the pg driver to disable escape handling.
> ODBC ScriptReader workarounds do not handle EOF
> -----------------------------------------------
>
> Key: TEIID-2491
> URL: https://issues.jboss.org/browse/TEIID-2491
> Project: Teiid
> Issue Type: Bug
> Components: ODBC
> Affects Versions: 8.3
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 8.4
>
>
> Issuing a query such as select 'foo'::bar
> will result in an error since the workaround to drop the ::bar appends the EOF to the sql text.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 8 months
[JBoss JIRA] (TEIID-2491) ODBC ScriptReader workarounds do not handle EOF
by Steven Hawkins (JIRA)
Steven Hawkins created TEIID-2491:
-------------------------------------
Summary: ODBC ScriptReader workarounds do not handle EOF
Key: TEIID-2491
URL: https://issues.jboss.org/browse/TEIID-2491
Project: Teiid
Issue Type: Bug
Components: ODBC
Affects Versions: 8.3
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Fix For: 8.4
Issuing a query such as select 'foo'::bar
will result in an error since the workaround to drop the ::bar appends the EOF to the sql text.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 8 months
[JBoss JIRA] (TEIID-2327) Add column masking
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2327?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-2327:
---------------------------------------
Added the initial implementation - masks are allowed on views/tables/procedures and are applied logically after row based filters. It is undefined as to which mask is used if multiple roles specify masks against the same column with the same order value.
The initial support also has the limitation of not supporting subqueries in column masks (just as with conditions as checked constraints). I'll look to address both of those as we move toward the final release.
Also moved caching of the parsed/resolved/validated masks/filters onto the permission rather than the metadata. Also corrected another issue with caching - that is the previous logic did not clone what was put into the cache, thus in some circumstances invalid objects (planned against a specific plan) will be in the cache for 8.3.
> Add column masking
> ------------------
>
> Key: TEIID-2327
> URL: https://issues.jboss.org/browse/TEIID-2327
> Project: Teiid
> Issue Type: Sub-task
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 8.4
>
>
> Support for column masking should be added to data roles. A typical approach would be to only affect the final projected values from user queries and have only one mask applicable at a time.
> A possibly related ability would be to hide columns (much like hidden tables) to our metadata.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 8 months
[JBoss JIRA] (TEIID-2490) org.teiid.query.sql.proc.CreateProcedureCommand.getResultSetColumns() can return NULL
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2490?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-2490:
---------------------------------------
Actually after reading my own javadoc, null is not used to represent no result set, but is a valid value:
"return null if unknown, empty if results are not returned, or the resultset columns"
Are you specifically referring to the case where you are calling resolveCommand with inferProcedureResultSetColumns=true? If the command is a CreateProcedureCommand and the result set columns are null on exit, I can set them to empty (or you can just check for null). Otherwise null needs to be left as a valid result.
> org.teiid.query.sql.proc.CreateProcedureCommand.getResultSetColumns() can return NULL
> -------------------------------------------------------------------------------------
>
> Key: TEIID-2490
> URL: https://issues.jboss.org/browse/TEIID-2490
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 8.3
> Reporter: Barry LaFond
> Assignee: Steven Hawkins
>
> Unlike the getProjectedSymbols() method, the getResultSetColumns() can return null. Could you consider performing NULL check and return EMPTY LIST instead? Else we have to code around it.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 8 months
[JBoss JIRA] (TEIID-2460) Weird behavior when Max buffer space restriction is hit
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/TEIID-2460?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration updated TEIID-2460:
-------------------------------------------
Bugzilla Update: Perform
Bugzilla References: https://bugzilla.redhat.com/show_bug.cgi?id=958976
> Weird behavior when Max buffer space restriction is hit
> --------------------------------------------------------
>
> Key: TEIID-2460
> URL: https://issues.jboss.org/browse/TEIID-2460
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 7.7.6
> Reporter: Filip Nguyen
> Assignee: Steven Hawkins
> Fix For: 8.4
>
> Attachments: teiid-jboss-beans.xml
>
>
> I was trying to restrict the disk space used by buffer manager (see steps to reproduce for my methodology). When the disk limit is hit, it really tries to stop the query, but doesn't succeed immediately.
> There is a big amount of exceptions [1] for relatively long period of time (minutes for big files), until it fails eventually with [2]. The error [2] is also given back to the JDBC client.
> Problem is that after the query fails in this fashion, the whole buffer disk space is still occupied and any new query, that needs even small (acceptable) buffer disk space, fails.
> Only way that I have found to make the buffer space usable again is to restart the server.
> [1] Error transferring block to storage 149742
> java.io.IOException: Max buffer space of 31,457,280 bytes has been exceed. The current operation will be aborted.
> [2] org.teiid.jdbc.TeiidSQLException: Batch not found in storage 50937
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 8 months
[JBoss JIRA] (TEIID-2327) Add column masking
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2327?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-2327:
---------------------------------------
While associating masks/filters on a per-role basis is conceptually good, the implementation may need tweaked. For instance the current approach to row based security is applied based upon the assigned roles each time a query is planned. In practice for any role other than an any-authenticated, this leads us to mark the plan as user specific. This is fine for result set caching, but will create a lot of prepared plans. One possibility would be to aggregate filters across all roles with appropriate conditionals on role assignment so that a single condition is applicable to all scenarios - the drawback being that this could lead to suboptimal plans if any one of the role conditions cannot be pushed - as they will be connected via or. Another option would be to add applicable roles to the determinism tracking.
> Add column masking
> ------------------
>
> Key: TEIID-2327
> URL: https://issues.jboss.org/browse/TEIID-2327
> Project: Teiid
> Issue Type: Sub-task
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 8.4
>
>
> Support for column masking should be added to data roles. A typical approach would be to only affect the final projected values from user queries and have only one mask applicable at a time.
> A possibly related ability would be to hide columns (much like hidden tables) to our metadata.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 8 months