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

sql,*: remove code related to interleaved tables in 22.1 #69150

Closed
ajwerner opened this issue Aug 19, 2021 · 0 comments
Closed

sql,*: remove code related to interleaved tables in 22.1 #69150

ajwerner opened this issue Aug 19, 2021 · 0 comments
Labels
C-enhancement Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)

Comments

@ajwerner
Copy link
Contributor

Is your feature request related to a problem? Please describe.
With #68074 closing #52009, we know that once 21.2 is active, there are no interleaved tables anywhere in the cluster. That means that in 22.1 we can completely remove the code related to interleaves. This issue exists to track that removal.

@ajwerner ajwerner added the C-enhancement Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception) label Aug 19, 2021
craig bot pushed a commit that referenced this issue Sep 15, 2021
70232: logictest: fix a field comment r=irfansharif a=irfansharif

Accidentally left unfinished in #69658.

Release note: None

70240: sql: remove a couple of tests for dropping interleaved indexes r=yuzefovich a=yuzefovich

Addresses: #69150.

Release note: None

Co-authored-by: irfan sharif <irfanmahmoudsharif@gmail.com>
Co-authored-by: Yahor Yuzefovich <yahor@cockroachlabs.com>
craig bot pushed a commit that referenced this issue Oct 25, 2021
70224: server: share the table cache among stores r=bananabrick a=bananabrick

Possible benefits of sharing the table cache are outlined
here: cockroachdb/pebble#1178.

This PR creates a table cache which can be shared among many
stores.

Release note: None

70239: sql: remove the interleaved logic from fetchers r=yuzefovich a=yuzefovich

**row: simplify fetcher to only handle a single table**

Previously, `row.Fetcher` could handle multiple tables at the same time.
This was needed to support the interleaved tables efficiently, but since
the interleaved tables are no more, we can simplify the fetcher now.

There are more things that can be removed from the fetcher about
handling of the interleaved tables, but I chose to defer them to a later
commit. This commit's main focus is simplifying the fetcher to work
under the assumption that it will be fetching only from a single table.

Addresses: #69150

Release note: None

**colbuilder: remove the check for index join on the interleaved index**

Interleaved indexes are no more.

Release note: None

**sql: remove the interleaved logic from fetchers**

This commit removes the remaining bits of handling the interleaved
tables from both row fetcher and cFetcher. It also removes a test that
verifies that we can read from the interleaved table restored from
a backup.

Release note: None

71642: misc: correct spelling mistakes r=irfansharif a=jsoref

This goal of this PR is to be limited to just code comments as suggested in:
#71464 (comment)

71653: tree: fix ambiguity with enum overloads r=rafiss a=otan

Resolves #71446 

Release note (sql change): Previously, certain enum builtins or
operators required an explicit enum cast. This has been reduced in some
cases.

71680: cli: add \statement-diag SQL shell command r=RaduBerinde a=RaduBerinde

This PR adds a `\statement-diag` command to the SQL shell used to list and download bundles, and reenables `EXPLAIN ANALYZE (DEBUG)` for tenants.

#### cli: extract statement diagnostics code

This commit extracts the part of the statment-diag code that interacts
with the system tables and moves it to sqlclientconn.

Release note: None

#### cli: improve statement-diag download

Minor improvement to `statement-diag download`: make the filename
optional, for consistency with the SQL shell equivalent.

Release note: None

#### cli: simplify invalid syntax paths in SQL shell

This change simplifies most invalid syntax paths while improving the
error message in a few cases.

Release note: None

#### cli: add \statement-diag SQL shell command

This commit adds a `\statement-diag` command to the SQL shell which
can be used to list and download statement bundles directly from the
shell.

This command should be useful for multitenant (where the possibilities
of downloading the bundle are more limited), as well as running demo
with a `make buildshort` binary.

The output of `EXPLAIN ANALYZE (DEBUG)` includes the exact syntax.

Informs #70931.

Release note (cli change): the SQL shell now supports a
`\statement-diag` command for listing and downloading statement
diagnostics bundles.

#### sql: enable EXPLAIN ANALYZE (DEBUG) for tenants

EXPLAIN ANALYZE (DEBUG) was disabled for tenants because the returned URL
was unusable.

We can now download bundles through the SQL shell, so we can reenable
EXPLAIN ANALYZE (DEBUG). For non-system tenants, we hide the URL and
only show the SQL shell and cli options.

As part of this change, we also add tenant support to the interactive
cli test infrastructure and we implement the `--background` and
`--pid-file` flags for `mt start-sql`.

Fixes #70931.

Release note (sql change): EXPLAIN ANALYZE (DEBUG) can now be used by
tenants.

Co-authored-by: Arjun Nair <nair@cockroachlabs.com>
Co-authored-by: Yahor Yuzefovich <yahor@cockroachlabs.com>
Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
Co-authored-by: Oliver Tan <otan@cockroachlabs.com>
Co-authored-by: Radu Berinde <radu@cockroachlabs.com>
@postamar postamar closed this as completed Nov 4, 2021
craig bot pushed a commit that referenced this issue Nov 9, 2021
72497: sql: remove leftovers of interleaved tables r=yuzefovich a=yuzefovich

This commit removes most of the remaining mentions of the interleaved
tables in the code base.

Addresses: #69150.
Fixes: #42947.

Release note: None

Co-authored-by: Yahor Yuzefovich <yahor@cockroachlabs.com>
craig bot pushed a commit that referenced this issue Nov 9, 2021
72497: sql: remove leftovers of interleaved tables r=yuzefovich a=yuzefovich

This commit removes most of the remaining mentions of the interleaved
tables in the code base.

Addresses: #69150.
Fixes: #42947.

Release note: None

72542: colexecargs: unify creation of memory monitoring components r=yuzefovich a=yuzefovich

**sql: fix benchmark of TableReaders**

We recently merged a change which made the `txnKVFetcher` take ownership
of the passed-in slice of spans. This broke a couple of benchmarks where
the spec would be invalid after the first iteration. This is now fixed.

Release note: None

**colexecargs: unify creation of memory monitoring components**

This commit introduces a utility struct that keeps track of all memory
monitoring components which allows us to remove some duplicated code and
clean up the tests a bit.

Fixes: #71358.

Release note: None

Co-authored-by: Yahor Yuzefovich <yahor@cockroachlabs.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-enhancement Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)
Projects
None yet
Development

No branches or pull requests

2 participants