mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-21 08:29:39 +08:00
Add pretty-printing variants of pg_get_viewdef and related functions.
Patch from Andreas Pflug.
This commit is contained in:
parent
12911ea2e1
commit
52347b6637
@ -1,5 +1,5 @@
|
||||
<!--
|
||||
$Header: /cvsroot/pgsql/doc/src/sgml/func.sgml,v 1.161 2003/07/29 00:03:17 tgl Exp $
|
||||
$Header: /cvsroot/pgsql/doc/src/sgml/func.sgml,v 1.162 2003/07/30 22:56:23 tgl Exp $
|
||||
PostgreSQL documentation
|
||||
-->
|
||||
|
||||
@ -6494,10 +6494,9 @@ SET search_path TO <replaceable>schema</> <optional>, <replaceable>schema</>, ..
|
||||
|
||||
<para>
|
||||
The function <function>current_setting</function> yields the
|
||||
current value of the setting <parameter>setting_name</parameter>,
|
||||
as part of a query result. It corresponds to the
|
||||
<acronym>SQL</acronym> command <command>SHOW</command>. An
|
||||
example:
|
||||
current value of the setting <parameter>setting_name</parameter>.
|
||||
It corresponds to the <acronym>SQL</acronym> command
|
||||
<command>SHOW</command>. An example:
|
||||
<programlisting>
|
||||
SELECT current_setting('datestyle');
|
||||
|
||||
@ -6832,6 +6831,10 @@ SELECT pg_type_is_visible('myschema.widget'::regtype);
|
||||
<primary>pg_get_constraintdef</primary>
|
||||
</indexterm>
|
||||
|
||||
<indexterm zone="functions-misc">
|
||||
<primary>pg_get_expr</primary>
|
||||
</indexterm>
|
||||
|
||||
<indexterm zone="functions-misc">
|
||||
<primary>pg_get_userbyid</primary>
|
||||
</indexterm>
|
||||
@ -6846,7 +6849,16 @@ SELECT pg_type_is_visible('myschema.widget'::regtype);
|
||||
<function>pg_get_constraintdef</function> respectively
|
||||
reconstruct the creating command for a view, rule, index, or
|
||||
constraint. (Note that this is a decompiled reconstruction, not
|
||||
the verbatim text of the command.)
|
||||
the original text of the command.) Most of these come in two
|
||||
variants, one of which can optionally <quote>pretty-print</> the result.
|
||||
The pretty-printed form is more readable but is less likely to be
|
||||
interpreted the same way by future versions of <productname>PostgreSQL</>;
|
||||
avoid using pretty-printed output for dump purposes.
|
||||
Passing <literal>false</> for the pretty-print parameter yields the
|
||||
same result as the variant that does not have the parameter at all.
|
||||
<function>pg_get_expr</function> decompiles the internal form of an
|
||||
individual expression, such as the default value for a column. It
|
||||
may be useful when examining the contents of system catalogs.
|
||||
<function>pg_get_userbyid</function>
|
||||
extracts a user's name given a user ID number.
|
||||
</para>
|
||||
@ -6864,21 +6876,43 @@ SELECT pg_type_is_visible('myschema.widget'::regtype);
|
||||
<entry><type>text</type></entry>
|
||||
<entry>get <command>CREATE VIEW</> command for view (<emphasis>deprecated</emphasis>)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal><function>pg_get_viewdef</function>(<parameter>view_name</parameter>, <parameter>pretty_bool</>)</literal></entry>
|
||||
<entry><type>text</type></entry>
|
||||
<entry>get <command>CREATE VIEW</> command for view (<emphasis>deprecated</emphasis>)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal><function>pg_get_viewdef</function>(<parameter>view_oid</parameter>)</literal></entry>
|
||||
<entry><type>text</type></entry>
|
||||
<entry>get <command>CREATE VIEW</> command for view</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal><function>pg_get_viewdef</function>(<parameter>view_oid</parameter>, <parameter>pretty_bool</>)</literal></entry>
|
||||
<entry><type>text</type></entry>
|
||||
<entry>get <command>CREATE VIEW</> command for view</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal><function>pg_get_ruledef</function>(<parameter>rule_oid</parameter>)</literal></entry>
|
||||
<entry><type>text</type></entry>
|
||||
<entry>get <command>CREATE RULE</> command for rule</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal><function>pg_get_ruledef</function>(<parameter>rule_oid</parameter>, <parameter>pretty_bool</>)</literal></entry>
|
||||
<entry><type>text</type></entry>
|
||||
<entry>get <command>CREATE RULE</> command for rule</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal><function>pg_get_indexdef</function>(<parameter>index_oid</parameter>)</literal></entry>
|
||||
<entry><type>text</type></entry>
|
||||
<entry>get <command>CREATE INDEX</> command for index</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal><function>pg_get_indexdef</function>(<parameter>index_oid</parameter>, <parameter>column_no</>, <parameter>pretty_bool</>)</literal></entry>
|
||||
<entry><type>text</type></entry>
|
||||
<entry>get <command>CREATE INDEX</> command for index,
|
||||
or definition of just one index column when
|
||||
<parameter>column_no</> is not zero</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><function>pg_get_triggerdef</function>(<parameter>trigger_oid</parameter>)</entry>
|
||||
<entry><type>text</type></entry>
|
||||
@ -6889,6 +6923,23 @@ SELECT pg_type_is_visible('myschema.widget'::regtype);
|
||||
<entry><type>text</type></entry>
|
||||
<entry>get definition of a constraint</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal><function>pg_get_constraintdef</function>(<parameter>constraint_oid</parameter>, <parameter>pretty_bool</>)</literal></entry>
|
||||
<entry><type>text</type></entry>
|
||||
<entry>get definition of a constraint</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal><function>pg_get_expr</function>(<parameter>expr_text</parameter>, <parameter>relation_oid</>)</literal></entry>
|
||||
<entry><type>text</type></entry>
|
||||
<entry>decompile internal form of an expression, assuming that any Vars
|
||||
in it refer to the relation indicated by the second parameter</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal><function>pg_get_expr</function>(<parameter>expr_text</parameter>, <parameter>relation_oid</>, <parameter>pretty_bool</>)</literal></entry>
|
||||
<entry><type>text</type></entry>
|
||||
<entry>decompile internal form of an expression, assuming that any Vars
|
||||
in it refer to the relation indicated by the second parameter</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><literal><function>pg_get_userbyid</function>(<parameter>userid</parameter>)</literal></entry>
|
||||
<entry><type>name</type></entry>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -37,7 +37,7 @@
|
||||
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: catversion.h,v 1.203 2003/07/29 17:21:27 tgl Exp $
|
||||
* $Id: catversion.h,v 1.204 2003/07/30 22:56:24 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -53,6 +53,6 @@
|
||||
*/
|
||||
|
||||
/* yyyymmddN */
|
||||
#define CATALOG_VERSION_NO 200307291
|
||||
#define CATALOG_VERSION_NO 200307301
|
||||
|
||||
#endif
|
||||
|
@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: pg_proc.h,v 1.309 2003/07/01 00:04:38 tgl Exp $
|
||||
* $Id: pg_proc.h,v 1.310 2003/07/30 22:56:24 tgl Exp $
|
||||
*
|
||||
* NOTES
|
||||
* The script catalog/genbki.sh reads this file and generates .bki
|
||||
@ -3405,6 +3405,20 @@ DESCR("I/O");
|
||||
DATA(insert OID = 2503 ( anyarray_send PGNSP PGUID 12 f f t f s 1 17 "2277" anyarray_send - _null_ ));
|
||||
DESCR("I/O");
|
||||
|
||||
/* System-view support functions with pretty-print option */
|
||||
DATA(insert OID = 2504 ( pg_get_ruledef PGNSP PGUID 12 f f t f s 2 25 "26 16" pg_get_ruledef_ext - _null_ ));
|
||||
DESCR("source text of a rule with pretty-print option");
|
||||
DATA(insert OID = 2505 ( pg_get_viewdef PGNSP PGUID 12 f f t f s 2 25 "25 16" pg_get_viewdef_name_ext - _null_ ));
|
||||
DESCR("select statement of a view with pretty-print option");
|
||||
DATA(insert OID = 2506 ( pg_get_viewdef PGNSP PGUID 12 f f t f s 2 25 "26 16" pg_get_viewdef_ext - _null_ ));
|
||||
DESCR("select statement of a view with pretty-print option");
|
||||
DATA(insert OID = 2507 ( pg_get_indexdef PGNSP PGUID 12 f f t f s 3 25 "26 23 16" pg_get_indexdef_ext - _null_ ));
|
||||
DESCR("index description (full create statement or single expression) with pretty-print option");
|
||||
DATA(insert OID = 2508 ( pg_get_constraintdef PGNSP PGUID 12 f f t f s 2 25 "26 16" pg_get_constraintdef_ext - _null_ ));
|
||||
DESCR("constraint description with pretty-print option");
|
||||
DATA(insert OID = 2509 ( pg_get_expr PGNSP PGUID 12 f f t f s 3 25 "25 26 16" pg_get_expr_ext - _null_ ));
|
||||
DESCR("deparse an encoded expression with pretty-print option");
|
||||
|
||||
|
||||
/*
|
||||
* Symbolic values for provolatile column: these indicate whether the result
|
||||
|
@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: builtins.h,v 1.223 2003/06/27 00:33:26 tgl Exp $
|
||||
* $Id: builtins.h,v 1.224 2003/07/30 22:56:24 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -441,13 +441,19 @@ extern char *format_operator(Oid operator_oid);
|
||||
|
||||
/* ruleutils.c */
|
||||
extern Datum pg_get_ruledef(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_get_ruledef_ext(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_get_viewdef(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_get_viewdef_ext(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_get_viewdef_name(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_get_viewdef_name_ext(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_get_indexdef(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_get_indexdef_ext(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_get_triggerdef(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_get_constraintdef(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_get_constraintdef_ext(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_get_userbyid(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_get_expr(PG_FUNCTION_ARGS);
|
||||
extern Datum pg_get_expr_ext(PG_FUNCTION_ARGS);
|
||||
extern char *deparse_expression(Node *expr, List *dpcontext,
|
||||
bool forceprefix, bool showimplicit);
|
||||
extern List *deparse_context_for(const char *aliasname, Oid relid);
|
||||
|
Loading…
Reference in New Issue
Block a user