[JBoss JIRA] (TEIID-1070) Create Amazon SimpleDB Connector
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-1070?page=com.atlassian.jira.plugin... ]
Ramesh Reddy resolved TEIID-1070.
---------------------------------
Labels: CR2 (was: )
Resolution: Done
1) Changed base assumption where all attributes colon separated lists to plain strings. So every attribute is simple string data type.
2) During the import if a attribute found to have multiple values it will be marked as String Array type.
3) Using the Designer, user has ability to change the data type as they see fit, but be-warned that SimpleDB only does lexicographical compares.
4) Added bulk insert support
5) Added count(*) support.
6) Fixed a bug, where only 100 items would have selected from the Select query. It needed cursoring mechnism
7) Batched the inserts and updates, previously they were done one at a time. Even then these are not atomic operations, as SimpleDB only allows 25 items in a batch.
8) Refactored the connection API
9) Provided support for Arrays, so when dealing with String[] type one can insert/update/select using array types
10) Made "itemName()" as NAMEINSOURCE for "itemName" column, so that user does not need to quote in their queries
11) Delete of Table will delete the domain now, and re-create it, as opposed to deleting each individual item. This essential with bigger tables.
12) Update/Delete procedures were written to be memory efficient. Previously to do a update operation, all item names are read and saved in a list then each individual item is deleted. Removed need to create intermediate list, which should not not as memory intensive.
13) Added direct query support. It only supports "select"
14) Added support for EVERY - See doc on usage
15) Added support for INTERSECTION - See doc on usage
16) Added support for array based compare
17) Added ORDER BY support - note this is only available when there is WHERE clause
18) Tests and i18n support
> Create Amazon SimpleDB Connector
> ---------------------------------
>
> Key: TEIID-1070
> URL: https://issues.jboss.org/browse/TEIID-1070
> Project: Teiid
> Issue Type: Feature Request
> Components: Misc. Connectors
> Reporter: John Doyle
> Assignee: Ramesh Reddy
> Labels: CR2
> Fix For: 8.7
>
>
> We need connectivity to Amazon SimpleDB. This should be accomplished through a dedicated connector.
> Simple DB presents a few challenges as a Teiid source as it is more like a spreadsheet than a database. Simple DB "Domains' are like individual worksheets and contain any number of items. Items however can have any number of attributes, and the attributes do not have to be the same for ever item. So in a single Domain you can have an item with the attributes Size and Color, and another item with the attributes Color and ExpirationDate. This presents both modeling issues and SQL execution issues. None of them are insurmountable, but users will have to understand the issues and design their integration around them.
--
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
10 years, 8 months
[JBoss JIRA] (TEIID-2906) bind variables and sql appear when exception thrown
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2906?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-2906.
-----------------------------------
Resolution: Done
Resolved more generally by adding a system property option - org.teiid.sanitizeMessages - that strips exceptions and warning related to query processing of all but their teiid code. A non-teiid exception without a code is given a message of just it's classname.
For the client side we'll also strip out the server side stack trace information.
Even with sanitizeMessages enabled, if the relevant logger is set to log detail messages, the exceptions and messages will be left untouched.
> bind variables and sql appear when exception thrown
> ---------------------------------------------------
>
> Key: TEIID-2906
> URL: https://issues.jboss.org/browse/TEIID-2906
> Project: Teiid
> Issue Type: Bug
> Components: JDBC Connector
> Affects Versions: 8.4
> Environment: - JDV 6.0.0
> Reporter: Hisanobu Okuda
> Assignee: Steven Hawkins
> Fix For: 8.7
>
> Attachments: PreparedStatementTest.java, test.vdb
>
>
> When a query causes an exception, bind variables and sql are written in teiid-command.log and are sent to a client.
> teiid-command.log:-
> {code}
> 19:36:19,942 WARN [org.teiid.PROCESSOR] (Worker8_QueryProcessorQueue29) TEIID30020 Processing exception for request 6jFRdyvDG5bU.0
> 'TEIID30504 New_MySQL: 0 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: ['hokuda'] SQL: SELECT g_0.`USERNAM
> E`, g_0.`PASSWORD`, g_0.`USERROLE` FROM `LOGIN`.`USERS` AS g_0 WHERE g_0.`USERNAME` = ?]'. Originally TeiidProcessingException 'Can
> not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.' MysqlIO.java:3039.
> Enable more detailed logging to see the entire stacktrace.
> {code}
> printStackTrace() at client side:-
> {code}
> org.teiid.jdbc.TeiidSQLException: TEIID30504 Remote org.teiid.core.TeiidProcessingException: TEIID30504 New_MySQL: 0 TEIID11008:TEI
> ID11004 Error executing statement(s): [Prepared Values: ['hokuda'] SQL: SELECT g_0.`USERNAME`, g_0.`PASSWORD`, g_0.`USERROLE` FROM
> `LOGIN`.`USERS` AS g_0 WHERE g_0.`USERNAME` = ?]
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:135)
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:71)
> {code}
--
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
10 years, 8 months
[JBoss JIRA] (TEIID-2911) Guard against external entity resolving
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2911?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-2911:
----------------------------------
Attachment: (was: org.odata4j.stax2.staximpl.StaxXMLFactoryProvider2.diff)
> Guard against external entity resolving
> ---------------------------------------
>
> Key: TEIID-2911
> URL: https://issues.jboss.org/browse/TEIID-2911
> Project: Teiid
> Issue Type: Bug
> Components: OData, Query Engine
> Affects Versions: 7.7, 8.4
> Reporter: Van Halbert
> Assignee: Steven Hawkins
> Priority: Critical
> Fix For: 8.4.2, 8.7
>
> Attachments: org.odata4j.stax2.staximpl.StaxXMLFactoryProvider2.diff
>
>
> if applications that expose RESTEasy XML endpoints, add the following snippet to their web.xml file to disable entity expansion in RESTEasy:
> <context-param>
> <param-name>resteasy.document.expand.entity.references</param-name>
> <param-value>false</param-value>
> </context-param>
> Note that this <context-param> setting has precedence over <init-param>, and will override a contrary setting in an <init-param> element.
> However this is not sufficient for OData as OData4j is responsible for parsing the Atom feed. StaxXMLFactoryProvider2 simply creates XMLInputFactories without any options, thus they will perform external entity resolving by default. An issue will need to be opened against OData4j.
> For SQL/XML, the XMLType input factory needs to disable external entity resolving (via experimentation just setting the relevant property doesn't always work, so like other projects we'll set an XMLResolver, which does work).
--
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
10 years, 8 months
[JBoss JIRA] (TEIID-2911) Guard against external entity resolving
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2911?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-2911:
----------------------------------
Attachment: org.odata4j.stax2.staximpl.StaxXMLFactoryProvider2.diff
> Guard against external entity resolving
> ---------------------------------------
>
> Key: TEIID-2911
> URL: https://issues.jboss.org/browse/TEIID-2911
> Project: Teiid
> Issue Type: Bug
> Components: OData, Query Engine
> Affects Versions: 7.7, 8.4
> Reporter: Van Halbert
> Assignee: Steven Hawkins
> Priority: Critical
> Fix For: 8.4.2, 8.7
>
> Attachments: org.odata4j.stax2.staximpl.StaxXMLFactoryProvider2.diff
>
>
> if applications that expose RESTEasy XML endpoints, add the following snippet to their web.xml file to disable entity expansion in RESTEasy:
> <context-param>
> <param-name>resteasy.document.expand.entity.references</param-name>
> <param-value>false</param-value>
> </context-param>
> Note that this <context-param> setting has precedence over <init-param>, and will override a contrary setting in an <init-param> element.
> However this is not sufficient for OData as OData4j is responsible for parsing the Atom feed. StaxXMLFactoryProvider2 simply creates XMLInputFactories without any options, thus they will perform external entity resolving by default. An issue will need to be opened against OData4j.
> For SQL/XML, the XMLType input factory needs to disable external entity resolving (via experimentation just setting the relevant property doesn't always work, so like other projects we'll set an XMLResolver, which does work).
--
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
10 years, 8 months
[JBoss JIRA] (TEIID-2790) Add more options for costing during import
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2790?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-2790.
-----------------------------------
Resolution: Done
Marking as done for now. There is additional work to be done to add column costing information and to make this a post import activity, but that will come later.
> Add more options for costing during import
> ------------------------------------------
>
> Key: TEIID-2790
> URL: https://issues.jboss.org/browse/TEIID-2790
> Project: Teiid
> Issue Type: Feature Request
> Components: JDBC Connector, Misc. Connectors
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 8.7
>
>
> With many jdbc sources full cardinality is reported from the index info for non statistical indexes (such as mysql). This should be used to set the cardinality of the table. Failing that there should be an option to use an aggregate call or other source stats.
> This is not quite the same as TEIID-245 as it's happening at import time, but the two do overlap.
--
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
10 years, 8 months
[JBoss JIRA] (TEIID-2481) common table (with) push down improvements
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2481?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-2481:
----------------------------------
Fix Version/s: 8.8
(was: 8.7)
> common table (with) push down improvements
> ------------------------------------------
>
> Key: TEIID-2481
> URL: https://issues.jboss.org/browse/TEIID-2481
> Project: Teiid
> Issue Type: Enhancement
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 8.8
>
>
> The general strategy for with pushdown should better handle:
> - a with clause that can be pushed against a source that does not support common table. If a single reference or some other sufficient condition is met then we should just inline the pushdown rather than inhibiting the whole query from pushing down.
> - even if a source supports with pushdown, it may be more performant in some circumstances to inline the common table reference (such as only a single reference). This is complicated slightly by subqueries.
> - alternatively in some situations even if a with clause can be pushed, it may be better to not perform the pushdown -e.g. two separate pushdown accesses to a common table that is expensive to compute (this may need to be hint driven).
--
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
10 years, 8 months
[JBoss JIRA] (TEIID-2906) bind variables and sql appear when exception thrown
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2906?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-2906:
----------------------------------
Fix Version/s: 8.7
> bind variables and sql appear when exception thrown
> ---------------------------------------------------
>
> Key: TEIID-2906
> URL: https://issues.jboss.org/browse/TEIID-2906
> Project: Teiid
> Issue Type: Bug
> Components: JDBC Connector
> Affects Versions: 8.4
> Environment: - JDV 6.0.0
> Reporter: Hisanobu Okuda
> Assignee: Steven Hawkins
> Fix For: 8.7
>
> Attachments: PreparedStatementTest.java, test.vdb
>
>
> When a query causes an exception, bind variables and sql are written in teiid-command.log and are sent to a client.
> teiid-command.log:-
> {code}
> 19:36:19,942 WARN [org.teiid.PROCESSOR] (Worker8_QueryProcessorQueue29) TEIID30020 Processing exception for request 6jFRdyvDG5bU.0
> 'TEIID30504 New_MySQL: 0 TEIID11008:TEIID11004 Error executing statement(s): [Prepared Values: ['hokuda'] SQL: SELECT g_0.`USERNAM
> E`, g_0.`PASSWORD`, g_0.`USERROLE` FROM `LOGIN`.`USERS` AS g_0 WHERE g_0.`USERNAME` = ?]'. Originally TeiidProcessingException 'Can
> not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.' MysqlIO.java:3039.
> Enable more detailed logging to see the entire stacktrace.
> {code}
> printStackTrace() at client side:-
> {code}
> org.teiid.jdbc.TeiidSQLException: TEIID30504 Remote org.teiid.core.TeiidProcessingException: TEIID30504 New_MySQL: 0 TEIID11008:TEI
> ID11004 Error executing statement(s): [Prepared Values: ['hokuda'] SQL: SELECT g_0.`USERNAME`, g_0.`PASSWORD`, g_0.`USERROLE` FROM
> `LOGIN`.`USERS` AS g_0 WHERE g_0.`USERNAME` = ?]
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:135)
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:71)
> {code}
--
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
10 years, 8 months
[JBoss JIRA] (TEIID-2920) Certain Translator Override Definitions for JDBC have identical display names
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2920?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-2920:
---------------------------------------
They do represent the same values, but we should probably add deprecation warnings to the "native" ones.
> Certain Translator Override Definitions for JDBC have identical display names
> -----------------------------------------------------------------------------
>
> Key: TEIID-2920
> URL: https://issues.jboss.org/browse/TEIID-2920
> Project: Teiid
> Issue Type: Bug
> Reporter: Barry LaFond
> Assignee: Ramesh Reddy
> Fix For: 8.7
>
>
> In VDB editor, noticed that their are duplicate display names for certain JDBC translator properties. Confusing...
> Debugged a little and here are the culprits I found:
> ID = supportsDirectQueryProcedure
> * Display Name = *Supports direct query procedure*
> ID = supportsNativeQueries
> * Display Name = *Supports direct query procedure*
> ID = DirectQueryProcedureName
> * Display Name = *Name of the direct query procedure*
> ID = NativeQueryProcedureName
> * Display Name = *Name of the direct query procedure*
--
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
10 years, 8 months