![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
I have code that under 8.0.3 works: VARCHAR t[MAX_TENANT_SIZE+1]; VARCHAR o[MAX_OID_SIZE+1]; In 8.0.4 I found this throws an error during the ecpg step: tenant.ec:375: ERROR: pointer to varchar are not implemented tenant.ec:376: ERROR: pointer to varchar are not implemented |
#3
| |||
| |||
|
|
ecpg in 8.0.4 seems not to like the macros. I get the same error, but not if I do this: VARCHAR t[256]; VARCHAR o[256]; ecpg in 8.1beta3 works either way. |
#4
| |||
| |||
|
|
On Thu, Oct 13, 2005 at 09:49:20AM -0600, Michael Fuhr wrote: ecpg in 8.0.4 seems not to like the macros. I get the same error, but not if I do this: VARCHAR t[256]; VARCHAR o[256]; ecpg in 8.1beta3 works either way. This appears to be the guilty commit, which was made to 7.4, 8.0, and HEAD (8.1): http://archives.postgresql.org/pgsql...8/msg00266.php It was recently fixed in HEAD only: http://archives.postgresql.org/pgsql...0/msg00043.php |
#5
| |||
| |||
|
|
On Thu, Oct 13, 2005 at 02:24:27PM +0100, Charles Wegrzyn wrote: I have code that under 8.0.3 works: VARCHAR t[MAX_TENANT_SIZE+1]; VARCHAR o[MAX_OID_SIZE+1]; In 8.0.4 I found this throws an error during the ecpg step: tenant.ec:375: ERROR: pointer to varchar are not implemented tenant.ec:376: ERROR: pointer to varchar are not implemented ecpg in 8.0.4 seems not to like the macros. I get the same error, but not if I do this: VARCHAR t[256]; VARCHAR o[256]; ecpg in 8.1beta3 works either way. Michael, |
#6
| |||
| |||
|
|
Good catch! I have backpatched these fixes to the 8.0 and 7.4 branches as you suggested, (identical) patches attached. |
#7
| |||
| |||
|
|
Yes I found out the same thing. Unfortunately it isn't quite that simple for me. It isn't a very good idea to hard-code fixed sizes in executables. I have a file with all sorts of #defines in it. If the bug doesn't get fixed it means that I will need to run CPP over the code before I run ecpg, which is just ugly. |
#8
| |||
| |||
|
|
On Thu, Oct 13, 2005 at 11:18:13AM -0500, C Wegrzyn wrote: Yes I found out the same thing. Unfortunately it isn't quite that simple for me. It isn't a very good idea to hard-code fixed sizes in executables. I have a file with all sorts of #defines in it. If the bug doesn't get fixed it means that I will need to run CPP over the code before I run ecpg, which is just ugly. Can't you just compile a new version of ecpg with the patch Bruce committed? Depending on the system you're using I could even send you a binary. Michael |
#9
| |||
| |||
|
|
The customer I am writing this for will only accept it based on released code. That means I run either 8.0.3 or 8.0.4. |
![]() |
| Thread Tools | |
| Display Modes | |
| |