schemainspect icon indicating copy to clipboard operation
schemainspect copied to clipboard

Add support for aggregates, composite types, partitions, and more

Open joshainglis opened this issue 11 months ago • 0 comments

This pull request adds several enhancements and new features to schemainspect.

  • Support for inspecting aggregate functions. A new InspectedAggFunction class was added along with the query to retrieve aggregate function details. Aggregate functions are now included when comparing schemas.

  • Support for composite types. The dependency queries were updated to properly handle composite types. Tables based on composite types are now inspected as regular tables.

  • Partition tables are now handled - child partition tables are excluded from privilege and trigger inspection to avoid duplicate output.

  • Schema-level and function-level privileges are now included in addition to table-level privileges. The privilege query was significantly expanded to capture all privilege types.

  • Comments on all major object types (tables, views, columns, types, functions, etc) are now inspected using a new InspectedComment class and query.

  • Empty string schemas are now handled properly in the quoted_full_name property.

  • Various bug fixes, including:

    • Fixed issue where get_dependency_by_signature could return None
    • Fixed schema filtering in privilege query
    • Fixed an issue with negative stereotyping in the eq comparison
    • Corrected the drop statement for functions to use identity arguments
  • Enabled PEP 517 building in pyproject.toml

This PR builds on top of @biodevc's fork at https://github.com/biodevc/schemainspect

joshainglis avatar Mar 15 '24 04:03 joshainglis