Created
August 20, 2018 11:13
-
-
Save alexesDev/bd3df760d866758c462781472ac087a6 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| read -r -d '' CHECK_QUERY <<-EOM | |
| create extension if not exists plpgsql_check; | |
| SELECT | |
| (pcf).functionid::regprocedure, (pcf).lineno, (pcf).statement, | |
| (pcf).sqlstate, (pcf).message, (pcf).detail, (pcf).hint, (pcf).level, | |
| (pcf)."position", (pcf).query, (pcf).context | |
| FROM | |
| ( | |
| SELECT | |
| plpgsql_check_function_tb(pg_proc.oid, COALESCE(pg_trigger.tgrelid, 0)) AS pcf | |
| FROM pg_proc | |
| LEFT JOIN pg_trigger | |
| ON (pg_trigger.tgfoid = pg_proc.oid) | |
| WHERE | |
| prolang = (SELECT lang.oid FROM pg_language lang WHERE lang.lanname = 'plpgsql') AND | |
| pronamespace <> (SELECT nsp.oid FROM pg_namespace nsp WHERE nsp.nspname = 'pg_catalog') AND | |
| (pg_proc.prorettype <> (SELECT typ.oid FROM pg_type typ WHERE typ.typname = 'trigger') OR | |
| pg_trigger.tgfoid IS NOT NULL) | |
| OFFSET 0 | |
| ) ss | |
| ORDER BY (pcf).functionid::regprocedure::text, (pcf).lineno | |
| EOM | |
| OUTPUT=$(echo $CHECK_QUERY | docker-compose exec -T postgres psql -U stock -h localhost -p 5432 stock) | |
| echo "$OUTPUT" | |
| if echo "$OUTPUT" | grep -q 'error\|warning'; then | |
| exit 1; | |
| fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment