steve-chavez
2aa0e091bb
feat: add spread embeds
2022-11-16 21:26:16 -05:00
steve-chavez
78d45b4e32
feat: add related orders
2022-11-08 17:28:50 -05:00
steve-chavez
aaa4fbc370
bump version to 10.1.1
2022-11-08 12:51:16 -05:00
Robert Vollmert and Wolfgang Walther
5e65b2afaf
fix: bump hasql-pool to 0.8.0.6
...
This update ensures that connections aren't lost if they throw
an exception. Compare #2558 .
2022-11-05 15:48:52 +01:00
steve-chavez
3408998629
bump version to 10.1.0.20221104
2022-11-04 18:47:48 -05:00
steve-chavez
b2935ef799
bump version to 10.1.0
2022-10-28 18:09:19 -05:00
Robert Vollmert and Wolfgang Walther
03b810ffa5
allow/use lens 5.2
2022-10-28 10:49:04 +02:00
Felix Yan and Steve Chavez
64e047e5d7
Allow aeson 2.1
...
Builds fine and all tests pass.
2022-10-14 13:44:39 -05:00
steve-chavez
efecf007e8
bump version to 10.0.0.20221011
2022-10-11 11:42:40 -05:00
Felix Yan and Steve Chavez
b81e15d0c5
Allow vector 0.13
...
Builds fine and all tests pass.
2022-10-10 17:47:48 -05:00
Steve Chavez and GitHub
0fbb116dd2
add basic ARCHITECTURE.md ( #2503 )
...
* refactor: move ApiRequest a top-level module
* refactor: rename DbStructure to SchemaCache
* refactor: GucHeader inside Response
* refactor: admin app to Workers
2022-10-10 11:24:45 -05:00
steve-chavez
e4b98d51be
fix: resource embedding opens empty transaction
...
This required untangling logic from App.hs.
Building/rejecting a plan no longer consumes a pool connection.
* Added io test for failed resource embedding not consuming connection
* optionalrollback to Query.hs and Response.hs
* delete Middleware module
* remove plan logic from App.hs
* remove RequestContext
* remove pkCols logic from App.hs
* remove proc logic from App.hs
* remove config logic from handleRequest
2022-10-07 18:52:57 -05:00
Felix Yan and Steve Chavez
cfaeff8a5a
Allow jose 0.10
...
Builds fine and all tests pass.
2022-10-05 18:22:32 -05:00
steve-chavez
6398dd2b32
refactor: add plan module
...
* rename/add plan dirs
* add read plan func/data
* add call plan func/data
* add mutate plan func/data
2022-10-04 16:13:34 -05:00
steve-chavez
fd67c8480c
refactor: OpenAPI as Response submodule
...
* body after dbstructure
* rename runPgLocals to setPgLocals
2022-10-01 11:05:49 -05:00
steve-chavez
e356783cc9
refactor: add Query.hs module
...
* add readQuery
* add createQuery
* update query
* single upsert query
* delete query
* invoke query
* open api query
2022-09-26 17:28:08 -05:00
steve-chavez
8d369a2195
refactor: add Response.hs module
...
* add response updateResponse
* add singleUpsertResponse
* add delete/invoke response
* add open api response
* add info response
* remove ApiRequest from profileHeader
* contentTypeHeaders only needs ApiRequest
2022-09-25 13:53:11 -05:00
Robert Vollmert
38ecaa44db
encode json body in binary, using modified hasql dep
...
- switch from "unknown" parameter in text format to a "json" parameter in
binary format (no dependency update required)
- use a lazy bytestring "json" encoder (via updated hasql)
2022-09-19 20:49:11 +02:00
Robert Vollmert
e2aa227597
upgrade to hasql-1.6, hasql-pool-0.8.0.2
...
- hasql-pool-0.8
* 'release' now flushes the pool, and no longer destroys it;
'PoolIsReleasedUsageError' is gone compared to our fork
* now supports an acquisition timeout, which we don't use
yet
* lower bound on 0.8.0.2 to fix a Windows build issue
- hasql-1.6
introduces a position parameter to ServerError, which we
ignore
2022-08-30 20:59:26 +02:00
Robert Vollmert
90eaaefe12
upgrade to fork of hasql-pool 0.7.2 ( fixes #2401 )
...
This version of hasql-pool is a simplified rewrite that doesn't use
the resource-pool package. The major API changes are that idle
connections are no longer timed out (and the corresponding setting
is gone), and that `release` makes the pool unusable, where it used
to remain usable and only flushed idle connections.
We depend on a PostgREST fork of 0.7.2 that gives us reliable
flushing, compare https://github.com/PostgREST/hasql-pool/pull/1
- hasql-pool 0.7 removes timing out of idle connections, so
this change removes the db-pool-timeout option.
Given that we were typically running with very high
timeout settings, I don't anticipate the lack of timeout
to introduce new issues, though we might want to consider
introducing some retry-logic down the line when we
encounter connection failures.
- See https://github.com/PostgREST/postgrest/issues/2422 for a
discussion on depending on a forked dependency. Besides adding
the dependency to the nix overlay, we're also adding it to
stack.yaml and a new cabal.project to allow stack/cabal users
to build the project.
2022-08-29 14:55:09 +02:00
steve-chavez
a41380b965
bump version to 10.0.0
2022-08-18 23:35:41 -05:00
steve-chavez
d6ec171bcb
feat: add computed relationships
...
* work for select, mutations, rpc
* overrides detected relationships
2022-08-17 22:50:06 -05:00
Laurence Isla and GitHub
ba3ba9fd5b
refactor: simplify tests where mutations need to be verified in the db
2022-08-15 12:06:54 -05:00
Laurence Isla and GitHub
4ac47df528
tests: Add tests for the pg-safeupdate library
2022-08-10 11:50:57 -05:00
steve-chavez
d24f0c8216
bump version to 9.0.1.20220802
2022-08-02 21:13:35 -05:00
Steve Chavez and GitHub
8911afd079
feat: Allow getting the EXPLAIN plan of a request
2022-07-27 19:33:34 -05:00
steve-chavez
d2df289696
bump version to 9.0.1.20220717
2022-07-17 18:44:13 -05:00
Laurence Isla
5ac4c29a9e
bump version to 9.0.1.20220714
2022-07-14 15:44:31 -05:00
Laurence Isla and GitHub
e0ba6b6d1c
Add security definitions to the OpenAPI output
2022-07-13 22:47:09 -05:00
steve-chavez
8230128ff6
fix: no empty tx on bad HTTP method
2022-07-11 18:21:36 -05:00
steve-chavez
7a7ceaf39a
refactor: rename ContentType to MediaType
...
The core type was wrongly named as the header
2022-07-06 13:47:59 -05:00
steve-chavez
3e83bef9c4
bump version to 9.0.1.20220630
2022-06-30 13:53:33 -05:00
steve-chavez
870f7a39b0
Add PostGIS GeoJSON support
...
Works for GET, POST, PATCH, PUT, DELETE, RPC.
2022-06-22 22:16:44 -05:00
Robert Vollmert
f582798276
ReadQuery: split out to fix record field warning
...
The use of `where_` in DbRequestBuilder issues a warning since
GHC 9.2 as per
https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0366-no-ambiguous-field-access.rst
To disambiguate that, move the type to a separate module and use
the record field names qualified. For symmetry, MutateQuery also
gets its own module.
2022-06-16 10:38:59 +02:00
Robert Vollmert
356bff9cbd
cabal: relax upper bounds to allow GHC 9.2
2022-06-16 10:37:05 +02:00
Robert Vollmert
f5afa419f1
cabal, tests: require wai-logger 2.4.0, adapt tests
...
wai-logger version 2.4.0 fixes log output to not say 'unknownSocket'
for unix sockets.
2022-06-13 13:25:54 +02:00
Robert Vollmert
7531c5490d
cabal: allow hasql-1.5, hasql-dynamic-statements-0.3.*
2022-06-13 13:25:54 +02:00
Robert Vollmert
bb62e559d6
cabal: require jose >= 0.8.5.1 (aeson-2 compat)
...
jose version before 0.8.5.1 lacked an upper bound on
aeson-2, causing build failures with aeson-2 present.
2022-06-13 13:25:54 +02:00
Robert Vollmert
e42bf30aeb
cabal: allow swagger 2.8
2022-06-13 13:25:54 +02:00
Robert Vollmert
48a3d1d516
cabal: update aeson to 2.0.3
2022-06-13 13:16:56 +02:00
Laurence Isla and GitHub
f9688c3553
Upgrade protolude to 0.3.1
2022-06-08 11:41:39 -05:00
steve-chavez
d14f745406
bump version to 9.0.0.20220531
2022-05-31 18:19:02 -05:00
steve-chavez
1cdc9169c7
fix: using CPU while idle
2022-05-31 12:17:36 -05:00
steve-chavez
9aa400c8f3
fix: disable parallel GC for perf on high-core CPU
2022-05-31 12:17:36 -05:00
steve-chavez
1ab11de96c
bump version to 9.0.0.20220516
2022-05-16 14:36:04 -05:00
steve-chavez
980f27a6d1
bump version to 9.0.0.20220502
2022-05-02 16:06:51 -05:00
Laurence Isla
8e86177486
bump version to 9.0.0.20220326
2022-03-26 12:26:47 -05:00
steve-chavez
dcf7ade5bc
bump version to 9.0.0.20220211
2022-02-11 14:47:33 -05:00
Steve Chavez and GitHub
9021c96baa
fix: Keep working when EMFILE is reached ( #2158 )
...
Done by upgrading to warp 3.3.19
2022-02-09 17:27:29 -05:00
Wolfgang Walther
9ca9a54d21
bump version to 9.0.0.20220204
2022-02-04 08:34:51 +01:00