Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Cassandra storage type. #76

Open
framirez07 opened this issue Dec 9, 2020 · 1 comment
Open

Add support for Cassandra storage type. #76

framirez07 opened this issue Dec 9, 2020 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@framirez07
Copy link
Contributor

Support for the new storage type Cassandra needs to be added in the spa codegen. The following guidelines should be considered:

  • Do not add support for sorting, both in the UI (React components) and in the graphql api requests.
  • Enforce cursor-based-pagination for Cassandra models. Do not add support for limit-offset-pagination.
  • Pagination functionality should include:
    • Forward pagination.
    • Jump to first page.
    • To be confirmed: Refresh current page using includeCursor option.
  • Pagination functionality should not include:
    • Backward pagination.
    • Jump to last page.
  • Search functionality should be limited to the following operators:
enum CassandraOperator{
    eq
    lt
    gt
    lte
    gte
    ne
    in
    contains   # CONTAINS
    ctk    # CONTAINS KEY
    tlt    # Token < Token
    tgt    # Token > Token
    and
}

Related issues

  • Translate the SQL data model API to Cassandra (CQL) #34

Related branches

@framirez07 framirez07 self-assigned this Dec 9, 2020
@coeit coeit assigned coeit and unassigned framirez07 Jan 11, 2021
@coeit coeit added the enhancement New feature or request label Jan 13, 2021
@coeit
Copy link
Member

coeit commented Jan 18, 2021

Comments from @asishallab :

  1. What to do with the not associated list in the SPA in case of Cassandra stored models?
    Note, that Cassandra does not support the not operator required to populate this list.

Solution:
Display all records and warn using our Snackbar about this restriction, e.g. with "This data-model is stored using Cassandra. Technical restrictions will make associated records show up in the 'not associated' list". (Remember to I18n this message, please.)

  1. What to do with search boxes for Cassandra stored data models?
    Note, that Cassandra does not support the like or or operators. We thus cannot combine a query over several fields and cannot query for sub-string matches.

Solution:
Warn the user using the Snackbar that "This data-model is stored using Cassandra. Due to technical restrictions searches in the identifier field (see key icon) using the equality operator are supported." (Remember to I18n this message, please). Implement the search using the equality operator on the identifier field.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants