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 bumpCreated with
brew bump-formula-pr.release notes
sql-serverDockerfile.yamland.jsonsupportReset CONFIG_PROVIDED after applying /etc/dolt/doltcfg.d/config.json so subsequent YAML lookup runs.
With
dolt gc, the store journal can be deleted and recreated as part of normal operation. When we bootstrap a new chunk journal, we always write 1MB of 0 bytes and a root hash record, reflecting the current root hash, at offset 0.ChunkJournal takes an advisory exclusive lock when it opens the database data directory. It will operate in a read-only mode when it cannot take this lock.
Due to a bug, even when operating in read-only mode, the chunk journal bootstrap code would run if the store was requested to open the chunk journal but there were was no existing chunk journal on disk. This meant there was a race condition if a Dolt process opened the store in read-only mode while another process was going to GC the store. If the read-only store tried to open the journal file and did not find it, it could end up overwriting the beginning of the contents of a just-created journal file.
This PR adds two fixes:
cause os.Open() to return an error if this syscall did not create the file,
which means we are not in charge and we need to bail.
can try to read its contents if we learn of its existence, but if there is
no file and we have been requested to open it, we should return an error.
Fixes dolthub/dolt#10038
SELECT *being EOF as a result ofNextValueRow()iterator object already being consumed byqueueRows().NextValueRow()forprollyKeylessIndexIterbecause it conflicts with goroutine functionqueueRows()forNext().tree.Nodeas pointergo-mysql-server
This prevents the panic seen in Table Functions with non-literal arguments cannot support efficient lookups. dolthub/dolt#10051
The join planner assumed that every instance of TableAlias wrapped an implementer of sql.TableNode.
Only tables that support lookups implement sql.TableNode. Table functions that are not backed by an actual table and don't support lookups do not implement this interface.
This panic is happening when testing to see whether we can optimize a join into a RightSemiJoin. The table needs to support lookups for this optimization to be allowed. So if it doesn't implement
sql.TableNode, it suffices to skip this join plan, since we wouldn't be able to produce it away.This does not fix the broader issue of Table Functions with non-literal arguments cannot support efficient lookups. dolthub/dolt#10051, which is that it is currently impossible for table functions that accept non-literal arguments to support efficient lookups. I'm not currently aware of any use cases where this is required, but I'll keep the issue open to track it in case we need to support that in the future.
doltwhen usingTextStorageFix dolthub/dolt#10050
JsonType.Convertto unwrapsql.StringWrappervalues before decoding.convertJSONValueto handlestringand[]bytelike inputs.Even though this isn't getting logged anywhere, generating the DebugString for CostedIndexScans is costly enough to show in the profiler.
Also specify capacity for rows in Result.
benchmarks:
disable debug string dolthub/dolt#10039 (comment)
Allows implementations of
PlainTextStorage,CachedStorage, andHashStorageto receive the connection, so that they can check connection properties, such as SSL/TLS.Depends on: https://github.com/dolthub/vitess/pull/443/files
Related to: Implement client certificate authentication dolthub/dolt#10008
Adds support for creating users with TLS connection requirements, and displaying those settings via the
mysql.usersystem table.MySQL documentation on
CREATE USERSSL/TLS optionsExample:
CREATE USER user1@localhost REQUIRES X509;Related to Implement client certificate authentication dolthub/dolt#10008
BINLOGandmariadb-binlogsupportFixes dolthub/dolt#9887
BinlogConsumerandBinlogConsumerCataloginterfaces.BINLOGstatement that decodes base64 encoded event strings and runs them ondolt's binlog replica applier usingBinlogConsumerinterface.mariadb-binlogutility with new format support forsql_mode,collation_database,collation_connection, andcollation_server, which can use bitmasks and IDs tied to system variable values.lc_time_names; this remains a no-op.Binlogstatement and new privilege typesbinlog_admin,replication_applier.mariadb-binlogcompatibility:skip_parallel_replication,gtid_domain_id,gtid_seq_no,check_constraint_checks,sql_if_exists,system_versioning_insert_history, andinsert_id.vitess
Enables implementations to have access to the connection. Needed as part of mutual TLS auth work so that implementations can validate connection properties. Also matches the interface definitions in the official vitess repo.
BINLOGsupport andmariadbexecutable commentsFixes dolthub/dolt#9887
TypeName()tobinlogEventobjects for error message creation on the frontend, i.e.go-mysql-server.ERBase64DecodeError = 1575,ERNoFormatDescriptionEventBeforeBinlogStatement = 1609, andEROnlyFDAndRBREventsAllowedInBinlogStatement = 1730forBinlogstatements error handling.Binlogstatement parser support.mariadbexecutable comment support and fix handling of empty comments, i.e./*!*/and/*M!*/.Closed Issues
read_onlysystem variable should always be true.View the full release notes at https://github.com/dolthub/dolt/releases/tag/v1.76.6.