Connector api language changes
------------------------------
Key: TEIID-1003
URL:
https://jira.jboss.org/jira/browse/TEIID-1003
Project: Teiid
Issue Type: Feature Request
Components: Connector API
Affects Versions: 7.0
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Fix For: 7.0
With the JCA work we are in a position to make several cleanups to the connector api.
First the metadata interfaces (Element, Group, etc.) are no longer necessary - as all of
our metadata will be supplied via VDBs. Previously preview mode execution still supplied
metadata via the QueryMetadataInterface, which then required the wrapper metadata objects.
The proposed change here is to just allow for direct use of the metadata record objects.
These objects are already part of the api, since they are needed for dynamic vdb work.
This would address TEIID-851.
Second, and more far reaching, I would like to get rid of the I(Something) interfaces
fronting the connector language impl objects. The are several reasons for this:
-inconsistent I prefix usage
-it no longer forces the protection of the impl objects, since they have been moved into
the connector api as well (this change simplifies the dependencies between a connector and
the engine).
-it's an oppurtunity to use more standard names for the sql constructs.
-moves another step closer to consolidating the engine and connector language
implementations.
To that last point here is a proposal for name changes:
IAggregate - AggregateFunction
IBaseInCriteria - BaseInCondition
IBatchedUpdates - BatchedUpdates
ICommand - Command (Statement may be a better alternative)
ICompareCriteria - Comparison
ICompoundCriteria - AndOr
ICriteria - Condition
IDelete - Delete
IElement - ColumnReference
IExistsCriteria - Exists
IExpression - Expression
IFrom - From
IFromItem - TableReference
IFunction - Function
IGroup - NamedTable
IGroupBy - GroupBy
IInCriteria - In
IInlineView - DerivedTable
IInsert - Insert
IInsertExpressionValueSource - ExpressionValueSource
IInsertValueSource - InsertValueSource
IIsNullCriteria - IsNull
IJoin - Join (JoinedTable may also be good, since it is consistent with the other
TableReference classes)
ILanguageObject - LanguageObject
ILikeCriteria - Like
ILimit - Limit
ILiteral - Literal
ILogicalCriteria - removed, can already be inferred if a condition is not a Predicate
IMetadataReference - MetadataReference
INotCriteria - Not
IOrderBy - OrderBy
IOrderByItem - SortSpecification
IParameter - Argument
IPredicateCriteria - Predicate
IProcedure - Call *I would also like to update the parser and string form of exec to use
the call keyword, since it is standard
IQuery - QuerySpecification
IQueryCommand - QueryExpression
IScalarSubquery - ScalarSubquery
ISearchedCaseExpression - SearchedCase
ISelect - Select
ISelectSymbol - DerivedColumn
ISetClause - SetClause
ISetClauseList - SetClauseList
ISetQuery - SetQuery
ISubqueryCompareCriteria - SubqueryComparison
ISubqueryContainer - SubqueryContainer
ISubqueryInCriteria - SubqueryIn
IUpdate - Update
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira