Bruce Momjian írta:
>Patch applied. Thanks.
>
>---------------------------------------------------------------------------
>
>
Hi!
on my timetravel.c I find a bug: after the
ALTER TABLE mytable drop column last_column_of_table;
the timetravel trigger say on UPDATE/DELETE:
ERROR: parser: parse error at end of input
Here is the patch for this bug
Böjthe Zoltán
--- timetravel.c.prev 2003-06-27 19:56:40.000000000 +0200
+++ timetravel.c 2003-09-02 14:53:21.000000000 +0200
@@ -306,7 +306,7 @@
void *pplan;
Oid *ctypes;
char sql[8192];
- int j;
+ char separ=' ';
/* allocate ctypes for preparation */
ctypes = (Oid *) palloc(natts * sizeof(Oid));
@@ -319,11 +319,12 @@
{
ctypes[i - 1] = SPI_gettypeid(tupdesc, i);
if(!(tupdesc->attrs[i - 1]->attisdropped)) /* skip dropped columns */
- snprintf(sql + strlen(sql), sizeof(sql) - strlen(sql), "$%d%s",
- i, (i < natts) ? ", " : ")" );
-// snprintf(sql + strlen(sql), sizeof(sql) - strlen(sql), "$%d /* %d */ %s",
-// i, ctypes[i-1], (i < natts) ? ", " : ")" );
+ {
+ snprintf(sql + strlen(sql), sizeof(sql) - strlen(sql), "%c$%d", separ,i);
+ separ = ',';
+ }
}
+ snprintf(sql + strlen(sql), sizeof(sql) - strlen(sql), ")");
// elog(NOTICE, "timetravel (%s) update: sql: %s", relname, sql);