Skip to content

Lift restriction that multi-col indices only allow = constraints #2872

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

Draft
wants to merge 682 commits into
base: mamcx/query-test-explain
Choose a base branch
from

Conversation

mamcx
Copy link
Contributor

@mamcx mamcx commented Jun 16, 2025

Description of Changes

Closes #1317

We had to disable this in #1316 but we should lift the restriction eventually for better query performance.

API and ABI breaking changes

Expected complexity level and risk

2

We optimize up to 3 columns in an index, and:

  • When all the comparisons are!= is always a full table scan
  • Multi-column indexes are only used if the query has a prefix match (ie all operators are =)
  • Else are converted to a single column index scan on the leftmost column and a filter on the rest

Testing

  • [*] Expand the testing to verify the plans to all the ops "=", ">", "<", ">=", "<=", !=
  • [*] Expand the testing to verify we return the same rows when executing the query with the above ops

rekhoff and others added 30 commits January 24, 2025 08:03
Merged the player and logged_out_player tables into only a player table, to match the way it is used in the tutorial documentation. Slight changes to how logged_out_player was being referenced was required due to the tables having different architecture.
## Description of Changes
Bump the version and include the DLLs from the corresponding NuGet
packages / SpacetimeDB version.

## API

 - [ ] This is an API breaking change to the SDK

I believe not?

## Requires SpacetimeDB PRs
I believe this requires tag `v1.0.0-rc3-hotfix3`

## Testsuite
*If you would like to run the your SDK changes in this PR against a
specific SpacetimeDB branch, specify that here. This can be a branch
name or a link to a PR.*

SpacetimeDB branch name: v1.0.0-rc3-hotfix3

## Testing
Only automated testing, since this itself is just a version bump.

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
* Unified Rust and C# documentation for Blackhol.io

Creates a single markdown file for each page, containing both Rust and C# server implementations, using the following format:
:::rust
# A rust section
:::
:::csharp
# A csharp section
:::
The visibility of each section should then be controlled by a dropdown on the website itself, leveraging tooling not contained in this branch.

* Updated language code blocks to clarify the block refers to the server's language

Prepped the combined documents to specifically tag for the server side code such that:
:::server-rust
A rust server implementation section.
:::
:::server-csharp
A csharp server implementation section.
:::
And in a future additionally update the documentation to differentiate the client portion too, like:
:::client-unity
A Unity client implementation section.
:::

* Update part-4.md

Added additional clarification that the linked repo contained content beyond the scope of the tutorial.

* Updated subscriptions to match new API format

* Small fixes to unity tutorial index page

* Added a note about column names to the C# tutorial

* Merged a section which was now abutting another section

* Clarified where you are supposed to put C# reducers

* Small, mostly whitespace fixes

---------

Co-authored-by: Tyler Cloutier <cloutiertyler@aol.com>
## Description of Changes
Remove the `-hotfix*` part of the version in our trunk branch.

It was a (my) mistake to merge a `-hotfix*` version change. Hotfixes
are, by definition, cherry-picked changes that are going to be released
directly to users without merging.

The consequence of merging this change was that the `SDK Tests` CI job
started failing on SpacetimeDB PRs (e.g. see failures on
#2137), because it
checks out this repo, which then tried to use the `-hotifx3` version of
SpacetimeDB. But the `master` branch of SpacetimeDB is at `1.0.0-rc3`
(no hotfix), because the hotfix was correctly released from a branch
without merging in that repo.

Although this PR reverts the version change, we do still have a tag
`v1.0.0-rc3-hotfix3` that we can use to release the hotfix version (by
`git push -f origin v1.0.0-rc3-hotfix3:master`) if/when desired.

## API

 - [ ] This is an API breaking change to the SDK

No

## Requires SpacetimeDB PRs
Should work with `master`.

## Testsuite
*If you would like to run the your SDK changes in this PR against a
specific SpacetimeDB branch, specify that here. This can be a branch
name or a link to a PR.*

SpacetimeDB branch name: master

## Testing
I claim that the CI tests passing with `master` show that this is
correct. The original version change itself passed CI because it was
pointing at a non-`master` branch for testing. I claim it would have
failed if it were tested against SpacetimeDB `master`.

Generally, this might point to a bug in how we've done this CI: We
should probably only allow a PR to merge in this repo if it tests
successfully against SpacetimeDB `master`, even if we want to point it
at other branches to test in the meantime.

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
## Description of Changes
Revert DLLs, which I should have done in
clockworklabs/com.clockworklabs.spacetimedbsdk#223.

See that PR for background on why it was necessary.

## API

 - [ ] This is an API breaking change to the SDK

Kinda, but it's a revert.

## Requires SpacetimeDB PRs
*List any PRs here that are required for this SDK change to work*

## Testsuite
SpacetimeDB branch name: master

## Testing
I would have liked to say that the current CI is sufficient as I did in
the last PR, but now I no longer feel confident.. Currently the repo is
in a somewhat inconsistent state, though, so I think we should merge
this right now as it will not make it _less_ consistent.

I'm very open to suggestions about how to test this properly.

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
Missed updating the HandleConnect from `Subscribe("SELECT * FROM *"` to `SubscribeToAllTables()` in the updated code block on page 3.
* Updated the quickstart guide to use the new 1.0 API

* Completed quickstart rewrite

* Update docs/sdks/typescript/quickstart.md

Co-authored-by: Phoebe Goldman <phoebe@goldman-tribe.org>

* Update docs/sdks/typescript/quickstart.md

Co-authored-by: Phoebe Goldman <phoebe@goldman-tribe.org>

* Update docs/sdks/typescript/quickstart.md

Co-authored-by: Phoebe Goldman <phoebe@goldman-tribe.org>

* Update docs/sdks/typescript/quickstart.md

Co-authored-by: Phoebe Goldman <phoebe@goldman-tribe.org>

* Update docs/sdks/typescript/quickstart.md

Co-authored-by: Phoebe Goldman <phoebe@goldman-tribe.org>

* Clarification

* Update docs/sdks/typescript/quickstart.md

Co-authored-by: Phoebe Goldman <phoebe@goldman-tribe.org>

* Update docs/sdks/typescript/quickstart.md

Co-authored-by: Phoebe Goldman <phoebe@goldman-tribe.org>

* Wrong type of quotes

* Update docs/sdks/typescript/quickstart.md

Co-authored-by: Phoebe Goldman <phoebe@goldman-tribe.org>

* Update docs/sdks/typescript/quickstart.md

Co-authored-by: Phoebe Goldman <phoebe@goldman-tribe.org>

* Apply suggestions from code review

Co-authored-by: Phoebe Goldman <phoebe@goldman-tribe.org>
Co-authored-by: rekhoff <r.ekhoff@clockworklabs.io>

* Address review comments

---------

Co-authored-by: Phoebe Goldman <phoebe@goldman-tribe.org>
Co-authored-by: rekhoff <r.ekhoff@clockworklabs.io>
## Description of Changes
Corresponding change to
#2177. See that PR for
more details.

~~Note that this PR only bumps the versions, but does **not** update the
DLLs. This is because SpacetimeDB will likely have further changes, so
the DLLs will just need to be updated again (in principle, they should
be updated every time we push to SpacetimeDB `master`, which isn't
really feasible. For this reason, users should not use `staging` without
having their own copy of the SpacetimeDB repo as well).~~

## API

 - [ ] This is an API breaking change to the SDK

No breaking changes.

## Requires SpacetimeDB PRs
#2177

## Testsuite
SpacetimeDB branch name: master

## Testing
- [x] CI passes with that branch name
- [x] The branch name has been changed back to `master` after that PR
merges and CI still passes

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
## Description of Changes

Use SpacetimeDB commit hash in the cache key and skip
rebuild/reinstallation altogether if we got an exact hit.

This saves 6-8 minutes off CI time on reruns.

## API

 - [ ] This is an API breaking change to the SDK

*If the API is breaking, please state below what will break*

## Requires SpacetimeDB PRs
*List any PRs here that are required for this SDK change to work*

## Testsuite
*If you would like to run the your SDK changes in this PR against a
specific SpacetimeDB branch, specify that here. This can be a branch
name or a link to a PR.*

SpacetimeDB branch name: master

## Testing
*Write instructions for a test that you performed for this PR*

- [x] CI testing forth and back until it worked correctly.
## Description of Changes

This is the companion PR for
#2184, please see the
other PR for full description.

On the client side main changes are:

- Regenerate .NET and Unity test client bindings and test snapshot.
- Remove `IDatabaseRow` since V9 multi-tables splits data types from
actual table definitions, so those "table data types" are no longer
special. Just using `IStructuralReadWrite` in its place now.
- Add base index classes as mentioned in the other PR.
- As a sub-improvement, the non-unique index class actually does
indexing instead of iterating over the entire table like we did before.
- Remove internal-but-not-really `InternalInvokeValueDeleted` and
`InternalInvokeValueInserted` methods in favour of private events.

## API

 - [x] This is an API breaking change to the SDK

Removes some technically-visible but internal APIs.

## Requires SpacetimeDB PRs
#2184

## Testsuite
*If you would like to run the your SDK changes in this PR against a
specific SpacetimeDB branch, specify that here. This can be a branch
name or a link to a PR.*

SpacetimeDB branch name: ingvar/csharp-new-codegen

## Testing
*Write instructions for a test that you performed for this PR*

- [x] Manually tested Blackholio

---------

Co-authored-by: James Gilles <jameshgilles@gmail.com>
* Fix C# server build process & get rid of dead link in client manifest.json

* Fix unfinished paste

* Update for new c# codegen

* Update generated code and package jsons

* Revert server-rust dependency override
## Description of Changes

Unfortunately, none of our tests currently cover this, but while working
on the V9 upgrade, I noticed that this code still relies on `type(Row)`
as a unique table identifier.

That no longer holds with multi-tables as several tables can share the
same `Row` type. In that case, subscription updates would be grouped
incorrectly and always applied to the same first table that uses `Row`
for its data storage.

This PR fixes that by using the table handle itself as a key (compared
by reference).

If transaction updates are already grouped uniquely by table, it should
be possible to simplify this code much further, but I'm not sure if such
guarantee exists, so leaving that untouched.

## API

 - [ ] This is an API breaking change to the SDK

*If the API is breaking, please state below what will break*

## Requires SpacetimeDB PRs
*List any PRs here that are required for this SDK change to work*

## Testsuite
*If you would like to run the your SDK changes in this PR against a
specific SpacetimeDB branch, specify that here. This can be a branch
name or a link to a PR.*

SpacetimeDB branch name: master

## Testing
*Write instructions for a test that you performed for this PR*

- [x] I did `dotnet test`, but as mentioned in the description, this
requires adding tests for multi-table subscriptions, which I'm afraid I
won't have time to do, so have to leave to follow-up devs.

---------

Co-authored-by: james gilles <jameshgilles@gmail.com>
## Description of Changes

C# part of #1836
Needs to be rebased onto
clockworklabs/com.clockworklabs.spacetimedbsdk#220
once that is merged.

## API

 - [x] This is an API breaking change to the SDK

ScheduleAt is now constructed in slightly different ways.

## Requires SpacetimeDB PRs
*List any PRs here that are required for this SDK change to work*

## Testsuite
*If you would like to run the your SDK changes in this PR against a
specific SpacetimeDB branch, specify that here. This can be a branch
name or a link to a PR.*

SpacetimeDB branch name: phoebe/timestamp-special-type

## Testing
Will need an update to blackholio as well.
## Description of Changes
#2226

## API

 - [x] This is an API breaking change to the SDK

callbacks are better

## Requires SpacetimeDB PRs
#2226

## Testsuite

SpacetimeDB branch name: jgilles/csharp-better-events

## Testing

- [x] quickstart
- [x] blackholio
## Description of Changes
This seems to fix the unity testsuite, which otherwise is failing when
pointed at master.

## API

No breaking changes.

## Requires SpacetimeDB PRs
None

## Testsuite
This is meant to fix pointing at master.

SpacetimeDB branch name: master

## Testing
- [x] Unity testsuite now passes

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
* Updated the quickstart to use the new 1.0 API

* Ran prettier

* Updated CSS

* Removed server code

* Moved out of the client dir

* Updated lockfile

* Added new workflow

* Small fixes

* Updated PR template

* Ran prettier

* Fixes to workflwo

* Workflow fixes

* Fixes the toolchain thing

* Added SpacetimeDB integration test

* Fix workflow hopefully

* Fix workflow

* Prettier

* Updated pull request template to better reflect the reality

* Fixed path in workflow

* Prettier after codegen

* Regenerate

* Say yes to deleting data

* Updated codegen to latest master of SpacetimeDB

* debug actions

* Formatting

* add README steps

* Ran lints

---------

Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
)

* Style guide: add formatting advice for menu items

* Generalize guidance to all GUI elements, not just menu paths
* Updated the quickstart to use the new 1.0 API

* Ran prettier

* Updated CSS

* Removed server code

* Moved out of the client dir

* Updated lockfile

* Added new workflow

* Small fixes

* Updated PR template

* Ran prettier

* Fixes to workflwo

* Workflow fixes

* Fixes the toolchain thing

* Added SpacetimeDB integration test

* Fix workflow hopefully

* Fix workflow

* Prettier

* Updated pull request template to better reflect the reality

* Fixed path in workflow

* Prettier after codegen

* Regenerate

* Say yes to deleting data

* Updated codegen to latest master of SpacetimeDB

* debug actions

* Formatting

* Implemented EventContext update

* Removed unused imports

* Fix merge marker
* Add `Timestamp` to the SDK, moving it out of `client_api`

Companion to SpacetimeDB#1836

* Add `TimeDuration` class

* Add forgotten return type annotation

* 🤦

* Prettier

* Update `client_api` schema to use `TimeDuration`

* Micros, not nanos

From SpacetimeDB 072c2ea:

Prioritize BSATN and BFLATN compat with 0.12

Timestamp and TimeDuration store `micros: i64`, not `nanos: i64`.
This means that old commitlogs and snapshots should still be compatible,
assuming they don't include timestamps greater than `i64::MAX`,
as previously we used `micros: u64`. This seems unlikely.

* Ran new code gen

* Fixed rebase conflicts

---------

Co-authored-by: Tyler Cloutier <cloutiertyler@aol.com>
* Add shared ScheduleAt type

* Lint

---------

Co-authored-by: Tyler Cloutier <cloutiertyler@aol.com>
Co-authored-by: Tyler Cloutier <cloutiertyler@users.noreply.github.com>
## Description of Changes

Companion to [Rename `Address` to
`ConnectionId`](#2220).
See that PR's description for more.

Like all the SDKs, this PR does not change the SDK's behavior; the SDK
still generates a connection ID locally and passes it through the HTTP
API. This is not exposed to users, and can be changed in a follow-up.

Also, use `/usr/bin/env bash` instead of `/bin/bash` in tools, for
portability reasons.

## API

 - [x] This is an API breaking change to the SDK

`Address` is renamed to `ConnectionId`.

## Requires SpacetimeDB PRs

- #2220
- 
## Testsuite
*If you would like to run the your SDK changes in this PR against a
specific SpacetimeDB branch, specify that here. This can be a branch
name or a link to a PR.*

SpacetimeDB branch name: phoebe/rename-address-to-connection-id

## Testing

- [x] Pretty much just automated testing.
- [x] @kazimuth will need to update and run Blackholio.

---------

Co-authored-by: James Gilles <jameshgilles@gmail.com>
* Rename address to connection ID

* Format
* Now emitting UnknownTransaction if reducer name is empty string or the reducer args are not parseable

* Fixed small bug

* Lint
* Implemented the new subscriptions API

* Fixed the ../index thing

* Fixed the ../index thing for realz

* Fixes for Timestamp and TimeDuration

* Better error handling

* Fixed rebase issues

* lint

* Reduce diff

* lint
bfops and others added 29 commits July 16, 2025 07:34
Co-authored-by: Piotr Sarnacki <drogus@gmail.com>
Co-authored-by: John <no-reply@boppygames.gg>
Co-authored-by: NateTheDev1 <nthnlrichards@gmail.com>
Co-authored-by: Nathaniel Richards <46858886+NateTheDev1@users.noreply.github.com>
Co-authored-by: dbrinkmanncw <109690865+dbrinkmanncw@users.noreply.github.com>
Co-authored-by: Derek Brinkmann <dbrinkmann@citadelstudios.net>
Co-authored-by: John Detter <4099508+jdetter@users.noreply.github.com>
Co-authored-by: Mario Montoya <mamcx@elmalabarista.com>
Co-authored-by: Kamil Jakubus <kamil.jakubus@usagi.coffee>
Co-authored-by: Derek Brinkmann <dbrinkmann@clockworklabs.io>
Co-authored-by: Phoebe Goldman <phoebe@goldman-tribe.org>
Co-authored-by: HSReina <hontoshadow@shadosoft-tm.com>
Co-authored-by: Gérald Divoux <gerald.divoux@ninsight.io>
Co-authored-by: Zeke Foppa <github.com/bfops>
Co-authored-by: Mazdak Farrokhzad <twingoow@gmail.com>
Co-authored-by: Halu <35203441+tcardlab@users.noreply.github.com>
Co-authored-by: Puru Vijay <47742487+PuruVJ@users.noreply.github.com>
Co-authored-by: Tyler Cloutier <cloutiertyler@users.noreply.github.com>
Co-authored-by: Puru Vijay <awesomepuruvj@gmail.com>
Co-authored-by: Tyler Cloutier <cloutiertyler@aol.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: james gilles <jameshgilles@gmail.com>
Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
Co-authored-by: Noa <coolreader18@gmail.com>
Co-authored-by: Jeffrey Dallatezza <jeffreydallatezza@gmail.com>
Co-authored-by: Bastian Ganze <bastianganze@gmail.com>
Co-authored-by: ChaseLewis <ChaseRLewis73003@gmail.com>
Co-authored-by: DeveloperChaseLewis <developer.chase.lewis@gmail.com>
Co-authored-by: Chip <36650721+Lethalchip@users.noreply.github.com>
Co-authored-by: Julien Lavocat <julien.lavocat@gmail.com>
Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
Co-authored-by: Nathaniel Richards <nthnlrichards@gmail.com>
Co-authored-by: John Detter <no-reply@boppygames.gg>
Co-authored-by: John Detter <4099508+jdetter@users.noreply.github.com>
Co-authored-by: Tyler Cloutier <cloutiertyler@users.noreply.github.com>
Co-authored-by: Ingvar Stepanyan <me@rreverser.com>
Co-authored-by: Tyler Cloutier <cloutiertyler@aol.com>
Co-authored-by: Nathaniel Richards <46858886+NateTheDev1@users.noreply.github.com>
Co-authored-by: Piotr Sarnacki <drogus@gmail.com>
Co-authored-by: Phoebe Goldman <phoebe@goldman-tribe.org>
Co-authored-by: Dylan Hunt <d.hunt@clockworklabs.io>
Co-authored-by: Puru Vijay <47742487+PuruVJ@users.noreply.github.com>
Co-authored-by: Kim Altintop <kim@eagain.io>
Co-authored-by: Chip <36650721+Lethalchip@users.noreply.github.com>
Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
Co-authored-by: Shubham Mishra <shubham@clockworklabs.io>
Co-authored-by: Mats Bennervall <44610444+Savalige@users.noreply.github.com>
Co-authored-by: ike709 <ike709@users.noreply.github.com>
Co-authored-by: Egor Gavrilov <modagavr@gmail.com>
Co-authored-by: Arrel Neumiller <rlneumiller@gmail.com>
Co-authored-by: Muthsera <piet.hessenius@protonmail.com>
Co-authored-by: james gilles <jameshgilles@gmail.com>
Co-authored-by: rekhoff <r.ekhoff@clockworklabs.io>
Co-authored-by: joshua-spacetime <josh@clockworklabs.io>
Co-authored-by: Mario Montoya <mamcx@elmalabarista.com>
Co-authored-by: Noa <coolreader18@gmail.com>
Co-authored-by: Mazdak Farrokhzad <twingoow@gmail.com>
Co-authored-by: Steve Biedermann <hardliner66@gmail.com>
Co-authored-by: Oliver Davies <oliver@psyfer.io>
Co-authored-by: Kane Viggers <72892893+kaneviggers@users.noreply.github.com>
Co-authored-by: Colter Haycock <blindgoat@gmail.com>
Co-authored-by: AdielMag <adiel12430@gmail.com>
Co-authored-by: cjodo <curtisod.123@gmail.com>
Co-authored-by: heliam1 <30861916+heliam1@users.noreply.github.com>
Co-authored-by: 8Times <nikinope@gmail.com>
Co-authored-by: torjusik <torjuskleiv@gmail.com>
Co-authored-by: Michael Nadeau <48649516+waaverecords@users.noreply.github.com>
Co-authored-by: Tamaro Skaljic <49238587+tamaro-skaljic@users.noreply.github.com>
Co-authored-by: Jeffrey Dallatezza <jeffreydallatezza@gmail.com>
Co-authored-by: Loki McKay <lokimckay@gmail.com>
Co-authored-by: Aaron Matthis <rapus95@gmail.com>
Co-authored-by: Robin Curbelo <curbelorobin@gmail.com>
Co-authored-by: João Saldanha Streibel <jstreibel@gmail.com>
Co-authored-by: Sahil Dawka <37510491+sdawka@users.noreply.github.com>
Co-authored-by: Wes Sleeman <weston@wsleeman.com>
Co-authored-by: Carlos Cobo <699969+toqueteos@users.noreply.github.com>
Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
Co-authored-by: John Detter <4099508+jdetter@users.noreply.github.com>
Co-authored-by: John Detter <no-reply@boppygames.gg>
Co-authored-by: Tyler Cloutier <cloutiertyler@aol.com>
Co-authored-by: Tyler Cloutier <cloutiertyler@users.noreply.github.com>
Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
Co-authored-by: Ingvar Stepanyan <me@rreverser.com>
Co-authored-by: SteveGibson <100594800+SteveBoytsun@users.noreply.github.com>
Co-authored-by: Steve Gibson <steve@clockwokrlabs.io>
Co-authored-by: james gilles <jameshgilles@gmail.com>
Co-authored-by: rekhoff <r.ekhoff@clockworklabs.io>
Co-authored-by: WeslomPo <i@weslompo.ru>
Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
Co-authored-by: Clockwork Labs <no-reply@clockworklabs.io>
Co-authored-by: Tyler Cloutier <cloutiertyler@aol.com>
Co-authored-by: John Detter <4099508+jdetter@users.noreply.github.com>
Co-authored-by: Tyler Cloutier <cloutiertyler@users.noreply.github.com>
Co-authored-by: Derek Brinkmann <dbrinkmann@citadelstudios.net>
Co-authored-by: dbrinkmanncw <109690865+dbrinkmanncw@users.noreply.github.com>
Co-authored-by: John Detter <no-reply@boppygames.gg>
Co-authored-by: SteveBoytsun <100594800+SteveBoytsun@users.noreply.github.com>
Co-authored-by: Steve <steve@codefics.com>
Co-authored-by: Alessandro Asoni <alessandro@clockworklabs.io>
Co-authored-by: Derek Brinkmann <dbrinkmann@clockworklabs.io>
Co-authored-by: james gilles <jameshgilles@gmail.com>
Co-authored-by: Phoebe Goldman <phoebe@goldman-tribe.org>
Co-authored-by: Ingvar Stepanyan <me@rreverser.com>
Co-authored-by: Kurtis Mullins <github@kurtismullins.com>
Co-authored-by: Jeremie Pelletier <jeremiep@gmail.com>
Co-authored-by: Mazdak Farrokhzad <twingoow@gmail.com>
Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
Co-authored-by: Steve Boytsun <steve@clockwokrlabs.io>
Co-authored-by: Ingvar Stepanyan <ingvar@clockworklabs.io>
Co-authored-by: joshua-spacetime <josh@clockworklabs.io>
Co-authored-by: Noa <coolreader18@gmail.com>
Co-authored-by: rekhoff <r.ekhoff@clockworklabs.io>
Co-authored-by: Daniel Kierkegaard Andersen <dax@daxode.dk>
Co-authored-by: Guribo <guribovr@gmail.com>
Co-authored-by: Lisandro Crespo <lisandroct@gmail.com>
Co-authored-by: Zeke Foppa <bfops@users.noreply.github.com>
* Improve output of plan
* Fix print of alias and the output of joins
* Allow the test utils of the plan to be used elsewhere
* Use the arrow only for nodes, make timing optional
* Apply new clippy hints and remove old test logic
@mamcx mamcx force-pushed the mamcx/lift-multi-col-only-eq branch from 3e8108b to 43eb5dd Compare July 21, 2025 18:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Do not merge Do not merge PRs with this label without coordinating further release-any To be landed in any release window
Projects
None yet
Development

Successfully merging this pull request may close these issues.