Commit Graph

55 Commits

Author SHA1 Message Date
Vikram Rangnekar dd4accfdd2 fix: implement various deepsource suggestions 2020-06-15 10:16:47 -04:00
Vikram Rangnekar 06214a3850 feat: add support for polymorphic database relationships 2020-06-15 03:09:18 -04:00
Vikram Rangnekar 7b5548a2c6 fix: jit failing on anon queries 2020-06-10 00:38:46 -04:00
Vikram Rangnekar 00cfa251a2 fix: issue with jit performance 2020-06-09 19:06:16 -04:00
Vikram Rangnekar 9f35f85857 feat: add support for inline fragments 2020-06-09 02:13:51 -04:00
Vikram Rangnekar f4f6420a30 fix: race in node pool object cleanup 2020-06-08 19:28:22 -04:00
Vikram Rangnekar 6716b97a39 fix: duplicate fragment crash issue 2020-06-07 17:03:09 -04:00
Vikram Rangnekar b26cdbf960 fix: update allow list parser to support fragments 2020-06-07 13:02:57 -04:00
Vikram Rangnekar 33f3fefbf3 feat: add support for graphql fragments 2020-06-06 17:52:29 -04:00
Vikram Rangnekar bd157290f6 fix: bug with parsing variables in roles_query 2020-06-04 21:55:52 -04:00
Vikram Rangnekar 82cc712a93 fix: bug with shared pointer in new jit mode 2020-06-03 18:19:07 -04:00
Vikram Rangnekar 1a15e433ba feat: make query preperation a JIT operation to improve startup time 2020-06-03 01:03:12 -04:00
Vikram Rangnekar 816121fbcf fix: issue with early return in prepare statement function 2020-05-31 18:10:50 -04:00
Vikram e82e97a9d7 fix: issues caught by fuzzer 2020-05-31 14:11:28 -07:00
Vikram 6102f1d66e fix: infinite loop on missing allow.list issue 2020-05-30 23:36:44 -07:00
Vikram Rangnekar 701b2f3bfd fix: remove left-over debug prints 2020-05-29 02:27:53 -04:00
Vikram Rangnekar bac89d8301 fix: i will not prematurely optimization 2020-05-29 02:23:54 -04:00
Vikram Rangnekar 1fb7f0e6c8 BREAKING CHANGE: super-graph/core now defaults to allow all in anon role 2020-05-28 00:07:01 -04:00
Vikram Rangnekar 2241364d00 fix: rewrite the sql args and variables codebase to use expression values 2020-05-26 19:41:28 -04:00
Vikram Rangnekar ccab367351 fix: make array variables work again 2020-05-24 17:43:54 -04:00
Vikram Rangnekar 31afdac3af docs: add telemetry docs 2020-05-24 10:44:00 -04:00
Vikram Rangnekar 1344246287 fix: add http tracing so end-to-end tracing is possible 2020-05-24 02:24:24 -04:00
Vikram Rangnekar d572b4f753 fix: allow unauthenticated operations in seed script 2020-05-23 16:37:27 -04:00
Vikram Rangnekar 01ad9b71ba feat: add opencensus tracing and metrics support 2020-05-23 11:43:57 -04:00
Vikram Rangnekar c7837bf758 feat: add open opencensus telemetry support 2020-05-22 16:49:54 -04:00
Vikram Rangnekar 448e6bb72a fix: add config for per role operation blocking by type 2020-05-22 02:24:22 -04:00
Vikram Rangnekar f7d3760af7 feat: re-format graphql queries saved in allow.list 2020-05-22 02:24:22 -04:00
Vikram Rangnekar ab8566df03 fix: postgres schema name config value is not used 2020-05-20 00:03:05 -04:00
Vikram Rangnekar f6ce0c102b docs: new website 2020-05-17 03:12:09 -04:00
Vikram Rangnekar 3bf9f02a9f fix: bug with reading config file by name 2020-05-10 11:26:48 -04:00
Hiram Chirino 533c767e1d
fix: benchmark was failing. Also added a benchmark for the chirino/graphql version gql parser to compare results. (#62) 2020-05-07 10:48:01 -04:00
Vikram Rangnekar 84d55dbc8a feat: remove data from variables saved to allow.list 2020-05-07 10:27:40 -04:00
Jakub Podhorský 7bbb56a328
fix get functions parameters without name (#60) 2020-05-07 03:04:37 -04:00
Vikram Rangnekar 842252f9e2 fix: fix issue with skipping prepared statements for some roles on error 2020-05-03 20:52:26 -04:00
Vikram Rangnekar 279f5616d1 fix: fix for issues reported by deepsource 2020-05-03 16:08:34 -04:00
Vikram Rangnekar 38ed6dbc5f fix: bug with single quote ecape in production mode 2020-05-01 02:20:45 -04:00
Hiram Chirino ec2f8d0c58
chore: pickup latest version of chirino/graphql module for it’s schema api simplifications. (#58) 2020-05-01 02:03:35 -04:00
Vikram Rangnekar 1a70603b1a feat: add option to set the cache-control header 2020-04-24 20:45:03 -04:00
Vikram Rangnekar bdc8c65a09 fix: fix issues with code examples 2020-04-23 21:25:09 -04:00
Vikram Rangnekar 03fe29b088 fix: improve documentation of the config object 2020-04-23 21:25:09 -04:00
Vikram Rangnekar bdffe7b14e fix: add a benchmark around the GraphQL api function 2020-04-23 01:42:16 -04:00
Vikram Rangnekar ae7cde0433 feat: add support for single argument Postgres functions 2020-04-22 20:51:14 -04:00
Hiram Chirino 7a3fe5a1df
fix: Only include the bulk update arguments on the plur… (#54)
* introspection fix: Only include the bulk update arguments on the plural versions of the fields.

* Fixes error graphql: Unknown type "String!"
2020-04-21 10:41:28 -04:00
Hiram Chirino 2a32c179ba
feat : improve the generated introspection schema and avoid the chirino/graphql api leaking through the core api. (#53) 2020-04-21 10:03:05 -04:00
Vikram Rangnekar 0a02bde219 fix: block introspection queries in production mode 2020-04-20 02:06:58 -04:00
Hiram Chirino 966aa9ce8c
feat: add some initial introspection support. (#52) 2020-04-19 23:48:49 -04:00
Vikram Rangnekar 6f18d56ca0 fix: update queries generate invalid sql 2020-04-19 13:40:14 -04:00
Vikram Rangnekar c400461835 fix: prepared statements not working in prod mode 2020-04-19 12:54:37 -04:00
Vikram Rangnekar e6934cda02 fix: vars not sanitized in roles_query 2020-04-18 17:46:40 -04:00
Hiram Chirino 4cf7956ff5
feat: add cockroachdb support. (#50)
This PR changes the generated SQL so that it's also compatible with CockroachDB.
Notable changes:
* use `SELECT to_jsonb("__sr_0".*)`  instead of `SELECT to_jsonb("__sr_0")`
* don't use `json_populate_record`, use the `CAST` and `->>` instead.  For example:

  instead of: `SELECT "t"."full_name", "t"."email" FROM "_sg_input" i, json_populate_record(NULL::users, i.j) t`

  do: `CAST( i.j ->>'full_name' AS character varying), CAST( i.j ->>'email' AS character varying) FROM "_sg_input" i`

This PR also adds some integration tests against an actual database instance.  If you have the cockroachdb binary installed on your PATH,
the test suite will startup a temporary cockroachdb instance on a random port to test against.  It is stopped and the tmp data files are deleted once the test ends.  It will also run the integration tests against database
pointed at by your `SG_POSTGRESQL_TEST_URL` environment variable if it’s set.

Also includes some small formatting changes introduced by `gofmt -w .`
2020-04-18 17:42:17 -04:00