Skip to content

Comments

feat: COMMENT ON for function and stored procedure#230

Merged
tianzhou merged 2 commits intomainfrom
comment_on_function
Jan 5, 2026
Merged

feat: COMMENT ON for function and stored procedure#230
tianzhou merged 2 commits intomainfrom
comment_on_function

Conversation

@tianzhou
Copy link
Contributor

@tianzhou tianzhou commented Jan 5, 2026

Address part of #227 - 4. Function Metadata

tianzhou and others added 2 commits January 5, 2026 00:49
Document the implementation approach for adding comment support
to functions and procedures in diff generation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add generateFunctionComment() and generateProcedureComment() helpers
- Update functionsEqual() and proceduresEqual() to compare comments
- Add functionsEqualExceptComment() and proceduresEqualExceptComment()
- Comment-only changes generate just COMMENT ON statement (no DROP/CREATE)
- New functions/procedures with comments emit COMMENT ON after CREATE
- Body changes with comment changes emit both statements

Test cases added:
- comment/add_function_comment
- comment/add_procedure_comment

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings January 5, 2026 09:22
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements COMMENT ON support for PostgreSQL functions and stored procedures, addressing part of issue #227 regarding function metadata. The implementation allows adding, modifying, and removing comments on these database objects.

Key Changes:

  • Added comment generation for functions and procedures during creation and modification
  • Implemented smart detection to generate only COMMENT ON statements when only comments change
  • Properly handles comment changes alongside body or attribute modifications

Reviewed changes

Copilot reviewed 14 out of 15 changed files in this pull request and generated no comments.

Show a summary per file
File Description
internal/diff/function.go Adds comment generation logic for functions, including detection of comment-only changes and integration with existing attribute-only change handling
internal/diff/procedure.go Adds comment generation logic for procedures, including detection of comment-only changes and integration with DROP+CREATE modification flow
testdata/diff/comment/add_function_comment/* Test data files validating that adding a comment to an existing function generates only a COMMENT ON FUNCTION statement
testdata/diff/comment/add_procedure_comment/* Test data files validating that adding a comment to an existing procedure generates only a COMMENT ON PROCEDURE statement
.gitignore Adds docs/plans/ to ignored paths for generated documentation files

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@tianzhou tianzhou merged commit 666f776 into main Jan 5, 2026
8 checks passed
@tianzhou tianzhou deleted the comment_on_function branch January 5, 2026 14:12
alecthomas pushed a commit to alecthomas/pgschema that referenced this pull request Jan 26, 2026
* docs: add design for COMMENT ON FUNCTION/PROCEDURE support

Document the implementation approach for adding comment support
to functions and procedures in diff generation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat: add COMMENT ON FUNCTION/PROCEDURE support

- Add generateFunctionComment() and generateProcedureComment() helpers
- Update functionsEqual() and proceduresEqual() to compare comments
- Add functionsEqualExceptComment() and proceduresEqualExceptComment()
- Comment-only changes generate just COMMENT ON statement (no DROP/CREATE)
- New functions/procedures with comments emit COMMENT ON after CREATE
- Body changes with comment changes emit both statements

Test cases added:
- comment/add_function_comment
- comment/add_procedure_comment

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant