mirror of
https://github.com/postgres/postgres.git
synced 2025-06-13 07:41:39 +03:00
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
This commit is contained in:
@ -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))
|
||||
{
|
||||
|
Reference in New Issue
Block a user