LCOV - code coverage report
Current view: top level - contrib/pg_plan_advice - pgpa_identifier.h (source / functions) Coverage Total Hit
Test: PostgreSQL 19devel Lines: 100.0 % 6 6
Test Date: 2026-03-16 00:15:06 Functions: 100.0 % 1 1
Legend: Lines:     hit not hit

            Line data    Source code
       1              : /*-------------------------------------------------------------------------
       2              :  *
       3              :  * pgpa_identifier.h
       4              :  *    create appropriate identifiers for range table entries
       5              :  *
       6              :  * Copyright (c) 2016-2026, PostgreSQL Global Development Group
       7              :  *
       8              :  *    contrib/pg_plan_advice/pgpa_identifier.h
       9              :  *
      10              :  *-------------------------------------------------------------------------
      11              :  */
      12              : 
      13              : #ifndef PGPA_IDENTIFIER_H
      14              : #define PGPA_IDENTIFIER_H
      15              : 
      16              : #include "nodes/pathnodes.h"
      17              : #include "nodes/plannodes.h"
      18              : 
      19              : typedef struct pgpa_identifier
      20              : {
      21              :     const char *alias_name;
      22              :     int         occurrence;
      23              :     const char *partnsp;
      24              :     const char *partrel;
      25              :     const char *plan_name;
      26              : } pgpa_identifier;
      27              : 
      28              : /* Convenience function for comparing possibly-NULL strings. */
      29              : static inline bool
      30         2296 : strings_equal_or_both_null(const char *a, const char *b)
      31              : {
      32         2296 :     if (a == b)
      33         2162 :         return true;
      34          134 :     else if (a == NULL || b == NULL)
      35           52 :         return false;
      36              :     else
      37           82 :         return strcmp(a, b) == 0;
      38              : }
      39              : 
      40              : extern const char *pgpa_identifier_string(const pgpa_identifier *rid);
      41              : extern void pgpa_compute_identifier_by_rti(PlannerInfo *root, Index rti,
      42              :                                            pgpa_identifier *rid);
      43              : extern int  pgpa_compute_identifiers_by_relids(PlannerInfo *root,
      44              :                                                Bitmapset *relids,
      45              :                                                pgpa_identifier *rids);
      46              : extern pgpa_identifier *pgpa_create_identifiers_for_planned_stmt(PlannedStmt *pstmt);
      47              : 
      48              : extern Index pgpa_compute_rti_from_identifier(int rtable_length,
      49              :                                               pgpa_identifier *rt_identifiers,
      50              :                                               pgpa_identifier *rid);
      51              : 
      52              : #endif
        

Generated by: LCOV version 2.0-1