Skip to content

Releases: elliotchance/vsql

v0.3.1

26 Jul 21:20
6ad17e2
Compare
Choose a tag to compare
Better handling of SQLSTATE (#11)

The SQLState structs now carry the SQLSTATE in their `code` attribute.
Along with the new functions `sqlstate_from_int()` and
`sqlstate_to_int()` more flexible printing and matching operations are
possible.

v0.3.0

26 Jul 18:39
27f7c38
Compare
Choose a tag to compare
Adding NULL values and constraints (#10)

- NULL can now be used as a value.
- Specifying a `NOT NULL` constraint on table columns will ensure that
NULL values will not be added to the table. `NULL` can also be
explicitely provided to allow for `NULL`s.
- New expressions in the form of `X IS NULL` and `X IS NOT NULL` can be
used in both `SELECT` expressions and all `WHERE` clauses.
- A new SQLSTATE 23502 violates non-null constraint has been added.

As a consequence, also:

- TRUE, FALSE and UNKNOWN (boolean values) can now be used in
expressions.
- SELECT statements support multiple expressions (not just a single
value or `*`). However, the `*` is still not actually implemented.
- The version stored in the databse file will now start to increment
and be enforced for compatibility when opening a database.

v0.2.5

24 Jul 21:14
5aed64d
Compare
Choose a tag to compare
Added type checking (#7)

Types from statements like INSERT and UPDATE are now checked for casting
compatibility.

v0.2.4

24 Jul 16:50
0d5b19e
Compare
Choose a tag to compare
Adding delimited identifiers (#6)

Delimited identifiers are surrounded by double-quotes. A delimited
identifier casing is kept the same. Whereas as regular identifier is not
case-sensitive and will always be represented as upper case.

v0.2.3

24 Jul 16:15
3d1c610
Compare
Choose a tag to compare
Disallow reserved words for identifiers (#5)

Table and column names may not use reserved words. This does not
included SQL standard defined non-reserve words. Some of these words
are also parser keywords so they will return a different error, that's
OK, just as long as the name itself can not be used.

v0.2.2

24 Jul 15:39
d063bdd
Compare
Choose a tag to compare
Adding more data types (#4)

A lot of new data types that for now reduce down to the same two internal
types (string and f64). There are a lot of caveats with this that have
been documented in the README.

Also fixed a bug where CREATE TABLE would not accept more than one
column.

v0.2.1

23 Jul 13:42
340377a
Compare
Choose a tag to compare
Renaming vdb to vsql (#3)

As it was rightly pointed out on the V discord, vdb might be confused with a V
debugger. vsql is also a more descriptive name.

v0.2.0

22 Jul 21:07
47825bc
Compare
Choose a tag to compare
cli: Adding basic CLI (#2)

You can also work with database files through the CLI (ctrl+c to exit).

You will need to build the CLI tool first:

```
v install elliotchance.vdb
v ~/.vmodules/elliotchance/vdb/vdb-cli.v
```

Then usage is:

```
$ ./vdb-cli test.vdb
vdb> select * from foo
a: 1234 
1 row (1 ms)

vdb> select * from bar
0 rows (0 ms)
```

v0.1.1

22 Jul 20:29
114a72c
Compare
Choose a tag to compare
ci: Run SQL tests (#1)

Also needed to move `db` folder to the properly names `vdb` package.

v0.1.0

22 Jul 19:35
Compare
Choose a tag to compare
Very basic initial implementation

All data is stored in a single file and the most basic forms of
CREATE TABLE, DELETE, DROP TABLE, INSERT, SELECT and UPDATE.

Only two data types: CHARACTER VARYING(n) and FLOAT are supported.