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.
Created by
brew bump
Created with
brew bump-formula-pr
.release notes
system_variables
field in config.yaml for sql-server commandThe CLI docs for sql-server doesn't include the
system_variables
field available inconfig.yaml
.Expand the
ChunkStore
interface to let thenodeStore
access recently accessed chunks. Avoid adding a child ref to thependingRef
list when already present innbs.hasCache
. For TPC-C this appears to reduce the pending ref count by another ~80%.companion: [stats] costed index scan perf dolthub/go-mysql-server#2421
When writes add chunks at execution time, we currently add their direct child references to the memory table's pending ref queue to check for GC'd refs. We do this by constructing a hash map to pass every chunk's child refs to the memtable's pending queue. This PR avoids creating a new hashset per chunk by using a callback to delay reading out the refs. We make one child ref set per memtable, which has the added benefit of deduplicating child refs between chunks.
go-mysql-server
Com_delete
,Com_insert
,Com_update
status variablesrelated: Initial support for
show status
dolthub/dolt#7646@@session.collation_server
duringcreate database ...
This PR makes it so
create database ...
actually reads the@@session.collation_server
variable.Additionally, this ensures that settings
@@character_set_server
sets@@collation_server
and vice versa.Interestingly, it seems like MySQL actually ignores the global scope of these system variables, and reads the session scope instead.
fixes
set global character_set_server
not working the same way in MySQL, may lead inconsistency dolthub/dolt#7651time.Time
typesThis PR adds tests for using
time.Time
, some tests have to be skipped because we don't support Timespan correctly.companion pr:
add case forrevert decimals dolthub/vitess#328time.Time
anddecimal
in bindvars dolthub/vitess#327test for Error 1105: type time.Time not supported as bind var dolthub/dolt#7665
Questions
status variableThis PR adds logic to update status variable
Questions
.This only works in the server context, probably doesn't through
dolt sql
cli.Initial support for
show status
dolthub/dolt#7646Histogram copying is expensive. Instead pass and mutate references. We have to use a different struct type to load stats from JSON in order to support histogram interface generalization.
related Dolt-side: [statspro] Avoid copying histograms, perf improvement dolthub/dolt#7666
LIKE
for show status/variablesMySQL stores session and global variables in a
performance_schema
database, and these tables have a case-insensitive collation on the variable names.This PR emulates that behavior by hard coding the collation the schemas for
ShowStatus
andShowVariables
nodes.When comparing JSON values, numbers may be represented internally as an int64 or float64, but our comparison code wasn't casting an int64 to a float64 in order to compare it with a float64 value.
Fixes JSON_CONTAINS regression dolthub/dolt#7656
show create database
to actually show charset/collationThis PR fixes the
SHOW CREATE DATABASE ...
statement to actually show the charset/collation that the db is under instead of always default.Additionally, this PR parses the
charset
database option, instead of ignoring it like before.partially fixes:
set global character_set_server
not working the same way in MySQL, may lead inconsistency dolthub/dolt#7651This PR adds the initial implementation of Status Variables.
There are 682 status variables, and are very similar to System Variables.
Every variable is read-only (and can only be updated by the server itself), and there are session-specific variables.
MySQL Docs: https://dev.mysql.com/doc/refman/8.0/en/server-status-variable-reference.html
Related: Initial support for
show status
dolthub/dolt#7646vitess
issue: revert decimals dolthub/vitess#328
time.Time
anddecimal
in bindvarsWe were unable to use
time.Time
anddecimal
type variables bind vars, so they couldn't be used as arguments to prepare statements.This PR addresses that issue.
fixes: Error 1105: type time.Time not supported as bind var dolthub/dolt#7665
vitess.io/vitess
– support for theCOM_REGISTER_REPLICA
command.COM_BINLOG_DUMP_GTID
command.String
functions to help with debugging.Closed Issues
set global character_set_server
not working the same way in MySQL, may lead inconsistencycalculateMergeConflicts
duringdolt pull
if sql-server is running