Skip to content

Releases: elliotchance/vsql

v0.27.2

03 Mar 13:56
e423a6e
Compare
Choose a tag to compare
Fix bounds checking of BIGINT (#148)

This introduces a pseudo-type NUMERIC that is used internally to hold
exact values before they are cast into the used type. The previous
logic was to make all integers into BIGINT and all decimals into
DOUBLE PRECISION which caused some bounds checking to be impossible to
detect.

Fixes #116
Fixes #121

v0.27.1

01 Mar 06:26
28157a4
Compare
Choose a tag to compare
More efficient memory usage of Values (#147)

This doesn't change any behavior. The Value now uses a union to use a
lot less memory. This also does some minor refactoring to prepare for
the "scale" property of SQL types.

v0.27.0

28 Feb 07:15
bd6d3b1
Compare
Choose a tag to compare
Adding support for catalogs (#145)

A catalog is the SQL standard term for a database. A catalog contains
schemas, but cannot be directly created with SQL. Instead, a catalog in
vsql means a database file which includes a ":memory:" database.

Loading multiple catalogs allows vsql to work seamlessly across multiple
database files, although there is some limitations with transaction
guarantees when working with multiple catalogs. See documentation for
more details.

Catalogs are virtual, meaning that the catalog name is not encoded into
the database file but created when attaching it to the engine. By
default the catalog name is derived from the file by using the first
part of the file name. For example "/foo/bar.baz.vsql" will be "bar".

SQL Standard F651
SQL Standard F762

v0.26.2

24 Feb 04:15
8879d67
Compare
Choose a tag to compare
Support SET SCHEMA (#144)

Adding the `SET SCHEMA` statement and `CURRENT_SCHEMA` expression. These
would normally be trivial, but this was a good opportunity to refactor
the schema implementation to not be so hacky and make it much easier to
support catalogs in the future.

SQL Standard F763

v0.26.1

24 Feb 01:47
b503d7f
Compare
Choose a tag to compare
sequences: Fixing concurrent "NEXT VALUE FOR" (#143)

This fixes a bug where concurrent transactions using "NEXT VALUE FOR"
would make the sequence invisible to the other concurrent transaction.

The properties of a sequence (such as the `INCREMENT BY`, etc) are held
in the same record as the next value. Since the next value of a sequence
needs to be atomic (and separate from the transaction isolation) a
`ROLLBACK` on a transaction that contains an `ALTER SEQUENCE` will not
undo any changes.

Ideally, the properties of a `SEQUENCE` can be stored in a separate
location on disk. However, for now it's a documented limitation.

v0.26.0

15 Feb 07:20
a1d68d2
Compare
Choose a tag to compare
Adding support for SEQUENCEs (#142)

A sequence is used as an atomic counter. It is useful for generating
unique and sequential numbers.

The sequence can have an separately optional min and max values, as well
as being able to specify if numbers are allowed to cycle (wrap around)
between these boundaries.

New SQL statements introduced for `CREATE SEQUENCE`, `ALTER SEQUENCE`
and `DROP SEQUENCE` as well as the `NEXT VALUE FOR <name>` expression.

Fixes #139

v0.25.4

12 Feb 18:38
0b6acad
Compare
Choose a tag to compare
make: fix too lax loops in `make cli-test` and `make examples` (#140)

* fix too lax `make cli-test` and `make examples` (make them fail, if any of the steps in their loops fail)
* fix notice in vsql/sql_test.v
* panic instead of continue, when connection_name is not found in connections

v0.25.3

12 Feb 17:17
47b87bf
Compare
Choose a tag to compare
ci: fix ci errors and warnings with latest V 0.3.2 4747e70 (#136)

* ci: run `v fmt -w .` to make the CI pass again with latest `V 0.3.2 4747e70`
* fix warnings about uninitialised reference fields, by explicitly setting them to nil by default
* small cleanup, use os.getenv so that test runs can be parametrised more easily without changing the test source
* ci: run tests on each individual PR as well, not just on master. Fix warnings/errors produced by yamllint.
* document how to use TIMES=10 for running vsql/btree_test.v, in docs/testing.rst
* fix `make docs` on Ubuntu 20.04 and `make cli-test` too

Co-authored-by: Elliot Chance <elliotchance@gmail.com>

v0.25.2

12 Dec 16:10
8af2ddf
Compare
Choose a tag to compare
refactor: Fix v syntax errors (#135)

Some minor cleanup with V language and formatting changes.

v0.25.1

26 Aug 03:31
6119845
Compare
Choose a tag to compare
refactor: Fix V error syntax (#133)

There was recently a change to the language which distinguishes `?` (as
an optional none) vs `!` (as and optional error).