Wolfgang Walther and Wolfgang Walther
772d3c4e01
chore: Update cachix actions
...
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-10-27 21:54:30 +02:00
Wolfgang Walther and Wolfgang Walther
f9f572a5d2
fix: Treat non-setof computed relationships as M2O/O2M
...
Fixes #2481
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-10-27 19:50:38 +02:00
Wolfgang Walther and Wolfgang Walther
88b5966a44
nix: Remove deprecation warning for dockerTools.buildImage { contents }
...
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-10-27 19:29:26 +02:00
Wolfgang Walther and Wolfgang Walther
3d2880d40a
fix: Return status code 200 when PATCHing without changing rows
...
This partially reverts #1257 / #1272 / 553531711b where the 404 was introduced.
A 406 error is still returned when requesting a single object via accept header.
Returning an error when no rows are changed can be introduced through a different syntax again, see the discussion in #2164 .
Fixes #2343
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-10-27 19:28:06 +02:00
Wolfgang Walther and Wolfgang Walther
958e052de5
chore: Clean up CHANGELOG
...
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-10-27 17:39:04 +02:00
Wolfgang Walther and Wolfgang Walther
793acd276a
test: Non-existing config options should not break anything
...
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-10-27 17:39:04 +02:00
Wolfgang Walther
9be6747b66
fix: Prevent infinite recursion with self-referencing views
...
Fixes #2283
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-10-26 21:33:30 +02:00
Wolfgang Walther
3bee6b1e27
fix: Fix regression in openapi output with mode follow-privileges
...
This was introduced in d5b92a433a . Before
this change, the OpenApi output would have <pk/> annotations for views,
too. After this change, they got lost for mode follow-privileges, because
the pks are refined in haskell code, but the request only fetches all
the tables again, but not the view dependencies.
This fix changes follow-privileges to only fetch a list of accessible
tables, which is then used to filter the tables in the schema cache.
Fixes #2356
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-10-26 21:29:58 +02:00
Wolfgang Walther and Wolfgang Walther
6fe1617348
fix: Expose PKs from all tables in a view
...
Fixes a regression in d2719420f4 .
Resolves #2458
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-10-24 16:49:32 +02:00
Wolfgang Walther and Wolfgang Walther
2158f3d039
fix: Embed views with different column ordering correctly
...
This fixes a regression introduced in d2719420f4 .
The order of relColumns in the schema cache is now consistently matching the order of columns in foreign key definitions.
Resolves #2518
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-10-24 16:49:32 +02:00
Wolfgang Walther and Wolfgang Walther
ca338ae401
test: Remove unused no_pk_view from fixtures
...
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-10-24 16:49:32 +02:00
Wolfgang Walther and Wolfgang Walther
5135fea797
test: grant privileges on all test tables by default
...
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-10-24 16:49:32 +02:00
Wolfgang Walther and Steve Chavez
9d3bbc736b
nix: Add hint how to derive docker image
...
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-09-20 16:39:37 -05:00
Wolfgang Walther and Robert Vollmert
ff56c3adf4
nix: port openssl patch to updated nixpkgs
2022-06-13 13:25:54 +02:00
Wolfgang Walther and Wolfgang Walther
41a4396147
fix: Remove uncallable functions from schema cache and OpenAPI output
...
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-02-08 09:08:27 +01:00
Wolfgang Walther and Wolfgang Walther
d9f7f6f509
refactor: Remove pg_catalog prefix from schema cache queries
...
Since the search path is voided at the beginning, there is no need to qualify those.
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-02-08 09:08:27 +01:00
Wolfgang Walther and Wolfgang Walther
bd62008e1c
fix: Remove aggregates, procedures and window functions from schema cache and OpenAPI output
...
Aggregates and Window functions can't be called as RPCs in a useful way.
Procedures are not supported right now, but might be added later.
Resolves #2101
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-02-05 17:48:22 +01:00
Wolfgang Walther and Wolfgang Walther
ded8981368
fix: Take PG version into account in --dump-schema
...
The PG version is only read by the Connection Worker, which is not used in the case dump-schema. Now, the pg version is read in the schema cache queries directly, avoiding this problem in all cases.
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-02-05 17:48:22 +01:00
Wolfgang Walther and Wolfgang Walther
52d628f1ed
fix: Return 204 No Content without Content-Type for RPCs returning VOID
...
Resolves #2001
BREAKING CHANGE: Previously, those RPCs would return "null" as a body with Content-Type: application/json.
2022-02-05 09:28:28 +01:00
Wolfgang Walther
9ca9a54d21
bump version to 9.0.0.20220204
2022-02-04 08:34:51 +01:00
Wolfgang Walther
bf689565a5
fix broken link in docker hub description, resolves #2148
...
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-02-04 08:34:35 +01:00
Wolfgang Walther and Wolfgang Walther
9f1b5c0a81
feat: Support accessing array items and fields of composite types through json operators
...
This is supported in select=, in filters and in order=.
Resolves #1543
Resolves #2075
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-02-03 08:13:38 +01:00
Wolfgang Walther and Wolfgang Walther
87bd8e72cf
fix changelog
...
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-02-03 08:13:38 +01:00
Wolfgang Walther and Wolfgang Walther
8934190d43
nix: Add postgrest-release tool
...
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-01-30 19:52:35 +01:00
Wolfgang Walther
c894b543b0
bump version to 9.0.0.20220130
2022-01-30 16:15:27 +01:00
Wolfgang Walther and Wolfgang Walther
58f76f3d6d
fix: Return 405 Method Not Allowed for unsupported verbs
...
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-01-28 19:26:33 +01:00
Wolfgang Walther and Wolfgang Walther
8980b09419
refactor: Sort error types
...
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-01-28 19:26:33 +01:00
Wolfgang Walther and Wolfgang Walther
927ff6f1e5
test: Split spec tests into multiple subfolders
...
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-01-28 19:26:33 +01:00
Wolfgang Walther and Wolfgang Walther
8a722e2cfe
refactor: Replace elem with pattern matching to highlight missing code coverage
...
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-01-28 19:26:33 +01:00
Wolfgang Walther and Wolfgang Walther
271c329677
nix: Fix postgrest-git-hooks causing merge conflicts when staging files partially
...
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-01-28 19:26:33 +01:00
Wolfgang Walther and Wolfgang Walther
c63420f0e7
nix: Fix postgrest-git-hooks disable not working
...
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-01-28 19:26:33 +01:00
Wolfgang Walther and Wolfgang Walther
2fe2c9104b
ci: Fix weeder not stopping CI on error
...
Removes dead code that was unnoticed
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-01-28 17:12:32 +01:00
Wolfgang Walther and Wolfgang Walther
0ea36fc039
ci: Fix windows build failing because of outdated keyring
...
Signed-off-by: Wolfgang Walther <walther@technowledgy.de >
2022-01-28 17:12:32 +01:00
Wolfgang Walther and Wolfgang Walther
fc7113e52e
fix: Remove trigger functions from schema cache and OpenAPI output
...
Trigger functions can't be called directly from SQL and can't be called
via the /rpc prefix either - it makes no sense to expose them in the
OpenAPI output. And we don't need to cache them in the schema cache
either.
Best practice would be to keep the trigger functions in a non-exposed
schema anyway.
2022-01-28 16:45:36 +01:00
Wolfgang Walther and Wolfgang Walther
fae1e168a7
Fix memory tests timing out after c3ade07
2022-01-24 14:56:06 +01:00
Wolfgang Walther and Wolfgang Walther
d2791ea0e5
Sort example config alphabetically
2022-01-24 14:56:06 +01:00
Wolfgang Walther and Wolfgang Walther
f4637c64c9
Remove db-root-spec from example config file
...
We are not going to support this officially right now.
2022-01-24 14:56:06 +01:00
Wolfgang Walther and Wolfgang Walther
1b9a30cff4
Make db-uri, db-schemas and db-anon-role optional in example config file
2022-01-24 14:56:06 +01:00
Wolfgang Walther and Wolfgang Walther
5a627e76b2
format comments in example config consistently
2022-01-24 14:56:06 +01:00
Wolfgang Walther
d9e016be8b
feat: Allow running postgrest without configuration
...
Resolves #1823
2022-01-22 15:59:26 +01:00
Wolfgang Walther
c3ade07ad6
feat: Make db-anon-role optional
...
Without db-anon-role, PostgREST will block any anonymous access without hitting the database.
Resolves #1689 , Ref #1823
2022-01-22 15:59:26 +01:00
Wolfgang Walther
05b5ecd23b
Reformatting of some test-cases and removal of superfluous comments.
2022-01-22 15:13:21 +01:00
Wolfgang Walther
dbbde6aae1
feat: Make db-schemas optional
...
Resolves #1769 , Ref #1823
2022-01-22 15:13:21 +01:00
Wolfgang Walther
9ed30c0ba4
feat: Make db-uri optional
...
The default is now "postgresql://" which falls back to LIBPQ environment variables.
Resolves #1991 , Ref #1823
2022-01-22 15:13:19 +01:00
Wolfgang Walther
ec09b87940
test: Make io tests use environment variables instead of config files where possible.
...
Load jwt secret from file instead of stdin in tests, because stdin is not supported when reloading the config. Resolves #2126 .
2022-01-22 15:10:25 +01:00
Wolfgang Walther and Wolfgang Walther
6b5370f145
ci: Add -with-rtsopts=-KxK option to prevent introducing space leaks
...
Resolves #387
2022-01-10 22:09:32 +01:00
Wolfgang Walther and Wolfgang Walther
a25ad42644
Align columns in postgrest.cabal
2022-01-10 22:09:32 +01:00
Wolfgang Walther and Wolfgang Walther
995215c6a5
fix: Read database configuration properly when = is present in value
...
Resolves #2120
2022-01-10 09:24:49 +01:00
Wolfgang Walther and Wolfgang Walther
4b841dba61
refactor: Reformat db-config query
2022-01-10 09:24:49 +01:00
Wolfgang Walther and Wolfgang Walther
9639cd5751
feat: Add current user to apache-style request logging.
2022-01-07 20:26:33 +01:00
Wolfgang Walther and Wolfgang Walther
d97bf3b864
refactor: Move each Wai Middleware to a separate file
2022-01-07 20:26:33 +01:00
Wolfgang Walther and Wolfgang Walther
8b63d928ae
test: Reorganize test/ folder into one subdirectory for each test type
2022-01-07 13:10:36 +01:00
Wolfgang Walther and Wolfgang Walther
8060fe3559
Remove unused dependencies from postgrest.cabal
2022-01-07 12:07:48 +01:00
Wolfgang Walther and Wolfgang Walther
df5d9400fe
test: Make io tests use admin/ready to wait for startup
2022-01-07 12:07:09 +01:00
Wolfgang Walther
6bc965e2a0
run postgrest-style
2022-01-07 11:39:41 +01:00
Wolfgang Walther and Wolfgang Walther
e13d912a79
cov: Add coverage overlay for impossible case in corsPolicy
2022-01-05 11:01:54 +01:00
Wolfgang Walther and Wolfgang Walther
826ae7459a
refactor: simplify logger middleware
2022-01-05 11:01:54 +01:00
Wolfgang Walther and Wolfgang Walther
cde9cd4ab7
cov: Remove unreachable static icon
2022-01-05 11:01:54 +01:00
Wolfgang Walther and Wolfgang Walther
b0a0c4768d
cov: Add tests for request logging
2022-01-05 11:01:54 +01:00
Wolfgang Walther and Wolfgang Walther
cc900787de
test: Remove unused unix-socket.config file
...
Unix sockets are the default in io tests and we are testing ip connections explicitly.
2022-01-04 09:36:22 +01:00
Wolfgang Walther and Wolfgang Walther
01e65f5221
test: Improve io test perfomance
...
Local test improves performance by 15%.
2022-01-04 09:36:22 +01:00
Wolfgang Walther and Wolfgang Walther
1e9031573c
test: Move io-tests SQL fixtures to a separate file
2022-01-04 09:36:22 +01:00
Wolfgang Walther and Wolfgang Walther
81ebdff977
test: Improve log output for failing io-tests
2022-01-04 09:36:22 +01:00
Wolfgang Walther and Wolfgang Walther
9baad293e8
test: Refactor invalid_role_claim_key_notify_reload test to properly read all available input
2022-01-04 09:36:22 +01:00
Wolfgang Walther and Wolfgang Walther
efc7a21427
test: Refactor test-cases for admin/health endpoint
2022-01-04 09:36:22 +01:00
Wolfgang Walther and Wolfgang Walther
b9c497a3ab
test: Use .encode() end .decode default values in io-tests
...
Those default to "utf-8" anyway.
2022-01-04 09:36:22 +01:00
Wolfgang Walther and Wolfgang Walther
5f43235370
nix: Fix nested postgrest-with-postgresql-x calls when -f is used
2022-01-04 09:36:22 +01:00
Wolfgang Walther and Wolfgang Walther
57ff89be64
Remove outdated heroku manifest
2022-01-01 15:57:58 +01:00
Wolfgang Walther and Wolfgang Walther
4f7ee6f36a
cov: Improve jwt claims test-cases
2021-12-25 13:27:53 +01:00
Wolfgang Walther and Wolfgang Walther
14f3b25022
fix: Fix wrong CORS header Authentication -> Authorization
...
Also refactors defaultCorsPolicy and corsPolicy and cleans up CORS tests
2021-12-25 13:27:53 +01:00
Wolfgang Walther and Wolfgang Walther
b99c8c897c
fix: Make recursive view parsing work with XMLTABLE + DEFAULT
2021-12-24 19:01:20 +01:00
Wolfgang Walther and Wolfgang Walther
031de4d35e
fix: Dump db-config option without quotes as it's a boolean
2021-12-11 08:12:59 +01:00
Wolfgang Walther and Wolfgang Walther
595c2a5257
nix(feat): Add postgrest-git-hooks to enable pre-commit and pre-push hooks
2021-12-06 10:40:23 +01:00
Wolfgang Walther and Remo
74f6e5225c
nix: Add weeder to postgrest-coverage
...
Removes a bit of dead code from SpecHelper.hs
2021-12-04 11:39:56 +01:00
Wolfgang Walther and Wolfgang Walther
c581148f1b
refactor: Make asJsonSingleF "safe", by accessing only the first element of a json_agg result
2021-12-01 09:19:47 +01:00
Wolfgang Walther and Wolfgang Walther
0e20b47875
fix: Return 204 No Content without Content-Type for PUT
2021-12-01 09:19:47 +01:00
Wolfgang Walther and Wolfgang Walther
1cb00d3c62
fix: Execute deferred constraint triggers when using Prefer: tx=rollback
...
Resolves #2020
2021-11-30 15:54:12 +01:00
Wolfgang Walther and Wolfgang Walther
bbc07d3f40
fix: Link to latest docs in pre-release openapi output
...
Resolves #2018
2021-11-29 08:40:38 +01:00
Wolfgang Walther and Steve Chavez
9c6597c351
ci: Use matrix strategy to test against postgres versions
2021-11-27 13:15:42 -05:00
Wolfgang Walther and Steve Chavez
defdcb85ef
ci: Run IO tests against all postgres versions
...
Resolves #1820 .
2021-11-27 13:15:42 -05:00
Wolfgang Walther and Steve Chavez
94115ff134
ci: Disable update of dockerhub description on release
...
This is not allowed via personal access token right now and could be re-enabled in the future, once solved by docker hub.
2021-11-27 13:11:30 -05:00
Wolfgang Walther and Wolfgang Walther
5a8d9b1246
nix(feat): Add bash completion for git references
2021-11-27 10:57:29 +01:00
Wolfgang Walther and Wolfgang Walther
32ff9dfb48
nix(feat): Add postgrest-loadtest
2021-11-27 10:57:29 +01:00
Wolfgang Walther and Wolfgang Walther
ab90bd24e0
nix(feat): Add postgrest-with-git and postgrest-with-pgrst tools
2021-11-27 10:57:29 +01:00
Wolfgang Walther
19c3ee2143
ci: Fix target commit for report workflow
2021-11-26 08:01:00 +01:00
4fb0d1279c
test: Add test to confirm ASSERT will return 500 Internal Server Error
...
Co-authored-by: Dmitry Wagin <dmitry.wagin@ya.ru >
2021-11-25 22:56:49 +01:00
Wolfgang Walther
81f9bf290c
ci: Fix permissions for report workflow
2021-11-24 23:01:33 +01:00
Wolfgang Walther and Wolfgang Walther
dbef11869c
ci: Add report workflow ahead of #1812
2021-11-24 21:23:57 +01:00
Wolfgang Walther and Wolfgang Walther
b38564e623
nix(refactor): Make checking for required environment variables a no-op
2021-11-24 21:23:57 +01:00
Wolfgang Walther and Wolfgang Walther
2a2a4bdeac
nix: remove unused ghr import
2021-11-24 21:23:57 +01:00
Wolfgang Walther and Wolfgang Walther
a65ac9b0f6
feat: drop support for pg 9.5
2021-11-24 19:42:53 +01:00
Wolfgang Walther and Wolfgang Walther
7ed8b10776
test: Remove conditional for pgVersion95 in JsonOperatorSpec
...
pgVersion95 is the minimum already.
2021-11-24 19:42:53 +01:00
Wolfgang Walther and Wolfgang Walther
c3854e7c74
ci: Add dependabot config for auto updates of github actions
2021-11-24 18:41:32 +01:00
Wolfgang Walther and Remo
b7dcc63e37
nix: Simplify with_tmp_db
2021-11-24 18:06:56 +01:00
Wolfgang Walther and Wolfgang Walther
1981160536
ci: Use include in stack build matrix
2021-11-21 21:53:24 +01:00
Wolfgang Walther and Wolfgang Walther
f3eb8a317d
ci: Disable fail-fast in stack matrix to keep other builds alive on failure
2021-11-21 21:53:24 +01:00
Wolfgang Walther and Wolfgang Walther
7aedebecee
ci: Visually separate jobs in workflow file
2021-11-21 18:40:42 +01:00
Wolfgang Walther and Wolfgang Walther
d5afdc7c53
ci: Use matrix strategy to build with stack
2021-11-21 18:40:42 +01:00
Wolfgang Walther and Wolfgang Walther
b7c261f520
ci: Update actions
2021-11-21 18:40:42 +01:00
Wolfgang Walther and Wolfgang Walther
942391c508
ci: Add .github scripts to shellcheck
2021-11-21 18:40:42 +01:00