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
Small bug fixes for binlog replication while testing with the
python-mysql-replication
library:DEBUG
logging to be less verbosenil
check forgtidPosition
fixes:
then
andelse
branches of conditional in typeinfo_test.go dolthub/dolt#8203Ran into issues when I ran:
go.mod
is outdatedOnce replication has been started with
START REPLICA;
, replication now automatically restarts when the server is restarted. If replication is stopped withSTOP REPLICA;
, it is not restarted automatically on server restart. This matches MySQL's behavior.This PR also includes a few other small improvements to binlog replication:
DEBUG
toTRACE
levelGetRunningServer()
global functionResolves Support restarting replication on server restart dolthub/dolt#8168
Fixes a dropped error return in the clone implementation.
A MySQL primary server may send table names in
TableMap
binlog events that do not match the case of the table name. We use a case-insensitive table name lookup when getting the table's schema, but not when creating theTableWriter
that applies row updates/inserts/deletes. This change fixes that so that mixed case table names can replicate correctly.Bumps fast-xml-parser to 4.4.1 and updates ancestor dependency @aws-sdk/client-ses. These dependencies need to be updated together.
Updates
fast-xml-parser
from 4.2.5 to 4.4.1Changelog
Sourced from fast-xml-parser's changelog.
... (truncated)
Commits
d40e29c
update package detail and browser bundlesd0bfe8a
fix maxlength for currency value2c14fcf
Update bug-report-or-unexpected-output.mdacf610f
fix #634: build attributes with oneListGroup and attributesGroupName (#653)931e910
fix: get oneListGroup to work as expected for array of strings (#662)b8e40c8
Update ISSUE_TEMPLATE.mda6265ba
chore: add trend image (#658)db1c548
redesign README.md338a2c6
Rename 1.Getting Started.md to 1.GettingStarted.mdc762537
Rename v5 docs filenames (#659)Updates `@aws-sdk/client-ses` from 3.554.0 to 3.621.0
Release notes
Sourced from
@aws-sdk/client-ses
's releases.... (truncated)
Changelog
Sourced from
@aws-sdk/client-ses
's changelog.... (truncated)
Commits
d8f767a
Publish v3.621.08dd7fb6
chore(codegen): bump smithy package versions (#6329)c3dd511
Publish v3.620.10220bd0
Publish v3.620.0ff30a3e
chore(clients): codegen sync for eventstream header fix (#6310)fef3c33
Publish v3.616.02687058
chore(codegen): codegen sync for stream utils (#6279)794a37e
Publish v3.614.0fa3b603
chore(clients): read config files from paths relative to homedir (#6265)630d429
Publish v3.613.0Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/dolthub/dolt/network/alerts).
command:
dolt log --graph
Steps for Drawing the Commit Graph
expandGraph
function.computeColumnEnds
function:Place a
*
at each commit's calculated position to mark it.Connect commits using vertical (
|
) and diagonal (\
or/
) lines to represent branches and merges.An example of the graph of us-jails:
go-mysql-server
The logic setting the InsertID in OkResult, did not match results returned from
last_insert_id()
.This was made apparent due to changes from update
LAST_INSERT_ID
when auto incrementing fromempty
,NULL
, andDEFAULT
dolthub/go-mysql-server#2614.For a single insert statement, MySQL sets InsertID exactly once when the AutoIncrement on the column is first triggered.
While the linked PR fixes that issue and properly sets the session variable, our
insertRowHandler
(which is responsible for returning OkResult structs) was setting InsertID incorrectly.The fix is to just read the LastInsertID from the session, since it is already set to the right value.
System variables can be session, global, or both.
sql.IncrementStatusVariable
is a helper method that primarily helps the "both" category increment the global and session counters for certain variables.Threads_running
is a global only variable that is incremented/decremented every begin/end query, and gets a lot of traffic. The old code usedsql.IncrementStatusVariable
to incrementThreads_running
, which was a particularly expensive way to increment a global var because (1) we'd make a new error for every call to the session updater, and (2) the extra map lookup is unnecessary. We don't do the extra map lookup now, and we weren't using the error return so I removed the return variable.Note: this also refactors status variables to be explicitly initializated in the engine
bump/perf here: [no-release-notes] status update bump dolthub/dolt#8189
LAST_INSERT_ID
when auto incrementing fromempty
,NULL
, andDEFAULT
Our logic for determining whether or not we needed to update last insert id only looked at the insertSource schema.
This does not take into consideration
empty
,NULL
orDEFAULT
values.Additionally, the value that last insert id is set to depends on what the auto increment value will be.
This PR addresses those issues.
Also, has some refactoring for readability.
fixes: Dolt doesn't update
last_insert_id()
whenDEFAULT
is used dolthub/dolt#7565Edit most of the analyzer interfaces to pass a new context object that accumulates query specific properties. Currently the object is called
QueryFlags
, and accumulates information about the query to inform better rule filtering and more efficient spooling strategies.The change that has the biggest effect on
oltp_point_select
perf is thesql.QFlagMax1Row
setting, which lets us skip the default results iter boilerplate when we're only returning one row. Added a couple other skips for rules that are easy to whitelist correctly and show prominently on CPU profiles, like aggregations and subqueries.DateAdd()
andDateSub()
functionsThe output of
DateAdd()
,AddDate()
,DateSub()
, andSubDate()
, changes if the input is a properly formatted string vs a date/datetime/time/timestamp.fixes: Date functions should omit
00:00:00
time component when dealing with string arguments dolthub/dolt#7304We previously added support for integrators choosing their own indexes with an
sql.IndexSearchable
interface. This was for a customer use case. This PR expands the interface to let Dolt cache information about strict key lookups.The motivation is that (1) strict key lookups will always be the best-case scenario result of index costing, (2) caching this information in-between ALTER statements is usually a long enough lifecycle for the overhead to be worth it.
I added a streamlined range builder as part of this optimization that only accepts literal values in the order expected by the target lookup. The user of this range builder takes responsibility for feeding the values in the correct order. As a result, we sidestep expensive string formatting, map creating, and map lookups during range building.
Follow-on fixes to functional dependencies permuted plans a bit more. Inner joins are chosen more frequently in some of our test plans now that we're reflecting strict key max-1-row cardinalities.
Closed Issues
then
andelse
branches of conditional in typeinfo_test.golast_insert_id()
whenDEFAULT
is used/
causes the dolt shell to incorrectly interpret lines as slash commands.00:00:00
time component when dealing with string arguments