Skip to content

0.3.0

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 20 Dec 01:07

Breaking Change

This release changes how directories are handled. Previously, wherever you ran the doltgres binary was where your databases would be located. This was causing a lot of confusion, as attempting to run the doltgres binary from within the doltgres folder (on non-Windows machines) would result in a name conflict, where the program wanted to create a folder named doltgres, but that conflicted with the binary's name.

This has been changed, so that we now use the ~/doltgres/databases folder by default. This means that it is now irrelevant where you run doltgres from, as it will always access that folder. If you want to use a different folder then you can use the --data-dir argument. If a relative path is given, then that is relative to the invocation directory. If an absolute path is given, then that path is used. In addition, there's now a DOLTGRES_DATA_DIR environment variable, which accomplishes the same thing as the --data-dir argument, except that you don't have to include the argument every time you run the binary. To mimic the previous behavior, you can set the argument or environment variable to ., which will use the invocation directory.

Merged PRs

doltgresql

  • 79: Added static analyzer & linter
    This adds a static analyzer and linter. This is just to help enforce a bit more code quality.
  • 78: Changed default database creation behavior
    Previously, when running doltgres, it would look at the current directory to determine if it was a valid DoltgreSQL directory. If it wasn't, then it would attempt to create a doltgres database within the directory. This behavior was chosen since "it just works", which is a selling point of the product. This was causing issues though, as users would run the tool from within the same directory that they downloaded it in. This caused an error message to appear stating that the file was conflicting with the attempt to create the database, however users were still confused by the behavior even with the error message.
    This default behavior has been changed. We now use the ~/doltgres/databases directory as the default directory. It no longer matters where you run doltgres from, it will always point to that directory. This directory can be changed by changing the environment variable DOLTGRES_DATA_DIR to a different directory.
    In addition, there's another environment variable named DOLTGRES_DATA_DIR_CWD. When this is set to true, then it causes DoltgreSQL to operate with the previous behavior, in that it will use the current directory rather than the global data directory.
  • 77: End to end tests of all postgres types (many skipped)
    Behavior and syntax verified against postgres, but many of them may require custom types instead of strings when implemented.
  • 74: Test generation framework additions
    I ran into too many issues while trying to generate a set of SELECT tests to add to sqllogictests, but I think this code here could still be useful in the future. The SELECT statements were too complex for random generation to happen upon a valid combination of queries, aliases, values, etc., but this could still have use for simpler statements. Since our synopses are written in a small DSL, you could technically generate anything as long as random generation is viable. It's basically what I've done for a lot of the generated tests throughout GMS and Dolt, but more formalized here.
  • 73: Correct issue test
    #25 was incorrect in its assumptions, but still proved valuable for learning. As a result, I've modified the skipped test so that we're now checking the same relative thing.
  • 72: Fix release notes generator
  • 71: Release v0.2.0
    Created by the Release workflow to update DoltgreSQL's version
  • 66: Contribution Guide
    Contribution guide. Primarily intended for Dolt devs transitioning to DoltgreSQL, but also written for anyone who wants to work on the repository. Now I can link to the document for some feedback, rather than leaving a paragraph on why it's important to change something lol.
  • 65: Add usage metrics to doltgres
    Usage metrics are now reported to the dolthub metrics servers for the sql-server command, tagged with the doltgres application ID.
    Also refactors application and server start to put top-level concerns in the main method.

Closed Issues

  • 43: No databases on macOS arm64?
  • 44: Document backup and replication needs/compability
  • 25: call dolt_branch("br1") errors