Uploaded image for project: 'Teiid'
  1. Teiid
  2. TEIID-3623

HBase translator - boolean and biginteger values are not translated correctly

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Done
    • 8.7.1.6_2
    • 8.7.1.6_2, 8.12
    • None
    • None

    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

      Attachments

        Activity

          People

            rhn-engineering-shawkins Steven Hawkins
            jdurani Juraj Duráni (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: