[JBoss JIRA] (TEIID-3623) HBase translator - boolean and biginteger values are not translated correctly
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/TEIID-3623?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration updated TEIID-3623:
-------------------------------------------
Bugzilla Update: Perform
Bugzilla References: https://bugzilla.redhat.com/show_bug.cgi?id=1252385
> HBase translator - boolean and biginteger values are not translated correctly
> -----------------------------------------------------------------------------
>
> Key: TEIID-3623
> URL: https://issues.jboss.org/browse/TEIID-3623
> 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: Steven Hawkins
> Attachments: insert_biginteger.log, inser_boolean.log
>
>
> *1. Boolean values:* The Teiid translates the value true/false as 1/0, but HBase does not support integer representation of boolean values [1].
> *2. BigInteger values ( <= -2):* Teiid's bigInteger data type is wider than HBase's bigint (as wide as long) type, so it make sense to define column in HBase as e.g. _decimal(30,0)_ and map it to Teiid's biginteger type.
> From Teiid's point of view: There is no problem if inserted value is greater than or equal to -1. But if the value is less than -1, then a ClassCastException is thrown [2]. Phoenix driver require something like "UPSERT INTO smalla (intkey, bigintegervalue) VALUES (1, -10 *.0*)"
> [1]
> *Query:* insert into hbase.smalla (intkey, booleanvalue) values (55, true)
> *Column definition:*
> - source: booleanvalue boolean
> - VDB: BooleanValue boolean OPTIONS (nameinsource 'booleanvalue', NATIVE_TYPE 'boolean')
> *Stack trace:*
> insert_boolean.log
> [2]
> *Query:* insert into hbase.smalla (intkey, bigintegervalue) values (55, -10)
> *Column definition:*
> - source: bigintegervalue decimal(20,0)
> - VDB: BigIntegerValue biginteger OPTIONS (nameinsource 'bigintegervalue', NATIVE_TYPE 'decimal')
> *Stack trace:*
> insert_biginteger.log
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months
[JBoss JIRA] (TEIID-3623) HBase translator - boolean and biginteger values are not translated correctly
by Juraj Duráni (JIRA)
[ https://issues.jboss.org/browse/TEIID-3623?page=com.atlassian.jira.plugin... ]
Juraj Duráni updated TEIID-3623:
--------------------------------
Attachment: inser_boolean.log
insert_biginteger.log
logs
> HBase translator - boolean and biginteger values are not translated correctly
> -----------------------------------------------------------------------------
>
> Key: TEIID-3623
> URL: https://issues.jboss.org/browse/TEIID-3623
> 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: Steven Hawkins
> Attachments: insert_biginteger.log, inser_boolean.log
>
>
> *1. Boolean values:* The Teiid translates the value true/false as 1/0, but HBase does not support integer representation of boolean values [1].
> *2. BigInteger values ( <= -2):* Teiid's bigInteger data type is wider than HBase's bigint (as wide as long) type, so it make sense to define column in HBase as e.g. _decimal(30,0)_ and map it to Teiid's biginteger type.
> From Teiid's point of view: There is no problem if inserted value is greater than or equal to -1. But if the value is less than -1, then a ClassCastException is thrown [2]. Phoenix driver require something like "UPSERT INTO smalla (intkey, bigintegervalue) VALUES (1, -10 *.0*)"
> [1]
> *Query:* insert into hbase.smalla (intkey, booleanvalue) values (55, true)
> *Column definition:*
> - source: booleanvalue boolean
> - VDB: BooleanValue boolean OPTIONS (nameinsource 'booleanvalue', NATIVE_TYPE 'boolean')
> *Stack trace:*
> insert_boolean.log
> [2]
> *Query:* insert into hbase.smalla (intkey, bigintegervalue) values (55, -10)
> *Column definition:*
> - source: bigintegervalue decimal(20,0)
> - VDB: BigIntegerValue biginteger OPTIONS (nameinsource 'bigintegervalue', NATIVE_TYPE 'decimal')
> *Stack trace:*
> insert_biginteger.log
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months
[JBoss JIRA] (TEIID-3623) HBase translator - boolean and biginteger values are not translated correctly
by Juraj Duráni (JIRA)
[ https://issues.jboss.org/browse/TEIID-3623?page=com.atlassian.jira.plugin... ]
Juraj Duráni updated TEIID-3623:
--------------------------------
Description:
*1. Boolean values:* The Teiid translates the value true/false as 1/0, but HBase does not support integer representation of boolean values [1].
*2. BigInteger values ( <= -2):* Teiid's bigInteger data type is wider than HBase's bigint (as wide as long) type, so it make sense to define column in HBase as e.g. _decimal(30,0)_ and map it to Teiid's biginteger type.
>From Teiid's point of view: There is no problem if inserted value is greater than or equal to -1. But if the value is less than -1, then a ClassCastException is thrown [2]. Phoenix driver require something like "UPSERT INTO smalla (intkey, bigintegervalue) VALUES (1, -10 *.0*)"
[1]
*Query:* insert into hbase.smalla (intkey, booleanvalue) values (55, true)
*Column definition:*
- source: booleanvalue boolean
- VDB: BooleanValue boolean OPTIONS (nameinsource 'booleanvalue', NATIVE_TYPE 'boolean')
*Stack trace:*
insert_boolean.log
[2]
*Query:* insert into hbase.smalla (intkey, bigintegervalue) values (55, -10)
*Column definition:*
- source: bigintegervalue decimal(20,0)
- VDB: BigIntegerValue biginteger OPTIONS (nameinsource 'bigintegervalue', NATIVE_TYPE 'decimal')
*Stack trace:*
insert_biginteger.log
was:
*1. Boolean values:* The Teiid translates the value true/false as 1/0, but HBase does not support integer representation of boolean values [1].
*2. BigInteger values ( <= -2):* Teiid's bigInteger data type is wider than HBase's bigint (as wide as long) type, so it make sense to define column in HBase as e.g. _decimal(30,0)_ and map it to Teiid's biginteger type.
>From Teiid's point of view: There is no problem if inserted value is greater than or equal to -1. But if the value is less than -1, then a ClassCastException is thrown [2]. Phoenix driver require something like "UPSERT INTO smalla (intkey, bigintegervalue) VALUES (1, -10 *.0*)"
[1]
*Query:* insert into hbase.smalla (intkey, booleanvalue) values (55, true)
*Column definition:*
- source: booleanvalue boolean
- VDB: BooleanValue boolean OPTIONS (nameinsource 'booleanvalue', NATIVE_TYPE 'boolean')
*Stack trace:*
insert_boolean.log
[2]
*Query:* insert into hbase.smalla (intkey, bigintegervalue) values (55, -10)
*Column definition:*
- source: bigintegervalue decimal(20,0)
- VDB: BigIntegerValue biginteger OPTIONS (nameinsource 'bigintegervalue', NATIVE_TYPE 'decimal')
*Stack trace:*
insert_biginteger.log
> HBase translator - boolean and biginteger values are not translated correctly
> -----------------------------------------------------------------------------
>
> Key: TEIID-3623
> URL: https://issues.jboss.org/browse/TEIID-3623
> 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: Steven Hawkins
>
> *1. Boolean values:* The Teiid translates the value true/false as 1/0, but HBase does not support integer representation of boolean values [1].
> *2. BigInteger values ( <= -2):* Teiid's bigInteger data type is wider than HBase's bigint (as wide as long) type, so it make sense to define column in HBase as e.g. _decimal(30,0)_ and map it to Teiid's biginteger type.
> From Teiid's point of view: There is no problem if inserted value is greater than or equal to -1. But if the value is less than -1, then a ClassCastException is thrown [2]. Phoenix driver require something like "UPSERT INTO smalla (intkey, bigintegervalue) VALUES (1, -10 *.0*)"
> [1]
> *Query:* insert into hbase.smalla (intkey, booleanvalue) values (55, true)
> *Column definition:*
> - source: booleanvalue boolean
> - VDB: BooleanValue boolean OPTIONS (nameinsource 'booleanvalue', NATIVE_TYPE 'boolean')
> *Stack trace:*
> insert_boolean.log
> [2]
> *Query:* insert into hbase.smalla (intkey, bigintegervalue) values (55, -10)
> *Column definition:*
> - source: bigintegervalue decimal(20,0)
> - VDB: BigIntegerValue biginteger OPTIONS (nameinsource 'bigintegervalue', NATIVE_TYPE 'decimal')
> *Stack trace:*
> insert_biginteger.log
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months
[JBoss JIRA] (TEIID-3623) HBase translator - boolean and biginteger values are not translated correctly
by Juraj Duráni (JIRA)
Juraj Duráni created TEIID-3623:
-----------------------------------
Summary: HBase translator - boolean and biginteger values are not translated correctly
Key: TEIID-3623
URL: https://issues.jboss.org/browse/TEIID-3623
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: Steven Hawkins
*1. Boolean values:* The Teiid translates the value true/false as 1/0, but HBase does not support integer representation of boolean values [1].
*2. BigInteger values ( <= -2):* Teiid's bigInteger data type is wider than HBase's bigint (as wide as long) type, so it make sense to define column in HBase as e.g. _decimal(30,0)_ and map it to Teiid's biginteger type.
>From Teiid's point of view: There is no problem if inserted value is greater than or equal to -1. But if the value is less than -1, then a ClassCastException is thrown [2]. Phoenix driver require something like "UPSERT INTO smalla (intkey, bigintegervalue) VALUES (1, -10*.0*)"
[1]
*Query:* insert into hbase.smalla (intkey, booleanvalue) values (55, true)
*Column definition:*
- source: booleanvalue boolean
- VDB: BooleanValue boolean OPTIONS (nameinsource 'booleanvalue', NATIVE_TYPE 'boolean')
*Stack trace:*
insert_boolean.log
[2]
*Query:* insert into hbase.smalla (intkey, bigintegervalue) values (55, -10)
*Column definition:*
- source: bigintegervalue decimal(20,0)
- VDB: BigIntegerValue biginteger OPTIONS (nameinsource 'bigintegervalue', NATIVE_TYPE 'decimal')
*Stack trace:*
insert_biginteger.log
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months
[JBoss JIRA] (TEIID-3623) HBase translator - boolean and biginteger values are not translated correctly
by Juraj Duráni (JIRA)
[ https://issues.jboss.org/browse/TEIID-3623?page=com.atlassian.jira.plugin... ]
Juraj Duráni updated TEIID-3623:
--------------------------------
Description:
*1. Boolean values:* The Teiid translates the value true/false as 1/0, but HBase does not support integer representation of boolean values [1].
*2. BigInteger values ( <= -2):* Teiid's bigInteger data type is wider than HBase's bigint (as wide as long) type, so it make sense to define column in HBase as e.g. _decimal(30,0)_ and map it to Teiid's biginteger type.
>From Teiid's point of view: There is no problem if inserted value is greater than or equal to -1. But if the value is less than -1, then a ClassCastException is thrown [2]. Phoenix driver require something like "UPSERT INTO smalla (intkey, bigintegervalue) VALUES (1, -10 *.0*)"
[1]
*Query:* insert into hbase.smalla (intkey, booleanvalue) values (55, true)
*Column definition:*
- source: booleanvalue boolean
- VDB: BooleanValue boolean OPTIONS (nameinsource 'booleanvalue', NATIVE_TYPE 'boolean')
*Stack trace:*
insert_boolean.log
[2]
*Query:* insert into hbase.smalla (intkey, bigintegervalue) values (55, -10)
*Column definition:*
- source: bigintegervalue decimal(20,0)
- VDB: BigIntegerValue biginteger OPTIONS (nameinsource 'bigintegervalue', NATIVE_TYPE 'decimal')
*Stack trace:*
insert_biginteger.log
was:
*1. Boolean values:* The Teiid translates the value true/false as 1/0, but HBase does not support integer representation of boolean values [1].
*2. BigInteger values ( <= -2):* Teiid's bigInteger data type is wider than HBase's bigint (as wide as long) type, so it make sense to define column in HBase as e.g. _decimal(30,0)_ and map it to Teiid's biginteger type.
>From Teiid's point of view: There is no problem if inserted value is greater than or equal to -1. But if the value is less than -1, then a ClassCastException is thrown [2]. Phoenix driver require something like "UPSERT INTO smalla (intkey, bigintegervalue) VALUES (1, -10*.0*)"
[1]
*Query:* insert into hbase.smalla (intkey, booleanvalue) values (55, true)
*Column definition:*
- source: booleanvalue boolean
- VDB: BooleanValue boolean OPTIONS (nameinsource 'booleanvalue', NATIVE_TYPE 'boolean')
*Stack trace:*
insert_boolean.log
[2]
*Query:* insert into hbase.smalla (intkey, bigintegervalue) values (55, -10)
*Column definition:*
- source: bigintegervalue decimal(20,0)
- VDB: BigIntegerValue biginteger OPTIONS (nameinsource 'bigintegervalue', NATIVE_TYPE 'decimal')
*Stack trace:*
insert_biginteger.log
> HBase translator - boolean and biginteger values are not translated correctly
> -----------------------------------------------------------------------------
>
> Key: TEIID-3623
> URL: https://issues.jboss.org/browse/TEIID-3623
> 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: Steven Hawkins
>
> *1. Boolean values:* The Teiid translates the value true/false as 1/0, but HBase does not support integer representation of boolean values [1].
> *2. BigInteger values ( <= -2):* Teiid's bigInteger data type is wider than HBase's bigint (as wide as long) type, so it make sense to define column in HBase as e.g. _decimal(30,0)_ and map it to Teiid's biginteger type.
> From Teiid's point of view: There is no problem if inserted value is greater than or equal to -1. But if the value is less than -1, then a ClassCastException is thrown [2]. Phoenix driver require something like "UPSERT INTO smalla (intkey, bigintegervalue) VALUES (1, -10 *.0*)"
> [1]
> *Query:* insert into hbase.smalla (intkey, booleanvalue) values (55, true)
> *Column definition:*
> - source: booleanvalue boolean
> - VDB: BooleanValue boolean OPTIONS (nameinsource 'booleanvalue', NATIVE_TYPE 'boolean')
> *Stack trace:*
> insert_boolean.log
> [2]
> *Query:* insert into hbase.smalla (intkey, bigintegervalue) values (55, -10)
> *Column definition:*
> - source: bigintegervalue decimal(20,0)
> - VDB: BigIntegerValue biginteger OPTIONS (nameinsource 'bigintegervalue', NATIVE_TYPE 'decimal')
> *Stack trace:*
> insert_biginteger.log
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months
[JBoss JIRA] (TEIID-3622) HBase translator - INSERT could rewrite the data
by Juraj Duráni (JIRA)
Juraj Duráni created TEIID-3622:
-----------------------------------
Summary: HBase translator - INSERT could rewrite the data
Key: TEIID-3622
URL: https://issues.jboss.org/browse/TEIID-3622
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: Steven Hawkins
The HBase translator translates INSERT as UPSERT, which is an "alias" for both INSERT and UPDATE statement. It means, if user issues same INSERT statement twice, no exception is thrown [1]. I expect that [2] could rewrite the data.
*Additional note*: I was not able to verify my assumption because of https://issues.jboss.org/browse/TEIID-3619
[1]
INSERT INTO smalla (intkey) VALUES (55) is translated as UPSERT INTO smalla (intkey) VALUES (55)
http://phoenix.apache.org/language/index.html#upsert_values
[2]
INSERT INTO smalla (intkey, name) VALUES (1, 'name1')
INSERT INTO smalla (intkey, name) VALUES (1, 'name2')
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months
[JBoss JIRA] (TEIID-3621) HBase translator - UPDATE statement requires primary key
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/TEIID-3621?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration updated TEIID-3621:
-------------------------------------------
Bugzilla Update: Perform
Bugzilla References: https://bugzilla.redhat.com/show_bug.cgi?id=1252333
> 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: Steven Hawkins
>
> 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/sr...
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 7 months