On Fri, Jan 27, 2017 at 1:36 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Haribabu Kommi <kommi.haribabu@gmail.com> writes: > This patch currently doesn't have the code for reporting the two log > messages that can occur in tokenize_file function. To support the same, > I am thinking of changing line_nums list to line_info list that can > contain both line number and the error message that occurred during the > tokenize. This list data is used to identify whether that line is having > any error or not before parsing that hba line, and directly report that > line as error in the view.
Yeah, perhaps. tokenize_file() has pushed the return-parallel-lists notion to the limit of sanity already. It would make more sense to change it to return a single list containing one struct per line, which would include the token list, raw line text, and line number.
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 came up with TokenizedLline as a structure name that works with all
configuration files and member names (I hope). If it needs any better