LCOV - code coverage report
Current view: top level - src/interfaces/ecpg/preproc - ecpg_keywords.c (source / functions) Coverage Total Hit
Test: Code coverage Lines: 0.0 % 10 0
Test Date: 2026-01-26 10:56:24 Functions: 0.0 % 1 0
Legend: Lines:     hit not hit

            Line data    Source code
       1              : /*-------------------------------------------------------------------------
       2              :  *
       3              :  * ecpg_keywords.c
       4              :  *        lexical token lookup for reserved words in postgres embedded SQL
       5              :  *
       6              :  * IDENTIFICATION
       7              :  *        src/interfaces/ecpg/preproc/ecpg_keywords.c
       8              :  *
       9              :  *-------------------------------------------------------------------------
      10              :  */
      11              : 
      12              : #include "postgres_fe.h"
      13              : 
      14              : #include <ctype.h>
      15              : 
      16              : /* ScanKeywordList lookup data for ECPG keywords */
      17              : #include "ecpg_kwlist_d.h"
      18              : #include "preproc_extern.h"
      19              : #include "preproc.h"
      20              : 
      21              : /* Token codes for ECPG keywords */
      22              : #define PG_KEYWORD(kwname, value) value,
      23              : 
      24              : static const uint16 ECPGScanKeywordTokens[] = {
      25              : #include "ecpg_kwlist.h"
      26              : };
      27              : 
      28              : #undef PG_KEYWORD
      29              : 
      30              : 
      31              : /*
      32              :  * ScanECPGKeywordLookup - see if a given word is a keyword
      33              :  *
      34              :  * Returns the token value of the keyword, or -1 if no match.
      35              :  *
      36              :  * Keywords are matched using the same case-folding rules as in the backend.
      37              :  */
      38              : int
      39            0 : ScanECPGKeywordLookup(const char *text)
      40              : {
      41            0 :         int                     kwnum;
      42              : 
      43              :         /* First check SQL symbols defined by the backend. */
      44            0 :         kwnum = ScanKeywordLookup(text, &ScanKeywords);
      45            0 :         if (kwnum >= 0)
      46            0 :                 return SQLScanKeywordTokens[kwnum];
      47              : 
      48              :         /* Try ECPG-specific keywords. */
      49            0 :         kwnum = ScanKeywordLookup(text, &ScanECPGKeywords);
      50            0 :         if (kwnum >= 0)
      51            0 :                 return ECPGScanKeywordTokens[kwnum];
      52              : 
      53            0 :         return -1;
      54            0 : }
        

Generated by: LCOV version 2.3.2-1