steve-chavez
a6696f3ba1
refactor: add Hasql arrayColumn decoder
2020-10-29 18:53:24 -05:00
steve-chavez
04eaeec7fc
refactor: reorder PgVersion(95/96)Spec tests
...
* move json ops tests to JsonOperatorSpec
* move phfts operator tests to QuerySpec and RpcSpec
* add custom spec for pre-request header guc tests
2020-10-29 18:53:24 -05:00
Wolfgang Walther and Steve Chavez
302d4e15ad
Allow calling variadic functions with repeated query params or JSON array in body
2020-10-26 17:49:51 -05:00
Wolfgang Walther and Steve Chavez
18cc214c04
refactor moving findProc into ApiRequest to allow parsing parameters differently by proc
2020-10-26 17:49:51 -05:00
Wolfgang Walther and Steve Chavez
06e85357c7
add tests to pass regular arrays properly to RPCs
2020-10-26 17:49:51 -05:00
Wolfgang Walther and Steve Chavez
eed0d3a66c
ci: add coveralls.io integration
2020-10-22 12:05:25 -05:00
steve-chavez
d1d0c6772a
perf: change Text queries to ByteString
...
Improves performance by not utf8 encoding the whole query with
encodeUtf8. Only certain parts.
It's also a gradual step needed to use the Snippet type
from hasql-dynamic-statements.
2020-10-17 15:01:06 -05:00
steve-chavez
7e3e19acbb
refactor: untangle addFiltersOrdersRanges
...
Remove convoluted function composition
2020-10-17 15:01:06 -05:00
Wolfgang Walther and GitHub
b7b66b600d
ci: remove io tests from stack-test because of random segmentation faults ( #1627 )
...
io tests already run on nix-build-test
2020-10-16 13:53:43 -05:00
Wolfgang Walther and GitHub
780970885e
ci: run spec tests against all pg versions, even if one of them fails ( #1628 )
...
- when the build fails no tests are run(circleci-agent step halt)
- when the build succeeds all tests are run, even if some of them fail(when: always)
2020-10-16 11:15:20 -05:00
Wolfgang Walther and Steve Chavez
5f33f01094
correct issue numbers in changelog
2020-10-16 10:24:41 -05:00
Wolfgang Walther and Steve Chavez
719c4abba2
Drop support for postgres 9.4
2020-10-15 08:43:28 -05:00
Wolfgang Walther and Steve Chavez
29858b8d0d
improve cirrus build time by properly using cabal cache
2020-10-14 22:25:42 -05:00
Wolfgang Walther and Steve Chavez
b21a0f6192
fix travis build timeout swallowing error code
2020-10-14 10:49:47 -05:00
Wolfgang Walther and Steve Chavez
f5331d1a77
fix build error on windows
2020-10-14 09:26:35 -05:00
Wolfgang Walther and Steve Chavez
5bb670b736
fix appveyour build script
2020-10-14 09:26:35 -05:00
Remo Rechkemmer and Steve Chavez
2eb8083869
Simplify Nix CI jobs
2020-10-14 09:10:47 -05:00
Wolfgang Walther and GitHub
99ecc7af70
Update stack.yaml.lock ( #1616 )
2020-10-13 10:50:19 -05:00
steve-chavez
ccad9eb9bc
Change default log-level, from info to error
2020-10-06 14:21:46 -05:00
steve-chavez
d9a608d9b0
Add warn log level
2020-10-06 14:21:46 -05:00
steve-chavez
f6b6abe734
Add error log level
2020-10-06 14:21:46 -05:00
steve-chavez
e9efcc70a5
Add log-level config
2020-10-06 14:21:46 -05:00
Robert Vollmert and Steve Chavez
60398ad538
Allow wai-middleware-static 0.9
...
- Only serve static files on HEAD or GET requests.
2020-10-06 12:45:40 -05:00
Remo Rechkemmer and Steve Chavez
741f017a17
Use Postgres 13 in tests/docker-compose.yml
2020-10-05 13:47:53 -05:00
monacoremo and Steve Chavez
e4e84e5714
Upgrade nixpkgs and add Postgres 13 support
2020-10-05 13:47:53 -05:00
Wolfgang Walther and Steve Chavez
d395bb6052
Fix error messages on connection failure for postgres on localized Windows
2020-10-03 10:11:41 -05:00
Felix Yan and GitHub
17f04a886e
Allow hspec-wai/hspec-wai-json 0.11 ( #1595 )
2020-09-27 16:04:47 -05:00
Robert Vollmert and Steve Chavez
807dae1768
Allow wai-extra 3.1
2020-09-22 11:45:58 -05:00
7af54c5813
Upgrade nixpkgs to current master and add an upgrade checklist ( #1579 )
...
* simplify haskell packages overrides based on new nixpkgs
* update Nix gitignore
* simplify Haskell packages overlay
Co-authored-by: monacoremo <monacoremo>
2020-09-09 19:08:16 -05:00
Robert Vollmert and Steve Chavez
bd2160db26
Make cabals bound more consistent
...
Specifically, allow point-updates to hasql-notifications, and
give a reasonable lower bound for network (the version that comess
with GHC 8.0 on stackage).
2020-08-14 21:12:58 -05:00
Robert Vollmert and Steve Chavez
a3f4548a81
Allow base64-bytestring 1.2 and optparse-applicative 0.16
2020-08-14 21:12:58 -05:00
Wolfgang Walther and GitHub
8e4687fb53
Return 405 Method not Allowed for GET of volatile RPC instead of 500 ( #1560 )
2020-07-16 16:05:57 -05:00
Steve Chavez and GitHub
189847927e
Schema cache reload with zero downtime ( #1559 )
...
* Improve error messages and comments
* Reorder Main.hs functions
2020-07-16 13:39:25 -05:00
Wolfgang Walther and GitHub
6b2767d35c
Additionally allow "bearer" instead of only "Bearer" in Authorization… ( #1558 )
2020-07-16 12:09:40 -05:00
Remo and Steve Chavez
1f6a824dfb
Bump nixpkgs pin to unstable as of 2020-07-13
2020-07-13 18:47:45 -05:00
steve-chavez
e8b4e3771c
Allow config file reloading with SIGUSR2
...
* move config validation to Config.hs
* Add tests for jwt-secret/app.settings.*/db-schema reload
2020-07-13 11:30:16 -05:00
steve-chavez
e272ea47be
refactor: move logStdout/corsPolicy to Middleware
...
* remove configQuiet from Config
configQuiet was not an end user setting.
The logging setup is now an internal parameter.
* move proxy uri validation to Private dir
2020-07-13 11:30:16 -05:00
steve-chavez
0ff05edd16
refactor: move parseSecret out of App.postgrest
...
parseSecret only needs to be computed once, after the config is read.
2020-07-13 11:30:16 -05:00
steve-chavez
96a16a377f
refactor: move loadDbUriFile/SecretFile to Config
...
* make schema cacher filler use Appconfig
* change configRoleClaimKey to Either Text JSPath
2020-07-13 11:30:16 -05:00
steve-chavez
896b79f05b
refactor: separate reading file from parsing it
2020-07-13 11:30:16 -05:00
Wolfgang Walther and GitHub
343e41c51d
Location header improvements( #1475 )
...
* Create location header only on primary key columns, closes https://github.com/PostgREST/postgrest/issues/1461
* Return location header when pk columns not selected, fixes https://github.com/PostgREST/postgrest/issues/1162
2020-07-08 14:36:40 -05:00
steve-chavez
55b4f4fbe7
Fix expired JWTs starting an empty transaction
...
Fixes https://github.com/PostgREST/postgrest/issues/1094 .
Expired JWTs were doing an empty BEGIN/COMMIT in the db.
2020-07-03 17:23:10 -05:00
Wolfgang Walther and Steve Chavez
a5bc293372
add test cases for singular minimal
2020-07-03 13:54:39 -05:00
Steve Chavez and GitHub
43d71e95ac
Allow schema cache reloading with NOTIFY ( #1542 )
...
Fixes https://github.com/PostgREST/postgrest/issues/1512
Helps on environments where you can't send unix signals(Windows, managed
containers). Also provides better UX for schema reloads - NOTIFY
can be sent from pg clients(psql, pgadmin).
`NOTIFY pgrst` - with no payload - should be done to reload the schema cache.
Notifications with a payload will be ignored.
The channel can be enabled with `db-channel-enabled`(false by default)
and its name can be configured with `db-channel`.
The LISTEN thread uses a dedicated pg connection.
This connection is recovered if it fails.
A debounce of 1ms is done in case too many NOTIFYs arrive.
2020-06-24 19:00:02 -05:00
steve-chavez
24064f8626
github: CHANGELOG reminder in PR template
2020-06-05 13:57:47 -05:00
steve-chavez
8588a42aa9
Fix broken links in .github dir
...
Also add a PR template
2020-06-05 13:40:03 -05:00
Steve Chavez and GitHub
0f0d617951
Allow http status override through response.status guc ( #1541 )
...
Fixes https://github.com/PostgREST/postgrest/issues/1525
2020-06-05 13:01:36 -05:00
Remo Rechkemmer and GitHub
69b09e312a
Nixify io and memory tests ( #1538 )
...
* Include tests for io and memory in the Nix environment.
* include spec tests in nix-shell by default
* install the io and memory tests in CI
2020-05-28 12:45:14 -05:00
Felix Yan and GitHub
784ebe57d7
Allow aeson 1.5 ( #1537 )
2020-05-26 10:43:14 -05:00
Remo Rechkemmer and GitHub
08186ea51c
Nixify CircleCI setup ( #1535 )
...
* package ghr
* add nix-based release scripts
* refactor CI based on nix tests and release scripts
* update stack version in circleci
* update makefile
* remove docker directory
* add Docker Hub description
* add README on docker
2020-05-25 11:27:35 -05:00