From 8f612b7f0042a33f59cd4a18144b4d74e78b6859 Mon Sep 17 00:00:00 2001
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: Mon, 20 Jul 2015 11:20:40 +0200
Subject: [PATCH] Add some comments to test_ddl_deparse and a README

Per comments from Heikki Linnakangas.

Backpatch to 9.5, where this module was introduced.
---
 src/test/modules/test_ddl_deparse/README      |  8 ++++++
 .../test_ddl_deparse/test_ddl_deparse.c       | 26 +++++++++++++++++++
 2 files changed, 34 insertions(+)
 create mode 100644 src/test/modules/test_ddl_deparse/README

diff --git a/src/test/modules/test_ddl_deparse/README b/src/test/modules/test_ddl_deparse/README
new file mode 100644
index 00000000000..f02640731e8
--- /dev/null
+++ b/src/test/modules/test_ddl_deparse/README
@@ -0,0 +1,8 @@
+test_ddl_deparse is an example of how to use the pg_ddl_command datatype.
+It is not intended to do anything useful on its own; rather, it is a
+demonstration of how to use the datatype, and to provide some unit tests for
+it.
+
+The functions in this extension are intended to be able to process some
+part of the struct and produce some readable output, preferrably handling
+all possible cases so that SQL test code can be written.
diff --git a/src/test/modules/test_ddl_deparse/test_ddl_deparse.c b/src/test/modules/test_ddl_deparse/test_ddl_deparse.c
index a216e422e9f..5ae17f866ed 100644
--- a/src/test/modules/test_ddl_deparse/test_ddl_deparse.c
+++ b/src/test/modules/test_ddl_deparse/test_ddl_deparse.c
@@ -1,3 +1,13 @@
+/*----------------------------------------------------------------------
+ * test_ddl_deparse.c
+ * 		Support functions for the test_ddl_deparse module
+ *
+ * Copyright (C) 2014-2015, PostgreSQL Global Development Group
+ *
+ * IDENTIFICATION
+ *	  src/test/modules/test_ddl_deparse/test_ddl_deparse.c
+ *----------------------------------------------------------------------
+ */
 #include "postgres.h"
 
 #include "catalog/pg_type.h"
@@ -11,6 +21,10 @@ PG_FUNCTION_INFO_V1(get_command_type);
 PG_FUNCTION_INFO_V1(get_command_tag);
 PG_FUNCTION_INFO_V1(get_altertable_subcmdtypes);
 
+/*
+ * Return the textual representation of the struct type used to represent a
+ * command in struct CollectedCommand format.
+ */
 Datum
 get_command_type(PG_FUNCTION_ARGS)
 {
@@ -48,6 +62,10 @@ get_command_type(PG_FUNCTION_ARGS)
 	PG_RETURN_TEXT_P(cstring_to_text(type));
 }
 
+/*
+ * Return the command tag corresponding to a parse node contained in a
+ * CollectedCommand struct.
+ */
 Datum
 get_command_tag(PG_FUNCTION_ARGS)
 {
@@ -59,6 +77,10 @@ get_command_tag(PG_FUNCTION_ARGS)
 	PG_RETURN_TEXT_P(cstring_to_text(CreateCommandTag(cmd->parsetree)));
 }
 
+/*
+ * Return a text array representation of the subcommands of an ALTER TABLE
+ * command.
+ */
 Datum
 get_altertable_subcmdtypes(PG_FUNCTION_ARGS)
 {
@@ -130,6 +152,9 @@ get_altertable_subcmdtypes(PG_FUNCTION_ARGS)
 			case AT_ReAddConstraint:
 				strtype = "(re) ADD CONSTRAINT";
 				break;
+			case AT_ReAddComment:
+				strtype = "(re) ADD COMMENT";
+				break;
 			case AT_AlterConstraint:
 				strtype = "ALTER CONSTRAINT";
 				break;
@@ -258,6 +283,7 @@ get_altertable_subcmdtypes(PG_FUNCTION_ARGS)
 				break;
 			default:
 				strtype = "unrecognized";
+				break;
 		}
 
 		astate =
-- 
GitLab