[JBoss JIRA] (TEIID-2472) Create quickstart(s) demonstrating security
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2472?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-2472:
----------------------------------
Assignee: Van Halbert (was: Steven Hawkins)
Component/s: Quick Starts
(was: Documentation)
Assigning over to Van if there is a need to add an further examples (udf based or otherwise). Otherwise we can just stick with the 8.4 expansion that adds a sample of masking/row security.
> Create quickstart(s) demonstrating security
> -------------------------------------------
>
> Key: TEIID-2472
> URL: https://issues.jboss.org/browse/TEIID-2472
> Project: Teiid
> Issue Type: Sub-task
> Components: Quick Starts
> Reporter: Steven Hawkins
> Assignee: Van Halbert
> Fix For: 8.4.1
>
>
> There should be quickstarts (or an expanded dataroles quickstart) covering row based security, column masking, and possibly the use of a udf that uses the subject, a credential mapping security domain, or credential pass-through to highlight other common scenarios.
--
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
11 years, 6 months
[JBoss JIRA] (TEIID-2554) Enhance MERGE to support INSERT/UPDATE and DELETE
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2554?page=com.atlassian.jira.plugin... ]
Steven Hawkins edited comment on TEIID-2554 at 6/14/13 1:12 PM:
----------------------------------------------------------------
Merge doesn't buy you that much for materialization updates. New rows you can already process using the existing merge syntax. Unless you are comparing all columns (some of which may be none comparable), there is no graceful way of detecting updates. You'd have to have a notion of an update timestamp/increment, which you can process efficiently without the merge in any case.
I'd have to give this pretty low priority/leave it unbucketted given the lack of standardization (although it is part of ansi, just not widely followed) and the amount of pieces needed to implement it. Also under the covers the current merge handling is nothing more than a compensating procedure, there's still no notion of pushdown merge support (somewhat due to the previous statement).
was (Author: shawkins):
Merge doesn't buy you that much for materialization updates. New rows you can already process using the existing merge syntax. Unless you are comparing all rows, there is no graceful way of detecting updates. You'd have to have a notion of an update timestamp/increment, which you can process efficiently without the merge in any case.
I'd have to give this pretty low priority/leave it unbucketted given the lack of standardization (although it is part of ansi, just not widely followed) and the amount of pieces needed to implement it. Also under the covers the current merge handling is nothing more than a compensating procedure, there's still no notion of pushdown merge support (somewhat due to the previous statement).
> Enhance MERGE to support INSERT/UPDATE and DELETE
> -------------------------------------------------
>
> Key: TEIID-2554
> URL: https://issues.jboss.org/browse/TEIID-2554
> Project: Teiid
> Issue Type: Enhancement
> Components: Query Engine
> Affects Versions: 8.4
> Reporter: Van Halbert
> Assignee: Steven Hawkins
>
> Add delete support to MERGE. Example is SQL Server:
> MERGE <target_table> [AS TARGET]
> USING <table_source> [AS SOURCE]
> ON <search_condition>
> [WHEN MATCHED
> THEN <merge_matched> ]
> [WHEN NOT MATCHED [BY TARGET]
> THEN <merge_not_matched> ]
> [WHEN NOT MATCHED BY SOURCE
> THEN <merge_ matched> ];
--
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
11 years, 6 months
[JBoss JIRA] (TEIID-2554) Enhance MERGE to support INSERT/UPDATE and DELETE
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2554?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-2554:
---------------------------------------
Merge doesn't buy you that much for materialization updates. New rows you can already process using the existing merge syntax. Unless you are comparing all rows, there is no graceful way of detecting updates. You'd have to have a notion of an update timestamp/increment, which you can process efficiently without the merge in any case.
I'd have to give this pretty low priority/leave it unbucketted given the lack of standardization (although it is part of ansi, just not widely followed) and the amount of pieces needed to implement it. Also under the covers the current merge handling is nothing more than a compensating procedure, there's still no notion of pushdown merge support (somewhat due to the previous statement).
> Enhance MERGE to support INSERT/UPDATE and DELETE
> -------------------------------------------------
>
> Key: TEIID-2554
> URL: https://issues.jboss.org/browse/TEIID-2554
> Project: Teiid
> Issue Type: Enhancement
> Components: Query Engine
> Affects Versions: 8.4
> Reporter: Van Halbert
> Assignee: Steven Hawkins
>
> Add delete support to MERGE. Example is SQL Server:
> MERGE <target_table> [AS TARGET]
> USING <table_source> [AS SOURCE]
> ON <search_condition>
> [WHEN MATCHED
> THEN <merge_matched> ]
> [WHEN NOT MATCHED [BY TARGET]
> THEN <merge_not_matched> ]
> [WHEN NOT MATCHED BY SOURCE
> THEN <merge_ matched> ];
--
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
11 years, 6 months
[JBoss JIRA] (TEIID-2554) Enhance MERGE to support INSERT/UPDATE and DELETE
by Van Halbert (JIRA)
Van Halbert created TEIID-2554:
----------------------------------
Summary: Enhance MERGE to support INSERT/UPDATE and DELETE
Key: TEIID-2554
URL: https://issues.jboss.org/browse/TEIID-2554
Project: Teiid
Issue Type: Enhancement
Components: Query Engine
Affects Versions: 8.4
Reporter: Van Halbert
Assignee: Steven Hawkins
Add delete support to MERGE. Example is SQL Server:
MERGE <target_table> [AS TARGET]
USING <table_source> [AS SOURCE]
ON <search_condition>
[WHEN MATCHED
THEN <merge_matched> ]
[WHEN NOT MATCHED [BY TARGET]
THEN <merge_not_matched> ]
[WHEN NOT MATCHED BY SOURCE
THEN <merge_ matched> ];
--
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
11 years, 6 months
[JBoss JIRA] (TEIID-2553) Partial insert statements being submitted with incorrect default values
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2553?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-2553.
-----------------------------------
Resolution: Done
Moved the clone ahead of getting the default.
> Partial insert statements being submitted with incorrect default values
> -----------------------------------------------------------------------
>
> Key: TEIID-2553
> URL: https://issues.jboss.org/browse/TEIID-2553
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.2
> Reporter: Bobby Diaz
> Assignee: Steven Hawkins
> Priority: Critical
> Fix For: 8.4.1, 8.5
>
>
> InsertResolver is causing incorrect default values to be returned by the ResolverUtil due to the wrong element symbol being sent to the ResolverUtil.getDefault() method. In the code below, taken from InsertResolver.getVariableValues(), I believe the first two rows inside the if statement should be reversed so that next.clone() is used to determine the default value rather than the varSymbol whose type has been changed to BOOLEAN.
> Collection<ElementSymbol> insertElmnts = ResolverUtil.resolveElementsInGroup(insert.getGroup(), metadata);
> insertElmnts.removeAll(insert.getVariables());
> Iterator<ElementSymbol> defaultIter = insertElmnts.iterator();
> while(defaultIter.hasNext()) {
> ElementSymbol next = defaultIter.next();
> ElementSymbol varSymbol = next.clone();
> varSymbol.getGroupSymbol().setName(ProcedureReservedWords.CHANGING);
> varSymbol.setType(DataTypeManager.DefaultDataClasses.BOOLEAN);
> result.put(varSymbol, new Constant(Boolean.FALSE));
> if (!changingOnly) {
> Expression value = ResolverUtil.getDefault(varSymbol, metadata);
> varSymbol = next.clone();
> varSymbol.getGroupSymbol().setName(SQLConstants.Reserved.NEW);
> result.put(varSymbol, value);
> }
> }
--
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
11 years, 6 months
[JBoss JIRA] (TEIID-2553) Partial insert statements being submitted with incorrect default values
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2553?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-2553:
----------------------------------
Fix Version/s: 8.4.1
8.5
Priority: Critical (was: Major)
Steps to Reproduce: Execute an INSERT statement against a view with a trigger action to handle the insert that has a column with a default value, but omit that column from the INSERT. (was: Execute an INSERT statement for a table that has a column with a default value, but omit that column from the INSERT.)
Affects Version/s: 8.2
(was: 8.3)
(was: 8.4)
Workaround Description: Expand the insert to include the default values.
Workaround: Workaround Exists
Note this is regression from TEIID-2222
> Partial insert statements being submitted with incorrect default values
> -----------------------------------------------------------------------
>
> Key: TEIID-2553
> URL: https://issues.jboss.org/browse/TEIID-2553
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.2
> Reporter: Bobby Diaz
> Assignee: Steven Hawkins
> Priority: Critical
> Fix For: 8.4.1, 8.5
>
>
> InsertResolver is causing incorrect default values to be returned by the ResolverUtil due to the wrong element symbol being sent to the ResolverUtil.getDefault() method. In the code below, taken from InsertResolver.getVariableValues(), I believe the first two rows inside the if statement should be reversed so that next.clone() is used to determine the default value rather than the varSymbol whose type has been changed to BOOLEAN.
> Collection<ElementSymbol> insertElmnts = ResolverUtil.resolveElementsInGroup(insert.getGroup(), metadata);
> insertElmnts.removeAll(insert.getVariables());
> Iterator<ElementSymbol> defaultIter = insertElmnts.iterator();
> while(defaultIter.hasNext()) {
> ElementSymbol next = defaultIter.next();
> ElementSymbol varSymbol = next.clone();
> varSymbol.getGroupSymbol().setName(ProcedureReservedWords.CHANGING);
> varSymbol.setType(DataTypeManager.DefaultDataClasses.BOOLEAN);
> result.put(varSymbol, new Constant(Boolean.FALSE));
> if (!changingOnly) {
> Expression value = ResolverUtil.getDefault(varSymbol, metadata);
> varSymbol = next.clone();
> varSymbol.getGroupSymbol().setName(SQLConstants.Reserved.NEW);
> result.put(varSymbol, value);
> }
> }
--
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
11 years, 6 months
[JBoss JIRA] (TEIID-2553) Partial insert statements being submitted with incorrect default values
by Bobby Diaz (JIRA)
[ https://issues.jboss.org/browse/TEIID-2553?page=com.atlassian.jira.plugin... ]
Bobby Diaz updated TEIID-2553:
------------------------------
Description:
InsertResolver is causing incorrect default values to be returned by the ResolverUtil due to the wrong element symbol being sent to the ResolverUtil.getDefault() method. In the code below, taken from InsertResolver.getVariableValues(), I believe the first two rows inside the if statement should be reversed so that next.clone() is used to determine the default value rather than the varSymbol whose type has been changed to BOOLEAN.
Collection<ElementSymbol> insertElmnts = ResolverUtil.resolveElementsInGroup(insert.getGroup(), metadata);
insertElmnts.removeAll(insert.getVariables());
Iterator<ElementSymbol> defaultIter = insertElmnts.iterator();
while(defaultIter.hasNext()) {
ElementSymbol next = defaultIter.next();
ElementSymbol varSymbol = next.clone();
varSymbol.getGroupSymbol().setName(ProcedureReservedWords.CHANGING);
varSymbol.setType(DataTypeManager.DefaultDataClasses.BOOLEAN);
result.put(varSymbol, new Constant(Boolean.FALSE));
if (!changingOnly) {
Expression value = ResolverUtil.getDefault(varSymbol, metadata);
varSymbol = next.clone();
varSymbol.getGroupSymbol().setName(SQLConstants.Reserved.NEW);
result.put(varSymbol, value);
}
}
was:
InsertResolver is causing incorrect default values to be returned by the ResolverUtil due to the wrong element symbol being sent to the ResolverUtil.getDefault() method. In the code below, taken from InsertResolver.getVariableValues(), I believe the first two rows inside the if statement should be reversed so that next.clone() is used to determine the default value rather than the varSymbol whose type has been changed to BOOLEAN.
Collection<ElementSymbol> insertElmnts = ResolverUtil.resolveElementsInGroup(insert.getGroup(), metadata);
insertElmnts.removeAll(insert.getVariables());
Iterator<ElementSymbol> defaultIter = insertElmnts.iterator();
while(defaultIter.hasNext()) {
ElementSymbol next = defaultIter.next();
ElementSymbol varSymbol = next.clone();
varSymbol.getGroupSymbol().setName(ProcedureReservedWords.CHANGING);
varSymbol.setType(DataTypeManager.DefaultDataClasses.BOOLEAN);
result.put(varSymbol, new Constant(Boolean.FALSE));
if (!changingOnly) {
Expression value = ResolverUtil.getDefault(varSymbol, metadata);
varSymbol = next.clone();
varSymbol.getGroupSymbol().setName(SQLConstants.Reserved.NEW);
result.put(varSymbol, value);
}
}
> Partial insert statements being submitted with incorrect default values
> -----------------------------------------------------------------------
>
> Key: TEIID-2553
> URL: https://issues.jboss.org/browse/TEIID-2553
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.3, 8.4
> Reporter: Bobby Diaz
> Assignee: Steven Hawkins
>
> InsertResolver is causing incorrect default values to be returned by the ResolverUtil due to the wrong element symbol being sent to the ResolverUtil.getDefault() method. In the code below, taken from InsertResolver.getVariableValues(), I believe the first two rows inside the if statement should be reversed so that next.clone() is used to determine the default value rather than the varSymbol whose type has been changed to BOOLEAN.
> Collection<ElementSymbol> insertElmnts = ResolverUtil.resolveElementsInGroup(insert.getGroup(), metadata);
> insertElmnts.removeAll(insert.getVariables());
> Iterator<ElementSymbol> defaultIter = insertElmnts.iterator();
> while(defaultIter.hasNext()) {
> ElementSymbol next = defaultIter.next();
> ElementSymbol varSymbol = next.clone();
> varSymbol.getGroupSymbol().setName(ProcedureReservedWords.CHANGING);
> varSymbol.setType(DataTypeManager.DefaultDataClasses.BOOLEAN);
> result.put(varSymbol, new Constant(Boolean.FALSE));
> if (!changingOnly) {
> Expression value = ResolverUtil.getDefault(varSymbol, metadata);
> varSymbol = next.clone();
> varSymbol.getGroupSymbol().setName(SQLConstants.Reserved.NEW);
> result.put(varSymbol, value);
> }
> }
--
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
11 years, 6 months