Bot releases are visible (Hide)
Published by github-actions[bot] over 3 years ago
This release supports ALTER TABLE MODIFY COLUMN statements.
Published by github-actions[bot] over 3 years ago
This release introduces several improvements to the query analyzer:
INSERT ... SELECT
statements<=>
)Published by github-actions[bot] over 3 years ago
This release addresses correctness bugs and provides performance improvements, as well as continuing to flesh Dolt's version control features as SQL functions.
/*!40101 SET NAMES utf8 */
Published by github-actions[bot] over 3 years ago
This release addresses a number of correctness bugs and improves query performance.
Merged PRs
VALUES()
is deprecated in the latest versions of MySQL (as of version 8.0.20, released April 2020), but it is recent enough that I feel its inclusion in the engine is justified.Published by github-actions[bot] over 3 years ago
This release has two notable features:
BINARY, VARBINARY, TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB
now supported.dolt diff --cached
now supportedOther than that, this release contains performance improvements and bug fixes.
dolt diff --cached
commandatomic
package has the following limitation on 32-bit platforms:
On both ARM and x86-32, it is the caller's responsibility to arrange for 64-bit alignment of 64-bit words accessed atomically. The first word in a variable or in an allocated struct, array, or slice can be relied upon to be 64-bit aligned.
DATE
, we accidentally forgot to add the time truncation during the perf improvements, so this adds it back in.BINARY, VARBINARY, TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB
types./proc/net
dir.Published by github-actions[bot] almost 4 years ago
This is a bug fix release for 0.22.10. This fixes a bug in clone
that would sometimes keep large clones from succeeding by not retrying failed downloads.
Published by github-actions[bot] almost 4 years ago
We are excited to announce 0.22.10 of Dolt. We include the usual slate of bug fixes and performance improvements, as well as:
DOLT_RESET
exposed in SQL, part of our roadmap of exposing all Dolt's version control features in SQLON DUPLICATE KEY
for defining behavior when a duplicate primary key is encounteredAs usual, we are grateful for contributions and bug reports.
~/datasets/wikipedia-ngrams>GOMAXPROCS=1 time dolt sql -r null -q 'SELECT * FROM bigram_counts'
310.13 real 285.36 user 9.16 sys
After
~/datasets/wikipedia-ngrams>GOMAXPROCS=1 time dolt sql -r null -q 'SELECT * FROM bigram_counts'
253.91 real 233.10 user 9.67 sys
jaegertracing/all-in-one
listens on.Published by github-actions[bot] almost 4 years ago
sqle.Database
SET @@dolt_head = hashof(...)
. The intention is to limit the scope of edit sessiosqle.Database
.sqle.tableCache
-> sqle.WritableDoltTable
-> sqle.sqlTableEditor
table/editor.TableEditSesson
TableEditSession
. They're both referencing the new working root. TableEditSession
.TableEditSession
each time we switch roots.cast
package we were using to UNHEX
to return the proper SQL type.Published by github-actions[bot] almost 4 years ago
dolt table import ...
. table import -c
now creates keyless tables if the -pk
option is not provided.run workflow
GUI, and then entering version.v0.23.0-release
if the release parameter is 0.23.0
Published by oscarbatori almost 4 years ago
We are pleased to announce Dolt 0.22.7.
This release focuses on bug fixes, and performance improvements in SQL. In particular delivered huge performance improvements in our SQL implementation. You can find the scope of these performance improvements detailed on our benchmarks page.
printStagedDiffs
always returned 0, even when there were diffs not staged. This return was also causing it to print in printStatus
"nothing to commit, working tree clean". This was not the case.printStagedDiffs
to return the number of the staged tables plus the number of staged docs instead. This prevents it from entering the if statement with the print also.table.SqlTableReader
as a replacement for directly reading from table maps. Used it to replace types.MapIterator
in sqle.doltTableRowIter
rowconv -> pipeline
to pipeline -> rowconv
Published by oscarbatori almost 4 years ago
-a
flag to dolt commit
and DOLT_COMMIT
. It stages all tables.Published by oscarbatori almost 4 years ago
Published by oscarbatori almost 4 years ago
Published by oscarbatori almost 4 years ago
version()
is used to emulate the target MySQL version, I've added dolt_version()
so that one may specifically query the dolt version.Published by oscarbatori almost 4 years ago
We are excited to announce the minor version release of Dolt 0.22.0.
We continue to expand the SQL tables that surface information about the commit graph, in this release we added:
dolt_commits
dolt_commit_ancestors
dolt_commit_diffs_<table>
We added support for prepared statements to our SQL server.
dolt ls --all
dolthubapi
uses NewCreatingWriter
which breaks with Andy's recent changes (it's being used in dolthubapi here)Published by oscarbatori almost 4 years ago
dolthubapi
for the import table api. I extracted some logic so that I can use InferSchema
and MoveDataToRoot
to root to reduce some of the duplicationsmaster
, however the workflow only works when the PR is based against master
. Therefore this PR does not target the aforementioned PR's branch.CREATE INDEX
memory usage on.table_editor.go
to periodically flush the contents once some arbitrary amount of operations have been performed.Published by oscarbatori almost 4 years ago
We are excited to announce the release of Dolt 0.21.1, a patch release with functionality and performance improvements.
A significant new aspect of the Dolt release process will be providing SQL benchmarks. You can read a blog about our approach to benchmarking using sysbench here, and you can find the benchmarking tools here. By way of example the benchmarks for this release were created with the following command:
./run_benchmarks.sh bulk_insert oscarbatori v0.21.0 v0.22.1
This produced the following result, which we host on DoltHub:
nil
error after that.onDone
when the rowTrackingIter is Closed.onDone
is called. ChildPublished by oscarbatori about 4 years ago
We are excited to announce the release of Dolt 0.21.0. This release contains a host of exciting features, as well as our usual blend of bug fixes and performance improvements.
As a result of our own internal data collaboration projects, we realized that a squash
command for condensing change sets as a consideration for collaborators was an essential tool. This is now in Dolt.
A user highlighted that Dolt didn't work with NFS mounted drives due to the way it was interacting with the filesystem. We have now fixed this.
We now have a dolt gc
command for cleaning up unreferenced data. This was requested by several users as a space saving mechanism in production settings.
We continue to aggressively pursue performance improvements, most notably a huge improvement in full table scans.
sysbench
toolingAs we detailed in a blogpost yesterday we have created a tooling to provide our development team and contributors with a simple way to measure SQL performance. For example, to compare a arbitrary commit to the current working set (to test whether changes introduce expected performance benefits):
$ ./run_benchmarks.sh bulk_insert <username> 19f9e571d033374ceae2ad5c277b9cfe905cdd66
This will build Dolt at the appropriate commits, spin up containers with sysbench
, and execute the benchmarks.
An open source contributor provided several fixes to our CLI documentation, which we have gratefully merged.
We have fixed Google Cloud Platform remotes motivated by a bug report from a user experimenting with Dolt.
Database
from its root chunk and coping all reachable chunks to a new set of NBS tables.NomsBlockStore
garbage collection and protect against NBS
corruption. Storing gcGen
in the manifest will support deleting chunks from an NBS
in a safe way. NBS
instances that see a different gcGen
than they saw when they last read the manifest will error and require clients to re-attempt their write.NBS
will now have three forms of write errors (not including IO errors or other kinds of unexpected errors):
nbs.errOptimisticLockFailedTables
: Another writer landed a manifest update since the last time we read the manifest. The root chunk is unchanged and the set of chunks referenced in the manifest is either the same or has strictly grown. Therefore the NBS can handle this by rebasing on the new set of tables in the manifest and re-attempting to add the same set of novel tables.nbs.errOptimisticLockFailedRoot
: Another writer landed a manifest update that includes a new root chunk. The set of chunks referenced in the manifest is either the same or has strictly grown, but it is not know which chunk are reachable from the new root chunk. The NBS has to pass this value to the client and let them decide. If the client is a datas.database
it will attempt to rebase, read the head of the dataset it is committing to, and execute its mergePolicy
(Dolt passes a noop mergePolicy
).chunks.ErrGCGenerationExpired
: This is similar to a moved root chunk, but with no guarantees about what chunks remain in the ChunkStore. Any information from CS.Has(ctx, chunk)
is now stale. Writers must rewrite all data to the chunkstore.${output,,}
is only supported on Bash 4+. I switched to using tr
so I could run the tests locally.