diff --git a/src/backend/CassandraBackend.cpp b/src/backend/CassandraBackend.cpp index fa12f82e..3f76abf4 100644 --- a/src/backend/CassandraBackend.cpp +++ b/src/backend/CassandraBackend.cpp @@ -1314,7 +1314,9 @@ CassandraBackend::open(bool readOnly) << " taxon bigint," << " token_id blob," << " PRIMARY KEY (issuer, taxon, token_id)" - << " )"; + << " )" + << " WITH CLUSTERING ORDER BY (taxon ASC, token_id ASC)" + << " AND default_time_to_live = " << ttl; if (!executeSimpleStatement(query.str())) continue; diff --git a/src/backend/README.md b/src/backend/README.md index 6be3d486..fb227549 100644 --- a/src/backend/README.md +++ b/src/backend/README.md @@ -172,7 +172,7 @@ CREATE TABLE clio.issuer_nf_tokens_v2 ( taxon bigint, # The NFT's token taxon token_id blob, # The NFT's ID PRIMARY KEY (issuer, taxon, token_id) -) +) WITH CLUSTERING ORDER BY (taxon ASC, token_id ASC) ... ``` This table indexes token IDs against their issuer and issuer/taxon combination. This is useful for determining all the NFTs a specific account diff --git a/src/backend/cassandra/Schema.h b/src/backend/cassandra/Schema.h index 23322110..5a232695 100644 --- a/src/backend/cassandra/Schema.h +++ b/src/backend/cassandra/Schema.h @@ -221,8 +221,11 @@ public: token_id blob, PRIMARY KEY (issuer, taxon, token_id) ) + WITH CLUSTERING ORDER BY (taxon ASC, token_id ASC) + AND default_time_to_live = {} )", - qualifiedTableName(settingsProvider_.get(), "issuer_nf_tokens_v2"))); + qualifiedTableName(settingsProvider_.get(), "issuer_nf_tokens_v2"), + settingsProvider_.get().getTtl())); statements.emplace_back(fmt::format( R"(