Remo and GitHub
f6ce93f2c8
Add a script for running the test suite in a local temporary database. ( #1476 )
2020-04-14 12:34:50 -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
Wolfgang Walther and GitHub
82fa1d8812
add postgres-12 tests to circleci ( #1472 )
...
* circleci: new postgres docker containers need host auth trust
2020-04-06 11:00:26 -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
Wolfgang Walther and GitHub
a80eb2ff0e
Add docker-compose file to run tests ( #1463 )
2020-03-24 09:50:06 -05:00
Steve Chavez and GitHub
0f8838623b
Fix empty headers being added on POST/PATCH/DELETE ( #1458 )
2020-03-13 11:02:38 -05:00
Robert Vollmert and Steve Chavez
dfdf3d30b3
Fix test typo.
2020-03-07 13:04:17 -05:00
Robert Vollmert and Steve Chavez
60b64d3e81
Upgrade hspec-wai dependency to 0.10.
2020-03-07 13:04:17 -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
f9c64d9f65
refactor: improve disambiguation error message
...
* reverse backwards relationships
* remove redundancy from getJoinSelects
* properly name Cardinality constructors
2019-11-17 13:28:21 -05:00
Brian Wignall and Steve Chávez
9645f1011c
Fix double-and typo
2019-11-12 10:00:23 -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
337f821e00
refactor: remove parent embed workaround(in #647 )
...
This workaround is no more necessary since the addition of #978 .
* Also add a test for proving parent embeds offset is consistent
with other types of embeds.
2019-10-08 12:41:39 -05:00
steve-chavez
1173bc277b
refactor: rm configSchema ref in postgrest func
...
* make TargetDefaultSpec take a schema attribute
* remove schema param from addJoinConditions
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
d71d3450af
Fix PATCH embed when not having the id in ?select
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
b077974ebc
Add tests for call proc queries EXPLAIN costs
...
* circleci: add run query costs tests
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-chavez
68cbe34c11
refactor: only run db reset on certain specs
...
This speeds up running the whole test suite
2019-09-03 13:38:53 -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
Nathan Bouscal and Steve Chávez
57ebf43e85
Allow select in OpenAPI for POST requests ( #1375 )
...
If you use `return=representation`, `select` is useful in `POST` requests.
It already works correctly, but is missing from the OpenAPI spec.
2019-08-09 14:10:20 -05:00
Dan Amoroso and Steve Chávez
c80c9ef726
Reword error message for BinaryFieldError ( #1372 )
2019-08-08 14:20:06 -05:00
Amédée d'Aboville and Steve Chávez
ee40e7e0d7
Fix long column descriptions being truncated at 63 characters in pg12 ( #1368 )
...
* Lengthen child_entities name comment to make tests check it does not get truncated at 63 chars.
* Don't cast column description to sql_identifier type (maxlen 63 chars) when introspecting schema in DbStructure.hs
2019-08-02 16:13:01 +00:00
Diogo Biazus and Steve Chávez
291de5bc1c
LTS 13.29 ( #1364 )
...
* Update resolver to lts-13.29 and add lock file to repository
* Upgrade stack version
* Save cache after building dependencies only to have faster feedback loop when tests fail
* Move private functions from QueryBuilder to a separate Private module
* Move more functions over to private trying to make compilation consume less memory
* Split private in 4 modules
* Remove unused LambdaCase pragma
* Add profile to memory-tests.sh so it can find postgrest executable
* Move save dependencies before building and running tests for faster feedback loop
2019-07-29 17:14:06 +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
Robert and Steve Chávez
afb7266f17
Update jose to 0.8.1 to fix Windows build (and adapt error message test) ( #1351 )
2019-07-15 15:14:22 +00:00
Eduardo Jorge and Steve Chávez
e639c77aa2
Add websearch_to_tsquery support ( #1339 )
2019-07-08 13:25:58 -05:00
Robert and Steve Chávez
64dc6ab9ac
Fix json test versioning for postgresql 10.9 bugfix ( #1340 )
...
This removes the test for buggy behaviour, it seems not useful
anymore.
2019-07-05 12:54:44 -05:00
Eduardo Jorge and Steve Chávez
25dedd1098
Add tests for overlap operator in array types ( #1337 )
...
* Add basic tests for some array operators
- eq
- neq
- tl
- gt
- lte
- gte
- cs
- cd
- ov
2019-07-04 11:42:19 -05:00
Robert and Steve Chávez
617bf7b6a3
Update jose to 0.8 (and adapt error message test) ( #1324 )
...
The message changes between jose versions 0.7 and 0.8.
2019-07-04 10:56:45 -05:00
Robert Vollmert and Steve Chávez
4cc91fd5b1
Update json rpc argument tests for bugfix in PostgreSQL 11.4
...
See https://www.postgresql.org/docs/release/11.4/ .
2019-06-28 11:45:27 -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
Steve Chávez and GitHub
1df749a7a8
Add option for overriding root spec ( #1317 )
...
* Only for pg >= 9.6
* Disallow specifying schema on root-spec
* Increase memory test upper bound
2019-06-10 13:45:50 -05:00
Robert and Steve Chávez
7356327e5b
Tweaks to circle-ci profiling build ( #1321 )
...
* circleci: Update stack versions from 1.1.2 to 1.9.3.
* circleci: Don't try to install unused packdeps and cabal-install.
* memory-tests: Rely on `stack build` to have been called already.
This happens in the previous circleci step.
2019-06-08 21:12:55 -05:00
Robert and Steve Chávez
33532cfbb6
Fix hlint warnings for hlint v2.1.20 ( #1320 )
...
* Apply some hlint suggestions.
* Simplify config parser (to avoid hlint error)
* Reorganize for clarity (and fix hlint error)
* Remove redundant language extension
* Reformat slice more conventionally to avoid hlint bug
* Refactor for clarity (and to avoid hlint error)
* Simplify (and avoid hlint error)
* Fix hlint complaint
2019-06-08 20:52:48 -05:00