This repository has been archived by the owner on Feb 20, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 501
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…age compiles and starts. Have not addressed tests or TODOs.
mbutrovich
added
in-progress
This PR is being actively worked on and not ready to be reviewed or merged. Mark PRs with this.
best-practice
Style fixes or refactor in the code base. Mark issues with this.
ready-for-ci
Indicate that this build should be run through CI.
labels
Jul 15, 2021
Major Decrease in PerformanceSTOP: this PR has a major negative performance impact
|
Codecov Report
@@ Coverage Diff @@
## master #1628 +/- ##
==========================================
- Coverage 80.80% 80.76% -0.05%
==========================================
Files 774 773 -1
Lines 55360 55420 +60
==========================================
+ Hits 44736 44759 +23
- Misses 10624 10661 +37
Continue to review full report at Codecov.
|
Major Decrease in PerformanceSTOP: this PR has a major negative performance impact
|
Major Decrease in PerformanceSTOP: this PR has a major negative performance impact
|
…eId::Invalid to pg_type (also not real).
Major Decrease in PerformanceSTOP: this PR has a major negative performance impact
|
…s a footgun for schema change in the future.
Major Decrease in PerformanceSTOP: this PR has a major negative performance impact
|
mbutrovich
removed
the
in-progress
This PR is being actively worked on and not ready to be reviewed or merged. Mark PRs with this.
label
Jul 22, 2021
mbutrovich
added
the
ready-for-review
This PR passes all checks and is ready to be reviewed. Mark PRs with this.
label
Jul 22, 2021
Ran TATP and YCSB read only with 20 terminals on dev9 and didn't see a performance change. |
Merged
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
best-practice
Style fixes or refactor in the code base. Mark issues with this.
ready-for-ci
Indicate that this build should be run through CI.
ready-for-review
This PR passes all checks and is ready to be reviewed. Mark PRs with this.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Background:
type::TypeId
has been another bee in my bonnet likeTransientValue
was, which was also a stopgap as other parts of the system were built without the execution engine or optimizer yet. As of right now we have about 5 different type definitions in the system:PostgresValueType
in the network layer, Peloton-liketype::TypeId
in/include/type
, other Postgres types in the parser, andSqlTypeId
andTypeId
in/include/execution/sql
.Overview:
Remove
type::TypeId
and replace withexecution::sql::SqlTypeId
.Changes:
/type
folder.TypeId::VAR_ARRAY
. Doesn't seem like it was used and not a real type.ColumnMapInfo
fromColumnMap
in theSqlTable
. This went in with TPL2 and stashed type info at the storage layer. That's a huge footgun for how we plan to do schema change in the future, and the catalog is the sole authority of transactional schema information.CatalogAccessor
just like their temp tables.TableVectorIterator
was relying on theColumnMapInfo
and now requests schema for all tables fromCatalogAccessor
, so this is transparent to the execution engine.VarlenEntry
moved to its own header file.Future work:
SqlTypeId::Variadic
which is used in pg_proc incorrectly. This will take a larger rewrite of pg_proc behavior to actually match Postgres (see pg_proc PROALLARGTYPES does not follow Postgres semantics. #1359). I tried to do it in this PR, but the blast radius gets bigger than I'd like for an already-large PR.PostgresValueType
withSqlTypeId
to reduce type translation. This would bump the latter to being anint32_t
and has a large blast radius.