Re: Lift line-length limit for pg_service.conf
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Daniel Gustafsson <daniel@yesql.se>
Cc: Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2020-09-21T15:09:23Z
Lists: pgsql-hackers
Daniel Gustafsson <daniel@yesql.se> writes: > The pg_service.conf parsing thread [0] made me realize that we have a hardwired > line length of max 256 bytes. Lifting this would be in line with recent work > for ecpg, pg_regress and pg_hba (784b1ba1a2 and 8f8154a50). The attached moves > pg_service.conf to use the new pg_get_line_append API and a StringInfo to lift > the restriction. Any reason not to do that while we're lifting other such limits? +1. I'd been thinking of looking around at our fgets calls to see which ones need this sort of work, but didn't get to it yet. Personally, I'd avoid depending on StringInfo.cursor here, as the dependency isn't really buying you anything. Instead you could do line = linebuf.data; just after the trim-trailing-whitespace loop and then leave the "ignore leading whitespace too" code as it stands. Also, the need for inserting the pfree into multiple exit paths kind of makes me itch. I wonder if we should change the ending code to look like exit: fclose(f); pfree(linebuf.data); return result; and then the early exit spots would be replaced with "result = x; goto exit". (Some of them could use "break", but not all, so it's probably better to consistently use "goto".) regards, tom lane
Commits
-
Improve behavior of tsearch_readline(), and remove t_readline().
- 83b61319a16c 14.0 landed
-
Avoid possible dangling-pointer access in tsearch_readline_callback.
- c1f63c42fc13 11.10 landed
- b91033ae9bc5 10.15 landed
- b1fbb7d08f22 9.6.20 landed
- 61cfd90621d6 9.5.24 landed
- 5d0c80658328 12.5 landed
- 569f6a89a915 13.1 landed
- 3ea7e9550e58 14.0 landed
-
Simplify SortTocFromFile() by removing fixed buffer-size limit.
- 2e3c19462da9 14.0 landed
-
Remove arbitrary line length limit for libpq service files.
- c0cb87fbb664 14.0 landed
-
Rethink API for pg_get_line.c, one more time.
- 931487018c40 14.0 landed