Thread: pgsql: Several fixes to array handling in ecpg.

pgsql: Several fixes to array handling in ecpg.

From
Michael Meskes
Date:
Several fixes to array handling in ecpg.

Patches by Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>

Branch
------
REL9_2_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/2b3136de9ed80cf89287651048d1597ebc1b4b6d

Modified Files
--------------
src/interfaces/ecpg/preproc/type.c                 |   17 +++++++--
.../ecpg/test/expected/preproc-array_of_struct.c   |    8 ++--
.../ecpg/test/expected/preproc-outofscope.c        |   40 ++++++++++----------
src/interfaces/ecpg/test/expected/preproc-type.c   |    6 +--
.../ecpg/test/expected/preproc-variable.c          |   12 +++---
5 files changed, 46 insertions(+), 37 deletions(-)


Re: pgsql: Several fixes to array handling in ecpg.

From
Tom Lane
Date:
Michael Meskes <meskes@postgresql.org> writes:
> Several fixes to array handling in ecpg.

This patch is causing almost all of the Windows buildfarm members to
fail with compilation errors, along the lines of

pointer_to_struct.pgc(27): error C2065: 'customer' : undeclared identifier
pointer_to_struct.pgc(27): error C2065: 'custs1' : undeclared identifier
pointer_to_struct.pgc(27): error C2065: 'customer' : undeclared identifier
pointer_to_struct.pgc(27): error C2059: syntax error : ')'
pointer_to_struct.pgc(28): error C2065: 'cust_ind' : undeclared identifier
pointer_to_struct.pgc(28): error C2065: 'inds' : undeclared identifier
pointer_to_struct.pgc(28): error C2065: 'cust_ind' : undeclared identifier
pointer_to_struct.pgc(28): error C2059: syntax error : ')'
pointer_to_struct.pgc(34): error C2275: 'customer2' : illegal use of this type as an expression
          pointer_to_struct.pgc(33) : see declaration of 'customer2'
pointer_to_struct.pgc(34): error C2065: 'custs2' : undeclared identifier
pointer_to_struct.pgc(40): error C2143: syntax error : missing ';' before '<class-head>'
pointer_to_struct.pgc(39): error C2143: syntax error : missing ';' before 'type'
pointer_to_struct.pgc(40): error C2027: use of undefined type 'customer3'
          pointer_to_struct.pgc(40) : see declaration of 'customer3'
pointer_to_struct.pgc(40): error C2099: initializer is not a constant
pointer_to_struct.pgc(46): error C2099: initializer is not a constant
pointer_to_struct.pgc(52): error C2143: syntax error : missing ')' before '('
pointer_to_struct.pgc(52): error C2143: syntax error : missing ')' before 'constant'
pointer_to_struct.pgc(52): error C2091: function returns function
pointer_to_struct.pgc(52): error C2143: syntax error : missing '{' before 'constant'
pointer_to_struct.pgc(52): error C2059: syntax error : '<Unknown>'
pointer_to_struct.pgc(52): error C2059: syntax error : ')'
pointer_to_struct.pgc(54): error C2449: found '{' at file scope (missing function header?)
pointer_to_struct.pgc(55): error C2059: syntax error : '}'
etc etc

No idea why.  It's also interesting that only HEAD seems to be affected.

            regards, tom lane


Re: pgsql: Several fixes to array handling in ecpg.

From
Michael Meskes
Date:
On Thu, Apr 10, 2014 at 09:44:39AM -0400, Tom Lane wrote:
> This patch is causing almost all of the Windows buildfarm members to
> fail with compilation errors, along the lines of

Argh, I stopped monitoring the buildfarm for this patch when the first 5 to 10
members came up green. Windows being so special, I shouild have waited.

Anyway, I just committed a fix that, hopefully, fixes the problem. I do not
have any Windows system to test with myself.

> No idea why.  It's also interesting that only HEAD seems to be affected.

That's easy to explain. There were a couple small changes on the test suite
that made adding another test to older version more hassle than anything else.
Or in other words, the new test simply wasnt backported.

Michael
--
Michael Meskes
Michael at Fam-Meskes dot De, Michael at Meskes dot (De|Com|Net|Org)
Michael at BorussiaFan dot De, Meskes at (Debian|Postgresql) dot Org
Jabber: michael.meskes at gmail dot com
VfL Borussia! Força Barça! Go SF 49ers! Use Debian GNU/Linux, PostgreSQL