将 ScalarDB 与 DynamoDB 保留字用作列名时出现语法错误

Syntax error when using ScalarDB with DynamoDB reserved words as column names

我想将 ScalarDB 与在 DynamoDB 中创建的名为用​​户的模式一起使用。

例如,用户模式定义如下

{
  "sample_db.user": {
    "transaction": true,
    "partition-key": [
      "user_id".
    ],
    "clustering-key": [],
    "columns": {
      "user_id": "TEXT",
      "user_name": "TEXT",
      "status": "TEXT"
    },
    "ru": 5000,
    "compaction-strategy": "LCS",
    "secondary-index": [
      "status": "TEXT"
    ]
  }
}

我能够在 DynamoDB 中创建这个用户模式。 但是,当我使用 ScalarDB 功能对此模式执行 CRUD 处理时,DynamoDB returns 出现语法违规错误,因为 'status' 是保留字。

DynamoDB的保留字总结到这里。 https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/ReservedWords.html

在这种情况下,我想知道使用 ScalarDB 的工程师是否应该考虑到这个问题来定义他们的模式。 如果未来的改进能够在列名称中使用特定于数据库的保留字并仍然使用 ScalarDB 功能,我会很高兴。

此问题已在以下 PR 中修复:
https://github.com/scalar-labs/scalardb/pull/264

此修复将出现在下一个版本中:标量 DB 3.2.0、3.1.1 和 3.0.2。