Skip to content

Releases: elliotchance/vsql

v0.27.5

07 Mar 15:01
908d3fa
Compare
Choose a tag to compare
Adding warnings (#155)

Warnings are SQLSTATE errors that do not stop the execution. For
example,  if a value must be truncated during a runtime CAST.

Warnings are not ever reset, although only 100 of the most recent
warnings are retained. This is to be able to collect all warnings during
some arbitrary process defined by the application. Instead, you should
call clear_warnings() before starting a block of work.

v0.27.4

04 Mar 21:34
0f10613
Compare
Choose a tag to compare
docker: Improvements (#152)

- Added more detailed documentation for using docker.

- As ctrl+C doesn't forward the signal with `docker run`, you can now
use `exit` to exit the shell.

- Errors are now formatted correctly and do not cause the CLI to exit.

- Hopefully, this fixes a stdout bug where "vsql> " appears after the
input. Although, I cannot test this easily on macOS.

v0.27.3

04 Mar 07:13
Compare
Choose a tag to compare
Adding Docker (#151)

Releases will now push a docker image. This is a really easy way to get
up and running:

    docker run -it elliotchance/vsql:latest cli mydb.vsql

Fixes #150

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