1.42.8
Merged PRs
dolt
- 8211: Bug fix: binlog replication: logging levels, use MySQL's older date serialization format
Small bug fixes for binlog replication while testing with thepython-mysql-replication
library:- Adjusting
DEBUG
logging to be less verbose - Using MySQL's older date serialization format for compatibility
- Adding a
nil
check forgtidPosition
- Adjusting
- 8207: removing unconditional recursive calls
fixes: - 8201: chore: update lib:eventsapi 2022-> 2024
Ran into issues when I ran:Realized the eventsapi library version ingo install github.com/dolthub/dolt/go/cmd/dolt@main # github.com/dolthub/dolt/go/cmd/dolt/commands /go/pkg/mod/github.com/dolthub/dolt/[email protected]/cmd/dolt/commands/cherry-pick.go:79:19: undefined: eventsapi.ClientEventType_CHERRY_PICK /go/pkg/mod/github.com/dolthub/dolt/[email protected]/cmd/dolt/commands/dump.go:112:19: undefined: eventsapi.ClientEventType_DUMP /go/pkg/mod/github.com/dolthub/dolt/[email protected]/cmd/dolt/commands/filter-branch.go:95:19: undefined: eventsapi.ClientEventType_FILTER_BRANCH /go/pkg/mod/github.com/dolthub/dolt/[email protected]/cmd/dolt/commands/gc.go:76:19: undefined: eventsapi.ClientEventType_GARBAGE_COLLECTION /go/pkg/mod/github.com/dolthub/dolt/[email protected]/cmd/dolt/commands/migrate.go:74:19: undefined: eventsapi.ClientEventType_MIGRATE /go/pkg/mod/github.com/dolthub/dolt/[email protected]/cmd/dolt/commands/profile.go:89:19: undefined: eventsapi.ClientEventType_PROFILE /go/pkg/mod/github.com/dolthub/dolt/[email protected]/cmd/dolt/commands/rebase.go:74:19: undefined: eventsapi.ClientEventType_REBASE /go/pkg/mod/github.com/dolthub/dolt/[email protected]/cmd/dolt/commands/reflog.go:63:19: undefined: eventsapi.ClientEventType_REFLOG /go/pkg/mod/github.com/dolthub/dolt/[email protected]/cmd/dolt/commands/show.go:72:19: undefined: eventsapi.ClientEventType_SHOW /go/pkg/mod/github.com/dolthub/dolt/[email protected]/cmd/dolt/commands/tag.go:81:19: undefined: eventsapi.ClientEventType_TAG /go/pkg/mod/github.com/dolthub/dolt/[email protected]/cmd/dolt/commands/tag.go:81:19: too many errors
go.mod
is outdated - 8187: Feature: Auto-start binlog replication on server restart
Once replication has been started withSTART 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:- allows 'show replica status' before replication is started
- moves logging of binlog messages from
DEBUG
toTRACE
level - removes several references to
GetRunningServer()
global function
Resolves #8168
- 8184: [dtables] fix from_commit index behavior
- 8182: go/libraries/doltcore/env/actions: Improve error message when a clone fails mid-download.
Fixes a dropped error return in the clone implementation. - 8181: Bug fix: resolving case-sensitive table name for TableEditor
A MySQL primary server may send table names inTableMap
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. - 8177: Bump fast-xml-parser and @aws-sdk/client-ses in /.github/actions/ses-email-action
Bumps fast-xml-parser to 4.4.1 and updates ancestor dependency @aws-sdk/client-ses. These dependencies need to be updated together.
Updatesfast-xml-parser
from 4.2.5 to 4.4.1Changelog
Sourced from fast-xml-parser's changelog.
Note: If you find missing information about particular minor version, that version must have been changed without any functional change in this library.
4.4.1 / 2024-07-28
- v5 fix: maximum length limit to currency value
- fix #634: build attributes with oneListGroup and attributesGroupName (#653)(By Andreas Naziris)
- fix: get oneListGroup to work as expected for array of strings (#662)(By Andreas Naziris)
4.4.0 / 2024-05-18
- fix #654: parse attribute list correctly for self closing stop node.
- fix: validator bug when closing tag is not opened. (#647) (By Ryosuke Fukatani)
- fix #581: typings; return type of
tagValueProcessor
&attributeValueProcessor
(#582) (By monholm)
4.3.6 / 2024-03-16
- Add support for parsing HTML numeric entities (#645) (By Jonas Schade )
4.3.5 / 2024-02-24
- code for v5 is added for experimental use
4.3.4 / 2024-01-10
4.3.3 / 2024-01-10
- Remove unnecessary regex
4.3.2 / 2023-10-02
- fix
jObj.hasOwnProperty
when give input is null (By Arda TANRIKULU)
4.3.1 / 2023-09-24
- revert back "Fix typings for builder and parser to make return type generic" to avoid failure of existing projects. Need to decide a common approach.
4.3.0 / 2023-09-20
- Fix stopNodes to work with removeNSPrefix (#607) (#608) (By [Craig Andrews]https://github.com/candrews))
- Fix #610 ignore properties set to Object.prototype
- Fix typings for builder and parser to make return type generic (By Sarah Dayan)
4.2.7 / 2023-07-30
- Fix: builder should set text node correctly when only textnode is present (#589) (By qianqing)
- Fix: Fix for null and undefined attributes when building xml (#585) (#598). A null or undefined value should be ignored. (By Eugenio Ceschia)
4.2.6 / 2023-07-17
- Fix: Remove trailing slash from jPath for self-closing tags (#595) (By Maciej Radzikowski)
4.2.5 / 2023-06-22
- change code implementation
4.2.4 / 2023-06-06
- fix security bug
4.2.3 / 2023-06-05
- fix security bug
... (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)- Additional commits viewable in compare view
Updates `@aws-sdk/client-ses` from 3.554.0 to 3.621.0Release notes
Sourced from
@aws-sdk/client-ses
's releases.v3.621.0
3.621.0(2024-07-30)
Chores
Documentation Changes
- client-elasticache: Doc only update for changes to deletion API. (3cf46f19)
- client-workspaces: Removing multi-session as it isn't supported for pools (01552b00)
New Features
- clients: update client endpoints as of 2024-07-30 (ecc97a25)
- client-lex-models-v2: This release adds new capabilities to the AMAZON.QnAIntent: Custom prompting, Guardrails integration and ExactResponse support for Bedrock Knowledge Base. (4d9c7a12)
- client-eventbridge: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (65290c81)
- client-rolesanywhere: IAM RolesAnywhere now supports custom role session name on the CreateSession. This release adds the acceptRoleSessionName option to a profile to control whether a role session name will be accepted in a session request with a given profile. (5bc30087)
- client-cloudwatch-logs: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (88b6a41c)
- client-codepipeline: AWS CodePipeline V2 type pipelines now support stage level conditions to enable development teams to safely release changes that meet quality and compliance requirements. (5e8b92d3)
- client-elastic-load-balancing: Add v2 smoke tests and smithy smokeTests trait for SDK testing. (6cbe7bf6)
- client-tnb: This release adds Network Service Update, through which customers will be able to update their instantiated networks to a new network package. See the documentation for limitations. The release also enhances the Get network operation API to return parameter overrides used during the operation. (cee6948a)
- client-auto-scaling: Increase the length limit for VPCZoneIdentifier from 2047 to 5000 (23471630)
- client-appstream: Added support for Red Hat Enterprise Linux 8 on Amazon AppStream 2.0 (bbb4450b)
Bug Fixes
- package.json
homepage
links to use themain
branch (#6336) (e3322302) - polly-request-presigner: override middleware name to allow concurrent presigning (#6335) (54990fa2)
For list of updated packages, view updated-packages.md in assets-3.621.0.zip
v3.620.1
3.620.1(2024-07-29)
Chores
- release accountId-endpoints config and codegen changes (#6313) (de8d4a6b)
- release accountId-endpoints credential-provider changes (d5011a5f)
Documentation Changes
... (truncated)
Changelog
Sourced from
@aws-sdk/client-ses
's changelog.3.621.0 (2024-07-30)
Note: Version bump only for package
@aws-sdk/client-ses
3.620.1 (2024-07-29)
Note: Version bump only for package
@aws-sdk/client-ses
3.620.0 (2024-07-25)
Note: Version bump only for package
@aws-sdk/client-ses
3.616.0 (2024-07-18)
Note: Version bump only for package
@aws-sdk/client-ses
3.614.0 (2024-07-10)
Note: Version bump only for package
@aws-sdk/client-ses
3.613.0 (2024-07-09)
Note: Version bump only for package
@aws-sdk/client-ses
3.609.0 (2024-07-02)
... (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.0- Additional commits viewable in compare view
Dependabot 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). - 8163: chore: init go workspace
- migrate local replace directives to go.work as per go1.18+ standards
- 8161: Liuliu/log-graph
command:dolt log --graph
Steps for Drawing the Commit Graph- Calculate the Positions of Each Commit:
- Row Position: Determined by the commit's topological order, initialized using the index in the list. Adjust the vertical spacing between commits based on the commit message's height in
expandGraph
function. - Column Position, calculated based on the positions of child commits, implemented in
computeColumnEnds
function: - No Children: Places the commit in a new column (furthest right) if it has no child commits, indicating the start of a new branch.
- Branch Children: If a commit has branch children, it is positioned in the same column as its leftmost branch child.
- Merge Children: For commits with merge children, diagonal lines ('') are used to connect to these children, positioning the commit in an available column starting from its rightmost child.
- Render the Graph:
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
- 2616: fix insert id
The logic setting the InsertID in OkResult, did not match results returned fromlast_insert_id()
.
This was made apparent due to changes from 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, ourinsertRowHandler
(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. - 2615: faster status updates
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: #8189 - 2614: update
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 considerationempty
,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: #7565 - 2613: Query properties rule filtering
Edit most of the analyzer interfaces to pass a new context object that accumulates query specific properties. Currently the object is calledQueryFlags
, and accumulates information about the query to inform better rule filtering and more efficient spooling strategies.
The change that has the biggest effect onoltp_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. - 2609: fix output type for
DateAdd()
andDateSub()
functions
The output ofDateAdd()
,AddDate()
,DateSub()
, andSubDate()
, changes if the input is a properly formatted string vs a date/datetime/time/timestamp.
fixes: #7304 - 2604: Index searchable edits
We previously added support for integrators choosing their own indexes with ansql.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. - 2601: Fixed error in converting panics to errors
Closed Issues
- 8206: Unknown JSON struct tag in schema_marshaling.go
- 8202: Unconditional recursive call in prolly_index_writer_keyless.go
- 8203: Identical blocks for
then
andelse
branches of conditional in typeinfo_test.go - 8204: Unconditional recursive call in cs_metrics_wrapper.go
- 8205: Unconditional recursive call in indexed_dolt_table.go
- 8168: Support restarting replication on server restart
- 8185: chore: initialize go workspaces
- 7565: Dolt doesn't update
last_insert_id()
whenDEFAULT
is used - 8022: Setting the delimiter to begin with
/
causes the dolt shell to incorrectly interpret lines as slash commands. - 8173: prisma migrate dev, generating changes to columns of the date type in loop
- 8085: CJException: 3878257648 out of range for int
- 7304: Date functions should omit
00:00:00
time component when dealing with string arguments
Performance
Read Tests | MySQL | Dolt | Multiple |
---|---|---|---|
covering_index_scan | 2.07 | 2.91 | 1.4 |
groupby_scan | 13.46 | 16.71 | 1.2 |
index_join | 1.39 | 2.61 | 1.9 |
index_join_scan | 1.3 | 2.11 | 1.6 |
index_scan | 34.33 | 52.89 | 1.5 |
oltp_point_select | 0.18 | 0.39 | 2.2 |
oltp_read_only | 3.43 | 6.79 | 2.0 |
select_random_points | 0.33 | 0.7 | 2.1 |
select_random_ranges | 0.39 | 0.81 | 2.1 |
table_scan | 34.33 | 53.85 | 1.6 |
types_table_scan | 74.46 | 139.85 | 1.9 |
reads_mean_multiplier | 1.8 |
Write Tests | MySQL | Dolt | Multiple |
---|---|---|---|
oltp_delete_insert | 8.13 | 5.88 | 0.7 |
oltp_insert | 3.82 | 2.97 | 0.8 |
oltp_read_write | 8.58 | 12.52 | 1.5 |
oltp_update_index | 3.89 | 2.97 | 0.8 |
oltp_update_non_index | 3.89 | 2.91 | 0.7 |
oltp_write_only | 5.37 | 5.99 | 1.1 |
types_delete_insert | 7.7 | 6.43 | 0.8 |
writes_mean_multiplier | 0.9 |
TPC-C TPS Tests | MySQL | Dolt | Multiple |
---|---|---|---|
tpcc-scale-factor-1 | 98.89 | 38.07 | 2.6 |
tpcc_tps_multiplier | 2.6 |
Overall Mean Multiple | 1.77 |
---|