cockroachdb / cockroachdb/activerecord-cockroachdb-adapter

Currently no support for indexes that utilize `STORING`

Open
#282 0 comments 1 reaction 0 assignees View on GitHub
Dominant language
Ruby
Stars
105
Forks
56
Avg merge
9h 5m
Merged PRs (30d)
3

Description

Currently it is only possible to specify the columns that need to be stored in an index using the regular [`add_index`](https://api.rubyonrails.org/v7.0.6/classes/ActiveRecord/ConnectionAdapters/SchemaStatements.html#method-i-add_index) method. We therefore resort to [`execute`](https://api.rubyonrails.org/v7.0.6/classes/ActiveRecord/ConnectionAdapters/DatabaseStatements.html#method-i-execute) statements like the following:

```
CREATE INDEX "users_lastname_asc"
ON users (last_name ASC)
STORING (first_name, company_id);
```

This will however add an index declaration to the `schema.rb` that reads as follow:

```
t.index ["last_name", "first_name", "company_id"], name: "users_lastname_asc"
```

This seems like an implementation detail leaking into the `schema.rb`: Obviously the stored columns are part of the index, but to the best of my understanding they are not contributing to the lookup data structures. So the `schema.rb` is now expressing something different than the actual migration.

tl;dr: Please ...
- [ ] Support `STORING` in `add_index`
- [ ] Support indices created using `STORING` in `schema.rb`

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.