[teiid-issues] [JBoss JIRA] (TEIID-3331) Problem with dynamic vdb column metadata - for salesforce source w/import property

Steven Hawkins (JIRA) issues at jboss.org
Wed Feb 11 17:56:49 EST 2015


    [ https://issues.jboss.org/browse/TEIID-3331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13039665#comment-13039665 ] 

Steven Hawkins commented on TEIID-3331:
---------------------------------------

I don't see the same thing as you with master.  What sf api level are you using?  I see AccountFeed without the audit option:

{code}
CREATE FOREIGN TABLE AccountFeed (
	Id string(18) NOT NULL AUTO_INCREMENT OPTIONS (NAMEINSOURCE 'Id', NATIVE_TYPE 'id', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'true'),
	ParentId string(18) OPTIONS (NAMEINSOURCE 'ParentId', NATIVE_TYPE 'reference', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
	Type string(40) OPTIONS (NAMEINSOURCE 'Type', NATIVE_TYPE 'restrictedpicklist', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false', "teiid_sf:Picklist Values" 'TrackedChange,UserStatus,TextPost,AdvancedTextPost,LinkPost,ContentPost,PollPost,RypplePost,ProfileSkillPost,DashboardComponentSnapshot,ApprovalPost,CaseCommentPost,ReplyPost,EmailMessageEvent,CallLogPost,ChangeStatusPost,AttachArticleEvent,MilestoneEvent,ActivityEvent,ChatTranscriptPost,CollaborationGroupCreated,CollaborationGroupUnarchived,SocialPost,QuestionPost,FacebookPost,BasicTemplateFeedItem,CreateRecordEvent,CanvasPost,AnnouncementPost'),
	IsDeleted boolean OPTIONS (NAMEINSOURCE 'IsDeleted', NATIVE_TYPE '_boolean', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'true'),
	CommentCount integer OPTIONS (NAMEINSOURCE 'CommentCount', NATIVE_TYPE '_int', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
	LikeCount integer OPTIONS (NAMEINSOURCE 'LikeCount', NATIVE_TYPE '_int', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
	Title string(255) OPTIONS (NAMEINSOURCE 'Title', NATIVE_TYPE 'string', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
	Body string(5000) OPTIONS (NAMEINSOURCE 'Body', SEARCHABLE 'Unsearchable', NATIVE_TYPE 'textarea', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
	LinkUrl string(1000) OPTIONS (NAMEINSOURCE 'LinkUrl', NATIVE_TYPE 'url', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
	RelatedRecordId string(18) OPTIONS (NAMEINSOURCE 'RelatedRecordId', NATIVE_TYPE 'reference', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
	ContentData blob OPTIONS (NAMEINSOURCE 'ContentData', NATIVE_TYPE 'base64', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
	ContentFileName string(255) OPTIONS (NAMEINSOURCE 'ContentFileName', NATIVE_TYPE 'string', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
	ContentDescription string(1000) OPTIONS (NAMEINSOURCE 'ContentDescription', SEARCHABLE 'Unsearchable', NATIVE_TYPE 'textarea', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
	ContentType string(120) OPTIONS (NAMEINSOURCE 'ContentType', NATIVE_TYPE 'string', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
	ContentSize integer OPTIONS (NAMEINSOURCE 'ContentSize', NATIVE_TYPE '_int', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
	InsertedById string(18) OPTIONS (NAMEINSOURCE 'InsertedById', NATIVE_TYPE 'reference', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
	CONSTRAINT Id_PK PRIMARY KEY(Id),
	CONSTRAINT FK_Account_ParentId FOREIGN KEY(ParentId) REFERENCES Account (Id) OPTIONS (NAMEINSOURCE 'Feeds')
) OPTIONS (NAMEINSOURCE 'AccountFeed', "teiid_sf:Custom" 'false', "teiid_sf:Supports Create" 'false', "teiid_sf:Supports Delete" 'true', "teiid_sf:Supports Merge" 'false', "teiid_sf:Supports Query" 'true', "teiid_sf:Supports Replicate" 'true', "teiid_sf:Supports Retrieve" 'true', "teiid_sf:Supports Search" 'false');
{code}

AccountFeed with the audit option:

{code}
CREATE FOREIGN TABLE AccountFeed (
	Id string(18) NOT NULL AUTO_INCREMENT OPTIONS (NAMEINSOURCE 'Id', NATIVE_TYPE 'id', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'true'),
	ParentId string(18) OPTIONS (NAMEINSOURCE 'ParentId', NATIVE_TYPE 'reference', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
	Type string(40) OPTIONS (NAMEINSOURCE 'Type', NATIVE_TYPE 'restrictedpicklist', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false', "teiid_sf:Picklist Values" 'TrackedChange,UserStatus,TextPost,AdvancedTextPost,LinkPost,ContentPost,PollPost,RypplePost,ProfileSkillPost,DashboardComponentSnapshot,ApprovalPost,CaseCommentPost,ReplyPost,EmailMessageEvent,CallLogPost,ChangeStatusPost,AttachArticleEvent,MilestoneEvent,ActivityEvent,ChatTranscriptPost,CollaborationGroupCreated,CollaborationGroupUnarchived,SocialPost,QuestionPost,FacebookPost,BasicTemplateFeedItem,CreateRecordEvent,CanvasPost,AnnouncementPost'),
	CreatedById string(18) OPTIONS (NAMEINSOURCE 'CreatedById', NATIVE_TYPE 'reference', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'true'),
	CreatedDate timestamp OPTIONS (NAMEINSOURCE 'CreatedDate', NATIVE_TYPE 'datetime', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'true'),
	IsDeleted boolean OPTIONS (NAMEINSOURCE 'IsDeleted', NATIVE_TYPE '_boolean', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'true'),
	LastModifiedDate timestamp OPTIONS (NAMEINSOURCE 'LastModifiedDate', NATIVE_TYPE 'datetime', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'true'),
	SystemModstamp timestamp OPTIONS (NAMEINSOURCE 'SystemModstamp', NATIVE_TYPE 'datetime', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'true'),
	CommentCount integer OPTIONS (NAMEINSOURCE 'CommentCount', NATIVE_TYPE '_int', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
	LikeCount integer OPTIONS (NAMEINSOURCE 'LikeCount', NATIVE_TYPE '_int', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
	Title string(255) OPTIONS (NAMEINSOURCE 'Title', NATIVE_TYPE 'string', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
	Body string(5000) OPTIONS (NAMEINSOURCE 'Body', SEARCHABLE 'Unsearchable', NATIVE_TYPE 'textarea', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
	LinkUrl string(1000) OPTIONS (NAMEINSOURCE 'LinkUrl', NATIVE_TYPE 'url', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
	RelatedRecordId string(18) OPTIONS (NAMEINSOURCE 'RelatedRecordId', NATIVE_TYPE 'reference', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
	ContentData blob OPTIONS (NAMEINSOURCE 'ContentData', NATIVE_TYPE 'base64', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
	ContentFileName string(255) OPTIONS (NAMEINSOURCE 'ContentFileName', NATIVE_TYPE 'string', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
	ContentDescription string(1000) OPTIONS (NAMEINSOURCE 'ContentDescription', SEARCHABLE 'Unsearchable', NATIVE_TYPE 'textarea', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
	ContentType string(120) OPTIONS (NAMEINSOURCE 'ContentType', NATIVE_TYPE 'string', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
	ContentSize integer OPTIONS (NAMEINSOURCE 'ContentSize', NATIVE_TYPE '_int', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
	InsertedById string(18) OPTIONS (NAMEINSOURCE 'InsertedById', NATIVE_TYPE 'reference', "teiid_sf:calculated" 'false', "teiid_sf:Custom" 'false', "teiid_sf:Defaulted on Create" 'false'),
	CONSTRAINT Id_PK PRIMARY KEY(Id),
	CONSTRAINT FK_Account_ParentId FOREIGN KEY(ParentId) REFERENCES Account (Id) OPTIONS (NAMEINSOURCE 'Feeds')
) OPTIONS (NAMEINSOURCE 'AccountFeed', "teiid_sf:Custom" 'false', "teiid_sf:Supports Create" 'false', "teiid_sf:Supports Delete" 'true', "teiid_sf:Supports Merge" 'false', "teiid_sf:Supports Query" 'true', "teiid_sf:Supports Replicate" 'true', "teiid_sf:Supports Retrieve" 'true', "teiid_sf:Supports Search" 'false');
{code}

And the DatabaseMetaData reflects that.  So you'll want to see if this is specific to older versions or if you are seeing something else.

On the display names, yes those do seem like they should be different.

 

> Problem with dynamic vdb column metadata - for salesforce source w/import property
> ----------------------------------------------------------------------------------
>
>                 Key: TEIID-3331
>                 URL: https://issues.jboss.org/browse/TEIID-3331
>             Project: Teiid
>          Issue Type: Bug
>          Components: Salesforce Connector
>    Affects Versions: 8.7
>            Reporter: Mark Drilling
>            Assignee: Ramesh Reddy
>         Attachments: SFVdb-vdb.xml
>
>
> There seems to be a problem with the column metadata for dynamic vdb with salesforce source.  Here is my scenario.
> 1) Deploy dynamic vdb w/SF source (attached sample).  The VDB sets the 'importer.ModelAuditFields' property to 'true'.
> 2) expose the vdb as a jdbc source, then connect to it.
> 3) get the column metadata for a table using
> connection.getMetaData().getColumns(null, null, fullTableName, null)
> When the vdb has 'importer.ModelAuditFields' = true, some of the columns are missing.  Here is a comparison for one of the SF tables
> AccountFeed, (importer.modelAuditFields=false)
> --------------
> Id, ParentId, Type, IsDeleted, CommentCount, LikeCount
> AccountFeed, (importer.modelAuditFields=true)
> --------------
> Id, ParentId, Type, CreatedById, CreatedDate, IsDeleted
> with modelAuditFields=true, the audit fields (CreatedById, CreatedDate) are added, but CommentCount and LikeCount are missing.  It seems to clip to the same number of cols as the modelAuditFields=false case.
> Second issue (minor)
> -----------------
> The display name for the property is slightly wrong.  
> line 75 of SalesForceExecutionFactory is 'Audit Model Fields' - it should be 'Model Audit Fields'.
> line 362 of SalesForceMetadataProcessor - same thing.  also suggest changing the description to something like 'Determines if the salesforce audit fields are modeled'



--
This message was sent by Atlassian JIRA
(v6.3.11#6341)


More information about the teiid-issues mailing list