* setup_parser_errposition_callback * Arrange for non-parser errors to report an error position * * Sometimes the parser calls functions that aren't part of the parser * subsystem and can't reasonably be passed a ParseState; yet we would * like any errors thrown in those functions to be tagged with a parse * error location. Use this function to set up an error context stack * entry that w
| 142 | * cancel_parser_errposition_callback(&pcbstate); |
| 143 | */ |
| 144 | void |
| 145 | setup_parser_errposition_callback(ParseCallbackState *pcbstate, |
| 146 | ParseState *pstate, int location) |
| 147 | { |
| 148 | /* Setup error traceback support for ereport() */ |
| 149 | pcbstate->pstate = pstate; |
| 150 | pcbstate->location = location; |
| 151 | pcbstate->errcallback.callback = pcb_error_callback; |
| 152 | pcbstate->errcallback.arg = (void *) pcbstate; |
| 153 | pcbstate->errcallback.previous = error_context_stack; |
| 154 | error_context_stack = &pcbstate->errcallback; |
| 155 | } |
| 156 | |
| 157 | /* |
| 158 | * Cancel a previously-set-up errposition callback. |
no outgoing calls
no test coverage detected