[teiid-issues] [JBoss JIRA] (TEIID-3621) HBase translator - UPDATE statement requires primary key

Kylin Soong (JIRA) issues at jboss.org
Sun Aug 16 23:09:26 EDT 2015


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

Kylin Soong commented on TEIID-3621:
------------------------------------

> or only add the pk if it's missing and it's defined on the table
Do you mean only add document that define a pk if want execute the UPDATE, right? After some investigation, I think documents is enough for this issue.

> HBase translator - UPDATE statement requires primary key
> --------------------------------------------------------
>
>                 Key: TEIID-3621
>                 URL: https://issues.jboss.org/browse/TEIID-3621
>             Project: Teiid
>          Issue Type: Bug
>    Affects Versions: 8.7.1.6_2
>         Environment: Hbase: 1.1.1
> Phoenix: 4.5.0-HBase-1.1
>            Reporter: Juraj Duráni
>            Assignee: Kylin Soong
>
> The HBase translator requires table to have a primary key defined. Is the PK really needed? If the table has no PK defined, then all columns are PK. E.g. query *UPDATE hbase.SmallA SET StringNum = '555' WHERE hbase.SmallA.StringNum IS NULL* is translated as *UPSERT INTO smalla (stringnum, intkey) SELECT '555', smalla.intkey FROM smalla WHERE smalla.stringnum IS NULL* (intkey is PK). Teiid can simply add all columns (except those defined in 'SET'). 
> Yes, I know that HBase requires the PK to be defined, but what happen if a user decide to change PK in VDB [1]? It could be a problem whether PK is in VDB defined or not. 
> I suggest to add a hbase-translator-specific execution property which define PK in the source table and remove AssertionError [2].
> [1]
> *HBase table:* create table mytable(id integer primary key, nickname varchar(1))
> *Teiid table:* create table mytable(id integer, username varchar(1) primary key)
> Both, id and username, are valid PK (artificial/natural).
> [2]
> https://github.com/teiid/teiid/blob/master/connectors/translator-hbase/src/main/java/org/teiid/translator/hbase/HBaseSQLConversionVisitor.java#L72



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)



More information about the teiid-issues mailing list