github dolthub/dolt v1.42.15
1.42.15

latest releases: v1.43.0, v1.42.20, v1.42.19...
24 days ago

Merged PRs

dolt

  • 8296: fix case insensitive column match in kv iter
    When building the keyLookupMapper for the special prolly tree kvIter, we match column names by exact casing. This leads to incorrect lookup indexes.
    The fix was to use lowercase when matching.
    companion pr: dolthub/go-mysql-server#2640
  • 8295: Update README.md
  • 8292: working?
  • 8291: [commands] faster sqldump query scanner
    The default sqldump scanner works as follows:
    • (1) read +4k lines into buffer
    • (2) scan entire buffer for delimiter (starting from index 0)
    • (3) failing to find delimiter, go to step 1
      So if the delimiter is at character 16k, we will execute the loop 4 times. I noticed some maybe weird things about the default buffered reader from a cursory glance that I might be misunderstanding: (i) it copies bytes between at least 3 buffers (src, dst, target), (ii) do double IO for reads (the bufio docs say this, I didn't completely follow where it happens), and (iii) when doubling the buffer capacity reread the initial contents again (tracking the size of the buffer, it seems to increase and then decrease slightly at doubling implements. There might be something else going on here).
      Anyway, this prototype just doesn't do any of that. Just stream the bytes seeking a delimiter.
      Prototype goes from ~10seconds to import 10k lines -> 1 second on the motivating test dataset.

    Update with tests passing:
    before
    maxhoffman@Maxs-MacBook-Pro ~/D/d/indexer> time dolt sql < doltdump.sql &> log
    ________________________________________________________
    Executed in  276.23 secs    fish           external
    usr time  276.57 secs    0.19 millis  276.57 secs
    sys time    2.70 secs    1.72 millis    2.70 secs
    after:
    maxhoffman@Maxs-MacBook-Pro ~/D/d/indexer> time dolt sql < doltdump.sql &> log
    ________________________________________________________
    Executed in   33.79 secs    fish           external
    usr time   38.18 secs    0.21 millis   38.18 secs
    sys time    0.64 secs    1.78 millis    0.64 secs
    

    Update after not double-parsing every query:
    maxhoffman@Maxs-MacBook-Pro ~/D/d/indexer> time dolt sql < doltdump.sql &> log
    ________________________________________________________
    Executed in   25.60 secs    fish           external
    usr time   30.31 secs    0.28 millis   30.31 secs
    sys time    0.56 secs    1.21 millis    0.56 secs
    

go-mysql-server

Closed Issues

Don't miss a new dolt release

NewReleases is sending notifications on new releases.