Merged PRs
dolt
- 8398: Add pointer for dolt_docs schema so it can be replaced by doltgres
- 8397: [statsnoms] MCV encoding needs to be delimiter safe
The PR from earlier in the week encoded stats bucket bound rows with prolly formatting. I neglected to encode MCVs in the same way, which are also rows and are subject to the same bugs. - 8391: Return information_schema schema for doltgres
GMS PR: dolthub/go-mysql-server#2678 - 8390: doltgres fixes for constraint violation tables
- 8382: Improve Error Handling for Tags
Changes:- Prevent cloning from a tag through
--branch
option - Return detached head error for checking out branch through cli
Fixes: #8377
- Prevent cloning from a tag through
- 8381: Fix diff related table functions for doltgres
- 8380: Fix
dolt_clean
anddolt_checkout
for doltgres - 8379: Stats safer encode
We previously used commas as serialization boundaries for multi-field stats tuples (bucket bounds). That worked well for numeric values, and doesn't work well for strings with commas. This uses the prolly serialization code to more safely round trip tuples.
We still use commas to separate MCV counts, which are integers, and newlines (\n
) for index types. If types can have newlines at some point we would want to switch that to prolly encoding as well. - 8378: go: doltcore/remotestorage: reliable: Fix leaked goroutines when the context is canceled while reading the HTTP response.
io.Copy into an io.PipeWriter will block until all the bytes have been delivered or the reader is closed. reliable/http StreamingResponse was constructed to only cancel the request context on Close(), not also clear the Reader. The Reader should also be closed to ensure all finalization can still happen if the Write to the PipeWriter is currently blocked when the context is canceled. - 8376: Bug fixes for dolt_reset('table') in doltgres, plus dolt_constaint_vi…
…olation table output for same - 8372: Passing through schema name to fix index creation bug in Doltgres
Bug fix for schema name being lost when adding a unique index to a table through Doltgres.
Fixes: dolthub/doltgresql#725 - 8315: update bind variable type
go-mysql-server
- 2678: Support information_schema views/tables hooks for doltgres
- 2673: Small Refactor to
pruneTables
- 2672: More flexible error checking in enginetests
- 2669: implement
validate_password_strength()
MySQL Docs: https://dev.mysql.com/doc/refman/8.4/en/encryption-functions.html#function_validate-password-strength - 2668: implement
compress()
,uncompress()
, anduncompressed_length()
MySQL Docs:- https://dev.mysql.com/doc/refman/8.4/en/encryption-functions.html#function_compress
- https://dev.mysql.com/doc/refman/8.4/en/encryption-functions.html#function_uncompress
- https://dev.mysql.com/doc/refman/8.4/en/encryption-functions.html#function_uncompressed-length
The library we are using iscompress/zlib
, which is slightly different than the MySQLzlib
implementation. As a result, the actually compressed data is similar but not equivalent. However, this library is still able to uncompress any MySQL compressed data.
There isczlib
, but it is not actively maintained and might requirecgo
.
- 2667: Fix str_to_date function
STR_TO_DATE
function cannot parse "%Y%m%d".
I mentioned it in the issue #2666 - 2665: Fix FunctionalDependencies for NonUnique, NonNull indexes on Server
When using the server engine, we return an error for indexes defined over non-unique not null columns.
This meant that filters over these columns would incorrectly return error when there were duplicate entries.
Oddly, this only happens on server engine and not using dolt sql-shell directly.
The bug stems from a missing check when gathering functional dependencies for equalities.
Related: #8365 - 2661: Example in-memory Vector index using the existing index APIs.
This expands the index interfaces to make it possible to have vector indexes, and demonstrates it with a proof-of-concept in-memory index. It's a rough implementation with some shortcomings: for instance, it doesn't currently handle tables that consist of multiple partitions.
However, this showcases how to use the GMS interfaces to add a vector index. - 2648: use sqlparser.Expr rather than querypb.BindVariabl
vitess
- 366: allow validate password variables
- 365: parse vector index syntax
Supports the following syntax:create table t (v blob, vector index(v))
create vector index vec on t(v)
alter table t add vector index vec on t(v)