Re: timetravel.c
От | Böjthe Zoltán |
---|---|
Тема | Re: timetravel.c |
Дата | |
Msg-id | 3F5495AE.8070102@arcinfo.hu обсуждение исходный текст |
Ответ на | Re: timetravel.c (Bruce Momjian <pgman@candle.pha.pa.us>) |
Список | pgsql-patches |
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);
В списке pgsql-patches по дате отправления: