On Sat, Jan 28, 2017 at 5:47 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Haribabu Kommi <kommi.haribabu@gmail.com> writes: > On Fri, Jan 27, 2017 at 1:36 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote: >> It might make sense to proceed by writing a separate patch that just >> refactors the existing code to have an API like that, and then revise >> this patch to add an error message field to the per-line struct. Or >> maybe that's just extra work, not sure.
> Here I attached tokenize_file refactor patch to return single linked list > that contains a structure and rebased pg_hba_rules patch on top it > by adding an error message to that structure to hold the errors occurred > during tokenization..
I pushed the first patch with some revisions. You had the TokenizedLine struct containing something that was still a three-level-nesting list, whereas it only needs to be two levels, and you hadn't updated any of the comments that the patch falsified. Also, I figured we might as well pass the TokenizedLine struct as-is to parse_hba_line and parse_ident_line, because that was going to be the next step anyway so they could pass back error messages.
sorry for missing to update comments. I also thought of reducing the list
level after sending the patch.
Off to look at the second patch ...
Used TokenizeLine->err_msg variable only to return the error message
from parse_hba_line.
Attached a rebased patch on the latest master hopefully.