将 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。
我想将 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。