steve-chavez
50f2cc16ab
refactor: rm schema arg from QueryBuilder funcs
...
* Change TableName to QualifiedIdentifier in ReadQuery
and MutateQuery.
* Move removeSourceCTESchema to DbRequestBuilder.
2019-10-08 12:41:39 -05:00
steve-chavez
f080159268
refactor: add the returningCols function
...
* separate fieldNames from getting fkCols
* Put binaryField inside readSqlParts
* Move scalar proc logic to binaryField
* Move logic for the "SELECT *" default to DbRequestBuilder
2019-09-28 13:45:18 -05:00
steve-chavez
0183d32c7f
refactor: Remove DbRequest type
...
This type only adds an extra constructor.
2019-09-28 13:45:18 -05:00
steve-chavez
81e5a62f25
refactor: remove fromJust in DbRequestBuilder
...
* Also comment and reorganize DbRequestBuilder
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
200540dfc3
refactor: put callProc core query to QueryBuilder
...
* Move set local queries to QueryBuilder
* Move unquoted to Middleware
2019-09-11 12:01:41 -05: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
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
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
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
Xavier Francisco and Steve Chávez
28b3d6cafd
Update stylish haskell config; apply all; add CI config ( #1299 )
...
* Update config default; Copy non-defaults
* Update .stylish-haskell config version to match pgrst
* Apply stylish haskell to all files
* CircleCI config
* Remove redundant import.
What is used from Network.HTTP.Types.Headers is also exported by Network.HTTP.Types.
* Grouped imports
* Show un-styled files on CircleCI failure
* Fix styling imports
* Apply adhoc standard correctly
2019-05-23 10:44:34 -05:00
Xavier Francisco and Steve Chávez
1cf54e6575
Small refactor around error responses and more tests ( #1282 )
...
* Fix #880 , Clean and consolidate error responses
* Fix #1285 , Abort on fatal errors
* Add / Detail tests
2019-05-22 09:30:33 -05:00
steve-chavez
2044f77d49
Fix #1273 , don't ignore RPC arguments by default
...
* Add different error message for pg 9.4
2019-04-19 16:03:42 -05:00
steve-chavez
033ee5a06e
Refactor: remove pjKeys from RawJSON
2019-04-19 16:03:42 -05:00
Xavier Francisco and Steve Chávez
32725f2f35
Fix tests expected responses due to changes in pg11 ( #1268 )
2019-04-07 19:03:02 -05:00
steve-chavez
c9b2830e52
Fix #690 , add columns query arg for RPC/POST/PATCH
...
* Refactor normalizing json CTE
* Refactor CTE to use CASE instead of UNION
2019-02-26 11:38:21 -05:00
steve-chavez
3946dfbc64
Remove pjIsEmpty and rm pjType from ActionInvoke
...
* Remove PayloadJSON from Insert/Update
2019-02-26 11:38:21 -05:00
steve-chavez
00a0d8b9b7
Remove pjType from QueryBuilder Insert/Update
...
* Refactor Insert onConflict
2019-02-26 11:38:21 -05:00
steve-chavez
673aa25082
Fix #1221 , embedding when having a self join
2019-02-04 10:22:02 -05:00
steve-chavez
1037313e77
Add comments to modules
2019-02-04 10:22:02 -05:00
steve-chavez
86e460c5c4
Add implicitJoins to ReadQuery type
2019-02-04 10:22:02 -05:00
steve-chavez
fb5adce5ce
Reformat and reorder Types.hs
2019-02-04 10:22:02 -05:00
steve-chavez
5bfb68b982
Fix #1180 , embedding on views with composite pks
...
Also add CHANGELOG entries for previous fixes.
2018-10-12 09:24:22 -05:00
steve-chavez
dc834572d6
Fix #1182 , fix subselect view embedding for pg10
2018-10-12 09:24:22 -05:00
steve-chavez
d34afe861a
Allow finishing a json path with single arrow ->
...
Now a json can be obtained without resorting to casting
- Previously: `/json_arr?select=data->>2::json`
- Now: `/json_arr?select=data->2`
2018-06-19 11:17:59 -05:00
steve-chavez
30dfadec7b
Add support for getting json by array index
...
* Also support json negative array index
2018-06-19 11:17:59 -05:00
steve-chavez
2513c00039
Refactor Field type,move tests to JsonOperatorSpec
2018-06-19 11:17:59 -05:00
steve-chavez
28845e0f43
Fix accepting misspellings in order syntax
2018-05-14 07:34:15 -05:00
steve-chavez
e9aaf05335
Remove support for non url safe operators
2018-05-02 13:06:44 -05:00
steve-chavez
f033c2c4b5
Add role-claim-key config value
2018-04-30 11:31:06 -05:00
steve-chavez
edae60f8c1
Only alias tables on self join cases
2018-04-02 11:09:45 -05:00
steve-chavez
349a5ae076
Fix Parent Relation when having many views( #1044 )
2018-03-17 07:53:41 -05:00
steve-chavez
ff709a65e5
Add FROM targets aliasing to avoid conflict in embeds
2018-02-21 09:23:08 -05:00
steve-chavez
8e2a0e05ea
Refactor QueryBuilder and DbRequestBuilder
...
- Refactor ORDER BY and LIMIT query fragments
- Move ReadRequest building to DbRequestBuilder
- Clarify Relation link table attributes
- Change Join Operation to JoinCond
2018-02-21 09:23:08 -05:00
steve-chavez
108f3cd651
Add Preference-Applied header for POST upsert
...
- Ensure creating nothing on ignore-duplicates succeeds
- Refactor locationF query
2018-02-21 07:33:54 -05:00
steve-chavez
6675821c64
Allow PUT method: UPSERT of a single row
2018-02-21 07:33:54 -05:00
steve-chavez
85b1dc0eb4
Add UPSERT for POST with Prefer:resoultion=merge/ignore-duplicates
2018-02-21 07:33:54 -05:00
steve-chavez
f7e7834a1c
Handle overloaded function case
...
* Add test for params=single-object on GET
* Add tests for procs with DEFAULT args
* Add tests for overloaded functions
* Add test for PATCHing with an empty json array, this previously
gave a "Something is wrong" error
2018-01-10 11:43:16 -05:00
steve-chavez
38f3bcf4a6
Reduce memory usage by avoiding Aeson encode
...
It was detected that Aeson encoding had high memory usage when
the json payload was large, around x60 the payload size.
With this change we get around x10 payload size memory usage.
The encodeUtf8(when doing a Text -> ByteString with `toS`) function
on a large payload also contributed to the high memory usage.
Main idea to reduce the memory usage was to let the ByteString coming
from the request body go to the database unchanged.
2018-01-10 11:43:16 -05:00
steve-chavez
fef7d949d9
Fix #411 , remove the need for pk in &select for parent embed
2017-11-30 12:56:18 -05:00
steve-chavez
be630aa680
Change phrase/plain full text search syntax
2017-11-27 11:38:54 -05:00
steve-chavez
188f947437
Maintain backward compatibility on GUC headers feature
...
If pg version >= 9.6 is detected the feature is enabled,
also all of the 9.6 dependent tests are moved to their own spec.
2017-10-18 17:41:55 -05:00
steve-chavez
b9a591aecb
Add ability to map GUC to http response headers
2017-10-18 17:41:55 -05:00
Steve Chávez and Joe Nelson
a6cce691b5
Fix RPC GET filters bugs with not/{plain,phrase}fts operators ( #980 )
2017-09-26 20:07:36 -07:00
Steve Chávez and Joe Nelson
cf19ad0369
Allow GET on RPC ( #946 )
2017-09-17 11:16:46 -05:00
steve-chavez
6c2f179b48
Remove isnot and notin operators and refactor
2017-09-08 19:56:00 -05:00