Fix one item of a branch's review
The worker scans the branch again, checks hash against it, and runs one fix in the item's database in its own transaction with lock_timeout 5 s: reassign gives the item's function (a trigger's function; a rule's relation) to the owner (ALTER … OWNER TO), after which the Admin answers for its code and a SECURITY DEFINER function runs as the owner; drop drops the function, trigger or rule RESTRICT (never cascading). Answers with the SQL it ran and the review after it.
Authorization
bearer In: header
Path Parameters
Database id
uuidBranch id
uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
POST …/review/fix.
What a fix does to an item.
Value in
- "reassign"
- "drop"
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/databases/497f6eca-6276-4993-bfeb-53cbbbba6f08/branches/497f6eca-6276-4993-bfeb-53cbbbba6f08/review/fix" \ -H "Content-Type: application/json" \ -d '{ "action": "reassign", "hash": "string", "key": "string" }'{ "review": { "acknowledged_hash": "string", "hash": "string", "items": [ { "database": "string", "digest": "string", "function": "string", "identity": "string", "key": "string", "kind": "function", "name": "string", "new": true, "opaque_body": true, "owner": "string", "reasons": [ { "kind": "security_definer", "via": "string" } ], "schema": "string" } ] }, "sql": "string"}Acknowledge a branch's review POST
Stores the current review as acknowledged: its `hash` becomes the branch's `review_acknowledged_hash`, and its items stop being `new`. `hash` must be the current review's.
Run a data API request from the console POST
Runs one data API request (`tree`, the JSON `POST /data/v1/query` takes; every operation, batches included) on a branch, in one transaction with the data API's `max_rows` and statement timeout. `role: null` runs as the database's owner; any other role runs as that role, after a check that it exists and isn't owner-level (superuser, CREATEROLE, CREATEDB, REPLICATION or a member of `neon_superuser`); a role with BYPASSRLS passes (Admin only), and the console then reads and writes past row-level security. The answer is the data API's: its JSON on success, and its error body (`invalid_query`, `unknown_table`, `permission_denied`, `conflict`, …) when the request fails in the database. Every write is logged without its values.