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
e9efcc70a5
Add log-level config
2020-10-06 14:21:46 -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
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
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
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
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 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
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
steve-chavez
d4aba5cb08
Add notice about single Linux static executable
2020-05-22 14:30:23 -05:00
Remo Rechkemmer and GitHub
e6874c866d
Fix UNKNOWN being shown as git commit hash ( #1533 )
...
Fixes https://github.com/PostgREST/postgrest/issues/1530
2020-05-20 14:10:53 -05:00
steve-chavez
d6050c8615
Bump to version v7.0.1
2020-05-18 13:05:09 -05:00
steve-chavez
10c363b588
Remove PUT restriction for all columns/single row
...
Fixes https://github.com/PostgREST/postgrest/issues/1452 .
The single row restriction can be lifted because the
PUT will consider only the first object of the array.
2020-05-02 11:51:32 -05:00
steve-chavez
9a52632024
Fix Content-Profile not working for POST RPC
...
Accept-Profile was applied instead.
Fixes https://github.com/PostgREST/postgrest/issues/1508 .
2020-05-02 11:51:32 -05:00
steve-chavez
f57caf0987
Readd openapi-server-proxy-uri config option
...
This option accidentaly got lost during a merge.
Fixes https://github.com/PostgREST/postgrest/issues/1500
2020-05-02 11:51:32 -05:00
Wolfgang Walther and GitHub
be674eb41d
Fix POST, PATCH, DELETE with ?select= and empty body or return=minimal ( #1471 )
...
* add tests for POST, PATCH, DELETE when using ?select= with empty bodies or ret=min
* fix select with empty bodies and ret=min
* improved tests for default cases, fixed computed overloaded columns on empty-body?select= PATCH
2020-04-13 12:32:35 -05:00
Wolfgang Walther and GitHub
c524531784
Fix overloaded computed columns on RPC ( #1473 )
...
* fix some typos and spelling
* fix pg_source CTE name should be prefixed with pgrst_
* added tests for overloaded computed columns on patch calls
2020-04-06 14:04:55 -05:00
steve-chavez
2b61a63686
Bump to version v7.0.0
2020-04-03 11:22:11 -05:00
691bb5640d
Allow multiple schemas to be exposed in one instance ( #1450 )
...
The schema to use can be selected through the headers `Accept-Profile` for GET/HEAD and `Content-Profile` for POST/PATCH/PUT/DELETE.
This is based on the https://www.w3.org/TR/dx-prof-conneg/ttps://www.w3.org/TR/dx-prof-conneg/ spec.
Also increase all memory tests by 1M(otherwise CI fails).
Co-authored-by: Mahmoud Kassem <MKassem@gk-software.com >
Co-authored-by: Mahmoud Kassem <mahmoud_k@mail.com >
2020-03-30 14:04:20 -05:00
steve-chavez
b75e7cef90
Change server-proxy-uri 2 openapi-server-proxy-uri
...
The server-proxy-uri config option mislead into thinking it was a
web server global setting when it's only related to OpenAPI.
2020-02-02 15:23:32 -05:00
steve-chavez
9b1224827a
Allow overriding headers Location,Content-Type,etc
2020-01-21 12:28:05 -05:00
steve-chavez
c7f78fa7fc
Add response.headers on GET/POST/PATCH/PUT/DELETE
2020-01-21 12:28:05 -05:00
steve-chavez
7dade7f466
Add request method and path GUCs
2020-01-21 12:28:05 -05:00
steve-chavez
b20e1150a5
Add GUC for accessing the Authorization header
2020-01-21 12:28:05 -05:00
Steve Chavez and GitHub
663faa1f82
Allow specifying the constraint name to disambiguate an embedding ( #1430 )
...
Makes previous duck typing regex unnecessary since the FK can be renamed
to a singular name or to any other format.
* Remove embedding with duck typed column names
* Allow embedding by foreign key name
* Add junction disambiguation tests
2020-01-06 09:42:33 -05:00
YUKISHITA Yohsuke and Steve Chavez
99b13fa25f
Upsert with "Prefer: resolution=merge-duplicates" on specified columns ( #1327 ) ( #1432 )
...
Allow query param 'on_conflict=key1,key2,...' to upsert with explicit columns with unique
constraint.
2019-12-29 11:52:58 -05:00
Dmitry Wagin and Steve Chavez
e12c1319b6
Change default server-unix-socket-mode 755 -> 660 ( #1423 )
2019-12-16 08:37:00 -05:00
Dmitry Wagin and Steve Chavez
7f365bf60b
Enforce singular behavior despite Prefer: return ( #1417 )
2019-12-08 01:49:20 -05:00
Dan Amoroso and Steve Chavez
2e6c78d723
add config option server-unix-socket-mode ( #1415 )
...
* added config option server-unix-socket-mode to enable custom socket permissions
* added server-unix-socket-mode input validation
2019-11-23 10:52:33 -05:00
steve-chavez
9847e60dca
Err embedding when multiple relationships found
...
When having one-to-many relationships like:
person -< message[sender]
person -< message[recipient]
person_detail -< message[sender]
person_detail -< message[recipient]
Where person_detail is a view of person.
This request:
GET "/message?select=*,sender(*)"
Is ambiguous. Both person or person_detail could be embedded.
Until now we have returned the first detected relationship but
now we return a 300 Multiple Choices error with a
descriptive error message asking the user to disambiguate.
This is more helpful for the user and also aids in cases of more
complex relationships.
2019-11-05 12:55:48 -05:00
Steve Chávez and GitHub
80f763448f
Fix unique foreign key in view ( #1395 )
2019-10-16 12:45:38 -05:00
steve-chavez
ed2bfc09a6
Allow PATCH/DELETE w/o Prefer when no SELECT privs
...
PATCH/DELETE can now be done without adding Prefer return=minimal when
the user doesn't have SELECT privileges.
* Also fix PATCH wrong HTTP status code
2019-10-08 12:41:39 -05:00
steve-chavez
75a42b77ea
Fix M2M resource embedding on RPC and mutations
2019-09-28 13:45:18 -05:00
steve-chavez
94f5894d7f
Fix self join resource embedding on PATCH
2019-09-28 13:45:18 -05:00
Steve Chávez and GitHub
186381bab2
Add support for Prefer: count=planned/estimated on GET /table ( #1386 )
2019-09-18 10:13:48 -05:00
steve-chavez
e044488f73
Make costly bulk call query optional
...
Bulk Call should be used by specifying
the `Prefer: params=multiple-objects` header.
2019-09-11 12:01:41 -05:00
steve-chavez
620721dea7
Add support for HEAD request
2019-09-03 13:38:53 -05:00
Steve Chávez and GitHub
713b214c9a
Bump to version v6.0.2
...
* Add missing CHANGELOG entry for #1368
2019-08-22 11:12:01 -05:00
steve-chavez
ae9e27a0c7
Fix #1348 , go back to converting plus "+" to space
...
Not doing this conflicts with some http clients and proxies.
Use the alternative url-safe character '!' instead for
disambiguating resource embedding.
2019-08-21 10:34:28 -05:00
Dan Amoroso and Steve Chávez
d5758523f3
Change raw-media-types to accept a string of comma separated MIME types ( #1370 )
2019-08-06 13:23:52 -05:00
steve-chavez
47c0141c49
Bump to v6.0.1
2019-07-30 22:34:28 +00:00
steve-chavez
e7544687d1
Fix/organize latest entries in CHANGELOG
2019-07-30 22:34:28 +00:00
Dan Amoroso and Steve Chávez
f5cef205f1
Introduced raw-media-types config option ( #1349 )
...
* extracted rawOutputTypes to config variable raw-output-media-types
* removed CTTextHtml from Types.hs
2019-07-22 23:37:53 +00:00
Eduardo Jorge and Steve Chávez
e639c77aa2
Add websearch_to_tsquery support ( #1339 )
2019-07-08 13:25:58 -05:00
Steve Chávez and GitHub
dd86fe372c
Bump to v6.0.0 ( #1329 )
...
* Also update BACKERS.md
2019-06-21 13:11:48 -05:00
Steve Chávez and GitHub
ea7d747107
Accept text/plain and text/html for raw output ( #1330 )
2019-06-21 11:51:54 -05:00