diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2013-02-03 15:56:45 -0500 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2013-02-03 15:56:45 -0500 |
commit | 62e666400dddf605b9b6d9a7ac2918711b5c5629 (patch) | |
tree | 6f908fab1ba714d4784b89f11ff71fbacf631195 /src/backend/utils/adt/ruleutils.c | |
parent | 330ed4ac6c55294c62bfd975d6e1aafda274e096 (diff) | |
download | postgresql-62e666400dddf605b9b6d9a7ac2918711b5c5629.tar.gz postgresql-62e666400dddf605b9b6d9a7ac2918711b5c5629.zip |
Perform line wrapping and indenting by default in ruleutils.c.
This patch changes pg_get_viewdef() and allied functions so that
PRETTY_INDENT processing is always enabled. Per discussion, only the
PRETTY_PAREN processing (that is, stripping of "unnecessary" parentheses)
poses any real forward-compatibility risk, so we may as well make dump
output look as nice as we safely can.
Also, set the default wrap length to zero (i.e, wrap after each SELECT
or FROM list item), since there's no very principled argument for the
former default of 80-column wrapping, and most people seem to agree this
way looks better.
Marko Tiikkaja, reviewed by Jeevan Chalke, further hacking by Tom Lane
Diffstat (limited to 'src/backend/utils/adt/ruleutils.c')
-rw-r--r-- | src/backend/utils/adt/ruleutils.c | 59 |
1 files changed, 37 insertions, 22 deletions
diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index 16f56c6adec..af04b051601 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -74,8 +74,8 @@ #define PRETTYFLAG_PAREN 1 #define PRETTYFLAG_INDENT 2 -/* Default line length for pretty-print wrapping */ -#define WRAP_COLUMN_DEFAULT 79 +/* Default line length for pretty-print wrapping: 0 means wrap always */ +#define WRAP_COLUMN_DEFAULT 0 /* macro to test if pretty action needed */ #define PRETTY_PAREN(context) ((context)->prettyFlags & PRETTYFLAG_PAREN) @@ -416,8 +416,10 @@ Datum pg_get_ruledef(PG_FUNCTION_ARGS) { Oid ruleoid = PG_GETARG_OID(0); + int prettyFlags; - PG_RETURN_TEXT_P(string_to_text(pg_get_ruledef_worker(ruleoid, 0))); + prettyFlags = PRETTYFLAG_INDENT; + PG_RETURN_TEXT_P(string_to_text(pg_get_ruledef_worker(ruleoid, prettyFlags))); } @@ -428,7 +430,7 @@ pg_get_ruledef_ext(PG_FUNCTION_ARGS) bool pretty = PG_GETARG_BOOL(1); int prettyFlags; - prettyFlags = pretty ? PRETTYFLAG_PAREN | PRETTYFLAG_INDENT : 0; + prettyFlags = pretty ? PRETTYFLAG_PAREN | PRETTYFLAG_INDENT : PRETTYFLAG_INDENT; PG_RETURN_TEXT_P(string_to_text(pg_get_ruledef_worker(ruleoid, prettyFlags))); } @@ -512,8 +514,10 @@ pg_get_viewdef(PG_FUNCTION_ARGS) { /* By OID */ Oid viewoid = PG_GETARG_OID(0); + int prettyFlags; - PG_RETURN_TEXT_P(string_to_text(pg_get_viewdef_worker(viewoid, 0, -1))); + prettyFlags = PRETTYFLAG_INDENT; + PG_RETURN_TEXT_P(string_to_text(pg_get_viewdef_worker(viewoid, prettyFlags, WRAP_COLUMN_DEFAULT))); } @@ -525,7 +529,7 @@ pg_get_viewdef_ext(PG_FUNCTION_ARGS) bool pretty = PG_GETARG_BOOL(1); int prettyFlags; - prettyFlags = pretty ? PRETTYFLAG_PAREN | PRETTYFLAG_INDENT : 0; + prettyFlags = pretty ? PRETTYFLAG_PAREN | PRETTYFLAG_INDENT : PRETTYFLAG_INDENT; PG_RETURN_TEXT_P(string_to_text(pg_get_viewdef_worker(viewoid, prettyFlags, WRAP_COLUMN_DEFAULT))); } @@ -536,12 +540,10 @@ pg_get_viewdef_wrap(PG_FUNCTION_ARGS) Oid viewoid = PG_GETARG_OID(0); int wrap = PG_GETARG_INT32(1); int prettyFlags; - char *result; /* calling this implies we want pretty printing */ prettyFlags = PRETTYFLAG_PAREN | PRETTYFLAG_INDENT; - result = pg_get_viewdef_worker(viewoid, prettyFlags, wrap); - PG_RETURN_TEXT_P(string_to_text(result)); + PG_RETURN_TEXT_P(string_to_text(pg_get_viewdef_worker(viewoid, prettyFlags, wrap))); } Datum @@ -549,14 +551,17 @@ pg_get_viewdef_name(PG_FUNCTION_ARGS) { /* By qualified name */ text *viewname = PG_GETARG_TEXT_P(0); + int prettyFlags; RangeVar *viewrel; Oid viewoid; + prettyFlags = PRETTYFLAG_INDENT; + /* Look up view name. Can't lock it - we might not have privileges. */ viewrel = makeRangeVarFromNameList(textToQualifiedNameList(viewname)); viewoid = RangeVarGetRelid(viewrel, NoLock, false); - PG_RETURN_TEXT_P(string_to_text(pg_get_viewdef_worker(viewoid, 0, -1))); + PG_RETURN_TEXT_P(string_to_text(pg_get_viewdef_worker(viewoid, prettyFlags, WRAP_COLUMN_DEFAULT))); } @@ -570,7 +575,7 @@ pg_get_viewdef_name_ext(PG_FUNCTION_ARGS) RangeVar *viewrel; Oid viewoid; - prettyFlags = pretty ? PRETTYFLAG_PAREN | PRETTYFLAG_INDENT : 0; + prettyFlags = pretty ? PRETTYFLAG_PAREN | PRETTYFLAG_INDENT : PRETTYFLAG_INDENT; /* Look up view name. Can't lock it - we might not have privileges. */ viewrel = makeRangeVarFromNameList(textToQualifiedNameList(viewname)); @@ -848,7 +853,7 @@ pg_get_triggerdef_worker(Oid trigid, bool pretty) context.windowClause = NIL; context.windowTList = NIL; context.varprefix = true; - context.prettyFlags = pretty ? PRETTYFLAG_PAREN : 0; + context.prettyFlags = pretty ? PRETTYFLAG_PAREN | PRETTYFLAG_INDENT : PRETTYFLAG_INDENT; context.wrapColumn = WRAP_COLUMN_DEFAULT; context.indentLevel = PRETTYINDENT_STD; @@ -911,10 +916,13 @@ Datum pg_get_indexdef(PG_FUNCTION_ARGS) { Oid indexrelid = PG_GETARG_OID(0); + int prettyFlags; + prettyFlags = PRETTYFLAG_INDENT; PG_RETURN_TEXT_P(string_to_text(pg_get_indexdef_worker(indexrelid, 0, NULL, - false, false, 0))); + false, false, + prettyFlags))); } Datum @@ -925,7 +933,7 @@ pg_get_indexdef_ext(PG_FUNCTION_ARGS) bool pretty = PG_GETARG_BOOL(2); int prettyFlags; - prettyFlags = pretty ? PRETTYFLAG_PAREN | PRETTYFLAG_INDENT : 0; + prettyFlags = pretty ? PRETTYFLAG_PAREN | PRETTYFLAG_INDENT : PRETTYFLAG_INDENT; PG_RETURN_TEXT_P(string_to_text(pg_get_indexdef_worker(indexrelid, colno, NULL, colno != 0, @@ -933,7 +941,7 @@ pg_get_indexdef_ext(PG_FUNCTION_ARGS) prettyFlags))); } -/* Internal version that returns a palloc'd C string */ +/* Internal version that returns a palloc'd C string; no pretty-printing */ char * pg_get_indexdef_string(Oid indexrelid) { @@ -946,7 +954,7 @@ pg_get_indexdef_columns(Oid indexrelid, bool pretty) { int prettyFlags; - prettyFlags = pretty ? PRETTYFLAG_PAREN | PRETTYFLAG_INDENT : 0; + prettyFlags = pretty ? PRETTYFLAG_PAREN | PRETTYFLAG_INDENT : PRETTYFLAG_INDENT; return pg_get_indexdef_worker(indexrelid, 0, NULL, true, false, prettyFlags); } @@ -1245,9 +1253,12 @@ Datum pg_get_constraintdef(PG_FUNCTION_ARGS) { Oid constraintId = PG_GETARG_OID(0); + int prettyFlags; + prettyFlags = PRETTYFLAG_INDENT; PG_RETURN_TEXT_P(string_to_text(pg_get_constraintdef_worker(constraintId, - false, 0))); + false, + prettyFlags))); } Datum @@ -1257,12 +1268,13 @@ pg_get_constraintdef_ext(PG_FUNCTION_ARGS) bool pretty = PG_GETARG_BOOL(1); int prettyFlags; - prettyFlags = pretty ? PRETTYFLAG_PAREN | PRETTYFLAG_INDENT : 0; + prettyFlags = pretty ? PRETTYFLAG_PAREN | PRETTYFLAG_INDENT : PRETTYFLAG_INDENT; PG_RETURN_TEXT_P(string_to_text(pg_get_constraintdef_worker(constraintId, - false, prettyFlags))); + false, + prettyFlags))); } -/* Internal version that returns a palloc'd C string */ +/* Internal version that returns a palloc'd C string; no pretty-printing */ char * pg_get_constraintdef_string(Oid constraintId) { @@ -1615,8 +1627,11 @@ pg_get_expr(PG_FUNCTION_ARGS) { text *expr = PG_GETARG_TEXT_P(0); Oid relid = PG_GETARG_OID(1); + int prettyFlags; char *relname; + prettyFlags = PRETTYFLAG_INDENT; + if (OidIsValid(relid)) { /* Get the name for the relation */ @@ -1634,7 +1649,7 @@ pg_get_expr(PG_FUNCTION_ARGS) else relname = NULL; - PG_RETURN_TEXT_P(pg_get_expr_worker(expr, relid, relname, 0)); + PG_RETURN_TEXT_P(pg_get_expr_worker(expr, relid, relname, prettyFlags)); } Datum @@ -1646,7 +1661,7 @@ pg_get_expr_ext(PG_FUNCTION_ARGS) int prettyFlags; char *relname; - prettyFlags = pretty ? PRETTYFLAG_PAREN | PRETTYFLAG_INDENT : 0; + prettyFlags = pretty ? PRETTYFLAG_PAREN | PRETTYFLAG_INDENT : PRETTYFLAG_INDENT; if (OidIsValid(relid)) { |