Peter Bex
16682ee9fc
Strip the syntax of operator type instead of injecting it
...
We could inject, but then we'd have to also inject all the symbols
we're comparing against (and use the "compare" procedure to do so).
Instead, because these identifiers are treated as plain symbols, it's
easier to strip the syntax.
This was always broken, but actually got exposed due to CHICKEN core
commit 41d48cdba2e46645c7dd157525652aa3953aed6c, which fixed an
obscure bug related to double renaming.
8 years ago
Moritz Heidkamp
69c9baddd5
Replace alist-ref + apply with custom pred-alist-ref
...
The alist-ref + apply version relied on the order alist-ref passes
arguments to the equality procedure. However, this order is not
guaranteed to be stable and in fact will change with CHICKEN 4.11 so
this version is replaced with a custom procedure pred-alist-ref to avoid
this issue.
9 years ago
Moritz Heidkamp
4759d4381f
add GROUP BY support
13 years ago
Moritz Heidkamp
976718ed55
add the `coalesce' function
13 years ago
Moritz Heidkamp
d63c4c9063
turn `values' into a normal prefix operator and require tuples to be given as vectors to reduce special-casing
13 years ago
Moritz Heidkamp
25e5e8b98b
re-use the function operator for `call' instead of re-implementing it
13 years ago
Moritz Heidkamp
cc9ea436a5
improve sub-query parenthesization and add more tests
13 years ago
Moritz Heidkamp
69915c5082
add `call' syntax to allow calling of arbitrary functions
13 years ago
Moritz Heidkamp
4f63ddbbb0
add support for DELETE statements
13 years ago
Moritz Heidkamp
ae8e641faa
amend clauses-order
13 years ago
Moritz Heidkamp
a723338316
change `(update widgets ...)' to `(update (table widgets) ...)' so as to not have a single symbol floating around there in order to make update statements composable
13 years ago
Moritz Heidkamp
d1de827a00
change insert syntax
13 years ago
Moritz Heidkamp
b2a6da33c2
it's not like I created that API myself
13 years ago
Moritz Heidkamp
8307540474
allow inserts without explicit column list
13 years ago
Moritz Heidkamp
f0b456f288
basic insert support
13 years ago
Moritz Heidkamp
b95efc8ca5
simple update support
13 years ago
Moritz Heidkamp
c8a5172bcd
inject where inject is due
13 years ago
Moritz Heidkamp
35e94e023c
allow column aliasing in (col ...)
14 years ago
Moritz Heidkamp
c23ca2ce48
add `in' operator
14 years ago
Moritz Heidkamp
f564b4316c
add support for tuple literals as vectors
14 years ago
Moritz Heidkamp
3b59938c32
ssql: add `infix*' operator type which allows defining infix operators without surrounding parens (required for column aliases with `AS')
14 years ago
Moritz Heidkamp
e7e17baf47
make `merge-clause' a proper method
14 years ago
Moritz Heidkamp
9fde24d7b5
move `insert-clause' into ssql translator engine so it can be specialized
14 years ago
Moritz Heidkamp
7c27be9b96
very basic ssql composition support through the `ssql-compose' procedure
14 years ago
syn
33c17eb471
ssql: add check to `define-operator' to fail at macro expansion time rather than at runtime when invalid operator types are given
...
git-svn-id: https://code.call-cc.org/svn/chicken-eggs/release/4/ssql/trunk@22910 fca3e652-9b03-0410-8d7b-ac86a6ce46c4
14 years ago
syn
9ae0559ec2
ssql: don't wrap prefix and suffix operators in parentheses; fix FROM clause with multiple tables to separate table names with commas; add `order' operator.
...
git-svn-id: https://code.call-cc.org/svn/chicken-eggs/release/4/ssql/trunk@22909 fca3e652-9b03-0410-8d7b-ac86a6ce46c4
14 years ago
syn
1c67cd0c36
ssql: port to chicken 4 and remove prometheud dependency
...
git-svn-id: https://code.call-cc.org/svn/chicken-eggs/release/4/ssql/trunk@22895 fca3e652-9b03-0410-8d7b-ac86a6ce46c4
14 years ago