Thread: BUG #6692: Potential Bug in equalfuncs.c
The following bug has been logged on the website: Bug reference: 6692 Logged by: Ken Cheung Email address: msrbugzilla@gmail.com PostgreSQL version: 9.1.3 Operating system: Linux Description:=20=20=20=20=20=20=20=20 I observed a code clone in the following files. The function "COMPARE_LOCATION_FIELD" is called in some functions and missed in other functions. I wonder if this is a bug. Hope it helps. function : _equalA_ArrayExpr @ (file: "postgresql-9.1.3/src/backend/nodes/equalfuncs.c", line: 2118)~2121 COMPARE_NODE_FIELD(elements); COMPARE_LOCATION_FIELD(location); return true; function : _equalAlternativeSubPlan @ (file: "postgresql-9.1.3/src/backend/nodes/equalfuncs.c", line: 415)~417 COMPARE_NODE_FIELD(subplans); return true; function : _equalColumnRef @ (file: "postgresql-9.1.3/src/backend/nodes/equalfuncs.c", line: 2051)~2054 COMPARE_NODE_FIELD(fields); COMPARE_LOCATION_FIELD(location); return true; function : _equalDoStmt @ (file: "postgresql-9.1.3/src/backend/nodes/equalfuncs.c", line: 1306)~1308 COMPARE_NODE_FIELD(args); return true;
msrbugzilla@gmail.com writes: > I observed a code clone in the following files. The function > "COMPARE_LOCATION_FIELD" is called in some functions and missed in other > functions. I wonder if this is a bug. Hope it helps. Well, COMPARE_LOCATION_FIELD() is a no-op anyway, but for documentation's sake it should be called in the comparison function for every node type that has a token location field (some do, some don't). So far as I can see, it is called where it should be. Did you observe a place where it is not, and if so where? regards, tom lane