Uploaded image for project: 'Apache Gora'
  1. Apache Gora
  2. GORA-138

gora-cassandra array type support

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.2
    • 0.2.1
    • gora-cassandra
    • None

    Description

      In order to support ARRAY in gora-cassandra, we have two scenarios as follows:
      1) super column family like the current MAP implementation; or
      2) single column to store all elements of ARRAY.
      Each senario has pros and cons, but I'd prefer 1) and I have implemented a prototype.

      1) super column family

        • pros
      • consistent with MAP
      • each column stores primitive type value.
        • cons
      • ARRAY cannot be contained in RECORD or MAP.

      2) single column

        • pros
      • complex type such as RECORD and MAP can have ARRAY value.
        • cons
      • large size of ARRAY requres a huge single column value.
      • difficult to implement for STRING and BYTES (variable length).

      Currently, super column is used for other complex types such as RECORD and MAP,
      so it is consistent to use super column for ARRAY.
      Considering this, the rule that complex type cannot have complex type value
      seems a reasonable limitation, and it makes rule simple.

      If we take 1) senario with super column family,
      I can provide a patch of my implementation.

      Attachments

        1. GORA-138.patch
          22 kB
          Kazuomi Kashii
        2. GORA-131-132-133-134.patch
          34 kB
          Kazuomi Kashii
        3. GORA-138-v2.patch
          30 kB
          Kazuomi Kashii
        4. GORA-138-v3.patch
          2 kB
          Kazuomi Kashii

        Issue Links

          Activity

            People

              Unassigned Unassigned
              kazk Kazuomi Kashii
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: