Laurence Isla and GitHub
7de8d5446a
Revert bulk update patch
...
- Revert patch #2311
- Keep the refactor done to qsFiltersRoot
- Keep the refactor done to the items tables
- Add tests that now work with pg-safeupdate as a result
2022-08-12 10:00:33 -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
3648986aa8
refactor: correlated subquery for o2m query
...
Improves the query costs a bit as shown in the tests and reduces code.
2022-08-06 21:42:53 -05:00
steve-chavez
c050b61db8
tests: add basic resource embedding costs
...
Adds costs thresholds on the PlanSpec for the o2m,m2o and m2m queries.
2022-08-06 21:42:53 -05:00
Robert Vollmert
fea38a4caf
misc: style fix
2022-08-03 19:02:33 +02:00
Robert Vollmert
35a114a81b
tests: add failing test showing reconfiguration doesn't take effect ( #2401 )
2022-08-02 19:03:45 +02:00
Robert Vollmert
ed988100c6
tests: add a test to verify pool size, and parallel request handling
...
The main point for this test is to verify the test setup for follow-up
tests of pool behaviour.
2022-08-02 19:03:45 +02:00
Robert Vollmert
b6a93aae1f
tests: add a Thread class that catches exceptions
2022-08-02 19:03:45 +02:00
Robert Vollmert
70cae5beed
tests: move pool settings to defaultenv from run
...
This allows overriding them if necessary.
2022-08-02 19:03:45 +02:00
Robert Vollmert
0a24a83fa9
tests: decouple config tests from test-specific postgrest settings
2022-08-02 19:03:45 +02:00
Robert Vollmert
e7b69cb99c
tests: fix python formatting
2022-08-02 09:24:14 +02:00
steve-chavez
fd7c23f7a1
Add "for" param for the vnd.pgrst.plan media type
2022-08-01 17:41:23 -05:00
steve-chavez
84e03a16dd
fix: columns w/ dollar sign($) don't need quoting
2022-07-30 19:50:09 -05:00
Robert Vollmert
d556cea8ce
tests: add tests for statement_timeout
...
The new tests verify that:
- statement_timeout on the authenticator role works to cancel slow statements
- changes to statement_timeout take effect on SIGUSR1
This reuses the old "limited_authenticator" role and adds some plumbing to
allow reliably changing the statement timeout even if the current role is
not functional due to a low statement timeout, and to make tests that modify
the role independent from each other.
- introduce module-wide metapostgrest fixture to have an out-of-band way to
manipulate the database, without having to spin up extra postgrest instances
per test
- reset statement_timeout at the start of the respective tests
2022-07-29 21:46:57 +02: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
2eb7c803e3
feat: support OPTIONS on RPC and root path
2022-07-17 18:40:14 -05:00
steve-chavez
71a5748718
refactor: DRY pytest no pool connection logic
2022-07-17 14:41:51 -05:00
steve-chavez
4ab5e63e58
fix: no empty transaction on OPTIONS request
2022-07-17 14:41:51 -05:00
steve-chavez
c445105d55
correct query on rpc count=exact
...
corrects bad logic on e4006da(perf: remove toSourceRel)
2022-07-16 17:18:25 -05:00
steve-chavez
2905753194
test: no empty tx for invalid JWT
2022-07-15 22:23:33 -05:00
steve-chavez
df49f482dc
test: no empty tx started for invalid path/method
2022-07-15 22:23:33 -05:00
Laurence Isla and GitHub
e0ba6b6d1c
Add security definitions to the OpenAPI output
2022-07-13 22:47:09 -05:00
Laurence Isla and GitHub
bdf1cbe111
fix: inaccurate result count when an inner embed is selected after a normal embed in the query string
2022-07-12 22:29:42 -05:00
steve-chavez
8230128ff6
fix: no empty tx on bad HTTP method
2022-07-11 18:21:36 -05:00
steve-chavez
6d7bf9faa9
fix: no empty tx on Not Found error
2022-07-11 18:21:36 -05:00
steve-chavez
28183a667c
refactor: rm raw media types unnecessary decoding
...
Just convert them to MTOther instead
2022-07-11 18:21:36 -05:00
Steve Chavez and GitHub
3cdc6d15d7
test: add bulk insert to loadtest ( #2358 )
2022-07-06 13:50:58 -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
Laurence Isla and GitHub
169547aee6
Return Location header only when using Prefer: return=header-only
2022-06-24 12:53:27 -05:00
Laurence Isla and GitHub
f7745e1569
fix: Allow schema names with special characters in the search path
...
Fixes regression where the search path did not recognize schemas with uppercase, spaces and other special characters in their names.
2022-06-23 18:54:43 -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
steve-chavez
86c40e8df9
test: don't run spec tests with stack
...
We cannot handle postgis and other postgresql dependencies with
stack.
Also delete test/with_tmp_db since it's no longer used.
2022-06-22 22:16:44 -05:00
Robert Vollmert
3d65d66b1b
tests: fix incomplete pattern warnings (GHC 9.2)
2022-06-16 10:39:02 +02:00
Steve Chavez and GitHub
86574c89a8
Bulk update ( #2311 )
...
* refactor: remove EmbedPath type from qsFiltersRoot
* Rename reset items function for reusability
2022-06-15 20:30:31 -05:00
steve-chavez
df7d71db32
fix: Increase the db-pool-timeout to 1 hour
2022-06-15 13:19:44 -05: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
09f3e09c96
tests: don't specify openapi root result
...
Whereas the test used to specify a body of
[{"qiName":"referrals","qiSchema":"test"},"private"]
we see both
[{"qiName":"authors_w_entities","qiSchema":"test"},"test"]
and
[{"qiName":"organizations","qiSchema":"test"},"test"]
on the GHC 9.2 upgrade PR.
This changes the test to no longer expect a particular body.
Compare:
- https://github.com/PostgREST/postgrest/pull/2292#issuecomment-1146160792
- https://github.com/PostgREST/postgrest/issues/1698
2022-06-07 16:56:22 +02:00
Franz-Josef Färber and Steve Chavez
807364bd7b
RPC POST for function w/single unnamed XML param
2022-06-03 11:52:57 -05:00
steve-chavez
f7b173163c
fix: ignore views on col/fk as target
...
Also refactor self relationship findRel logic
2022-05-16 12:22:24 -05:00
steve-chavez
2be63b36d6
refactor: self relationship
...
* Add test for self relationship in view
2022-05-09 21:31:19 -05:00
steve-chavez
c60380b5fc
perf: RelationshipsMap with foreign schema as key
2022-05-09 21:31:19 -05:00
steve-chavez
d88b16e5ab
fix: allow cast on types with underscores/numbers
...
e.g. select=oid_array::_int4
2022-05-09 13:02:33 -05:00
Franz-Josef Färber and Steve Chavez
5a3fbd7111
Allow returning XML from single-column queries
2022-05-04 10:27:28 -05:00
Laurence Isla and GitHub
a2349d90c0
Reorganize error groups
...
* Grouped Hasql errors into one error and renamed it to InternalError
* Move all the General errors to ApiRequest errors
2022-05-02 21:16:31 -05:00
steve-chavez
ce96c88ba0
test: increase memory tests memory by 1M
2022-05-02 11:12:02 -05:00
steve-chavez
e90391b7ac
limited update/delete requires explicit order
...
* limited update/delete now works on views with explicit order
* no default order, enforce order presence
* apply row count to ensure limited mutations
* move requiring order to ApiRequest
2022-05-02 11:12:02 -05:00
Laurence Isla and GitHub
5ad8800773
feat: Allow limit=0 in query params to return an empty array
2022-04-28 17:14:29 -05:00
Franz-Josef Färber and Steve Chavez
d2aa50be52
Allow returning XML from RPCs
2022-04-26 17:37:59 -05:00
Laurence Isla and GitHub
a8477b7822
Add tests for the ~ ltree operator ( #2267 )
2022-04-26 22:48:15 +02:00
steve-chavez
115dae7484
perf: Relationship list to a hash map
2022-04-25 21:41:51 -05:00