* initial raster support
* _st_intersects_geom -> _st_intersects_geom_nband
* add tests
* update docs
* improve docs
As requested by @marionschleifer
* new type for raster values
Suggested by @lexi-lambda
* replace `SEUnsafe "NULL"` with SENull
* use positional arguments in SQL functions
* only allow omitting set of last arguments in functions
* disallow omitting of a non default argument in functions
* Error on line 72
That line throws an error:
```ocaml
53 │ let onlineUsers = Array.map(u => <UserItem user=u />, data##on
line_users);
54 │
55 │ let onlineUsersTitle =
This has type:
Js.Array.t({. "id": option(string), "user": option({. "name": string})})
(defined as
array({. "id": option(string), "user": option({. "name": string})}))
But somewhere wanted:
array({.. "name": string})
The first object type has no method name
>>>> Finish compiling(exit: 1)
```
Works like this:
```ocaml
let online_users = data##online_users->Belt.Array.keepMap(x => x##user);
let onlineUsers = Array.map(u => <UserItem user=u />, online_users);
```
Or however you want to do it.
* Per pull conversation
added piped version, combining functions.
These changes also add a new type, PGColumnType, between PGColInfo and
PGScalarType, and they process PGRawColumnType values into PGColumnType
values during schema cache generation.
This mostly simplifies the RootFlds type to make it clearer what it’s
used for, but it has the convenient side-effect of preventing some
“impossible” cases using the type system.
* Listens for SIGTERM as the termination signal
* Stops accepting new connections once the signal is received
* Waits for all connections to be drained, before shutting down
* Forcefully kills all pending connections after 30 seconds
Currently this does not send a close message to websocket clients, I'd
like to submit that change as a separate pull request, but at least this
solve my biggest concern which is not getting confirmation for mutations
while restarting the server.
Schema permissions summary page
* show summary of access control for all roles across tables and actions
* allow copy of permissions from one role to others
Table permissions page
* highlight actions and roles as headers in table
* move bulk action selector to end of row
* scroll to edit/bulk section when opened
* pre-select table and action in clone section
* allow altering type of a column iff session vars are defined in permissions
* use a sum type to define dependency reason
* set jwt expiry test's expiry time to 4 seconds
* derive Data instance for necessary types to simplify 'hasStaticExp'