From ffd3944ab9d481906137bc7d20f5325a2bd68acc Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 1 Mar 2021 16:44:17 -0500 Subject: Improve reporting for syntax errors in multi-line JSON data. Point to the specific line where the error was detected; the previous code tended to include several preceding lines as well. Avoid re-scanning the entire input to recompute which line that was. Simplify the logic a bit. Add test cases. Simon Riggs and Hamid Akhtar, reviewed by Daniel Gustafsson and myself Discussion: https://postgr.es/m/CANbhV-EPBnXm3MF_TTWBwwqgn1a1Ghmep9VHfqmNBQ8BT0f+_g@mail.gmail.com --- src/include/common/jsonapi.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/include/common/jsonapi.h') diff --git a/src/include/common/jsonapi.h b/src/include/common/jsonapi.h index 03331f6d13f..ec3dfce9c32 100644 --- a/src/include/common/jsonapi.h +++ b/src/include/common/jsonapi.h @@ -79,8 +79,8 @@ typedef struct JsonLexContext char *prev_token_terminator; JsonTokenType token_type; int lex_level; - int line_number; - char *line_start; + int line_number; /* line number, starting from 1 */ + char *line_start; /* where that line starts within input */ StringInfo strval; } JsonLexContext; -- cgit v1.2.3