Thread: Compiling table_log for PG 11 / attisdropped
Hi. I'm trying to update some databases from 9.6 to 11, and they use table_log for tracking changes to tables.
I started with the most recent version I could find, a fork labeled version 0.5. [1]
This version compiles on both 9.6, and 10, but on 11 it fails with these errors:
table_log.c: In function ‘count_columns’:
table_log.c:80:27: error: invalid type argument of ‘->’ (have ‘FormData_pg_attribute’)
if (!tupleDesc->attrs[i]->attisdropped)
^
table_log.c: In function ‘__table_log’:
table_log.c:339:56: error: invalid type argument of ‘->’ (have ‘FormData_pg_attribute’)
if (trigdata->tg_relation->rd_att->attrs[col_nr - 1]->attisdropped)
^
table_log.c:373:56: error: invalid type argument of ‘->’ (have ‘FormData_pg_attribute’)
if (trigdata->tg_relation->rd_att->attrs[col_nr - 1]->attisdropped)
table_log.c:80:27: error: invalid type argument of ‘->’ (have ‘FormData_pg_attribute’)
if (!tupleDesc->attrs[i]->attisdropped)
^
table_log.c: In function ‘__table_log’:
table_log.c:339:56: error: invalid type argument of ‘->’ (have ‘FormData_pg_attribute’)
if (trigdata->tg_relation->rd_att->attrs[col_nr - 1]->attisdropped)
^
table_log.c:373:56: error: invalid type argument of ‘->’ (have ‘FormData_pg_attribute’)
if (trigdata->tg_relation->rd_att->attrs[col_nr - 1]->attisdropped)
Can anyone shed any light on these errors, and/or how they might be fixed?
(I did try filing an issue with this project [2], but since there is no activity there I'm turning to this mailing list.)
(Also, I know table_log is quite old and there are better alternatives. If I were starting fresh I would surely use them. But it works for my simple needs, and I have a lot of legacy data accumulated, so I would really like to avoid switching to a new or different logging system.)
Thanks in advance,
Ken
[1] Table log: https://github.com/psoo/table_log
[2] Issue filed: https://github.com/psoo/table_log/issues/2
[3] table_log.c: https://github.com/psoo/table_log/blob/master/table_log.c
--
AGENCY Software
A Free Software data system
By and for non-profits
(253) 245-3801
learn more about AGENCY or
follow the discussion.
On 7/12/19 1:19 PM, Ken Tanzer wrote: > Hi. I'm trying to update some databases from 9.6 to 11, and they use > table_log for tracking changes to tables. > > I started with the most recent version I could find, a fork labeled > version 0.5. [1] What OS.version and compiler/version? Some digging found the below, which is similar: https://trac.osgeo.org/postgis/ticket/3814 https://trac.osgeo.org/postgis/changeset/15653 > > This version compiles on both 9.6, and 10, but on 11 it fails with these > errors: > > table_log.c: In function ‘count_columns’: > table_log.c:80:27: error: invalid type argument of ‘->’ (have > ‘FormData_pg_attribute’) > if (!tupleDesc->attrs[i]->attisdropped) If I am following the issue correctly then the above becomes: if (!tupleDesc->attrs[i].attisdropped) > ^ > table_log.c: In function ‘__table_log’: > table_log.c:339:56: error: invalid type argument of ‘->’ (have > ‘FormData_pg_attribute’) > if (trigdata->tg_relation->rd_att->attrs[col_nr - 1]->attisdropped) > ^ > table_log.c:373:56: error: invalid type argument of ‘->’ (have > ‘FormData_pg_attribute’) > if (trigdata->tg_relation->rd_att->attrs[col_nr - 1]->attisdropped) and above becomes: *[col_nr - 1].attisdropped > > Can anyone shed any light on these errors, and/or how they might be fixed? > > (I did try filing an issue with this project [2], but since there is no > activity there I'm turning to this mailing list.) > (Also, I know table_log is quite old and there are better alternatives. > If I were starting fresh I would surely use them. But it works for my > simple needs, and I have a lot of legacy data accumulated, so I would > really like to avoid switching to a new or different logging system.) > > Thanks in advance, > Ken > > [1] Table log: https://github.com/psoo/table_log > [2] Issue filed: https://github.com/psoo/table_log/issues/2 > [3] table_log.c: https://github.com/psoo/table_log/blob/master/table_log.c > > > > -- > AGENCY Software > A Free Software data system > By and for non-profits > /http://agency-software.org// > /https://demo.agency-software.org/client/ > ken.tanzer@agency-software.org <mailto:ken.tanzer@agency-software.org> > (253) 245-3801 > > Subscribe to the mailing list > <mailto:agency-general-request@lists.sourceforge.net?body=subscribe> to > learn more about AGENCY or > follow the discussion. -- Adrian Klaver adrian.klaver@aklaver.com
On Fri, Jul 12, 2019 at 1:42 PM Adrian Klaver <adrian.klaver@aklaver.com> wrote:
On 7/12/19 1:19 PM, Ken Tanzer wrote:
> Hi. I'm trying to update some databases from 9.6 to 11, and they use
> table_log for tracking changes to tables.
>
> I started with the most recent version I could find, a fork labeled
> version 0.5. [1]
What OS.version and compiler/version?
Well it was Centos 7. I'm not quite sure what I was using at the time I asked, though I think it would have been whatever was generically part of Centos 7. I ended up having to install serveral packages (llvm5.0, centos-release-scl, llvm-toolset-7 & devtoolset-7) when the compiler was giving errors trying to move from table_log.so to table_log.bc.
Some digging found the below, which is similar:
https://trac.osgeo.org/postgis/ticket/3814
https://trac.osgeo.org/postgis/changeset/15653
>
> if (!tupleDesc->attrs[i]->attisdropped)
If I am following the issue correctly then the above becomes:
if (!tupleDesc->attrs[i].attisdropped)
> if (trigdata->tg_relation->rd_att->attrs[col_nr - 1]->attisdropped)
and above becomes:
*[col_nr - 1].attisdropped
That stopped the errors. Thanks for your help!
Ken
--
AGENCY Software
A Free Software data system
By and for non-profits
(253) 245-3801
learn more about AGENCY or
follow the discussion.