/[rserv]/lib/rserv.c
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /lib/rserv.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by dpavlin, Wed Aug 6 16:14:53 2003 UTC revision 1.4 by dpavlin, Tue Oct 28 18:43:15 2003 UTC
# Line 3  Line 3 
3   * (c) 2000 Vadim Mikheev, PostgreSQL Inc.   * (c) 2000 Vadim Mikheev, PostgreSQL Inc.
4   */   */
5    
6  #include "executor/spi.h"               /* this is what you need to work with SPI */  #include "executor/spi.h"       /* this is what you need to work with SPI */
7  #include "commands/trigger.h"   /* -"- and triggers */  #include "commands/trigger.h"   /* -"- and triggers */
8  #include "utils/tqual.h"                /* -"- and SnapshotData */  #include "utils/tqual.h"        /* -"- and SnapshotData */
9  #include <ctype.h>                              /* tolower () */  #include <ctype.h>              /* tolower () */
10    
11  #ifdef PG_FUNCTION_INFO_V1  #ifdef PG_FUNCTION_INFO_V1
12  #define CurrentTriggerData ((TriggerData *) fcinfo->context)  #define CurrentTriggerData ((TriggerData *) fcinfo->context)
# Line 54  _rserv_log_() Line 54  _rserv_log_()
54          char            outbuf[8192];          char            outbuf[8192];
55          char            oidbuf[64];          char            oidbuf[64];
56          int                     ret;          int                     ret;
57            int             server;
58    
59          /* Called by trigger manager ? */          /* Called by trigger manager ? */
60          if (!CurrentTriggerData)          if (!CurrentTriggerData)
# Line 69  _rserv_log_() Line 70  _rserv_log_()
70          nargs = trigger->tgnargs;          nargs = trigger->tgnargs;
71          args = trigger->tgargs;          args = trigger->tgargs;
72    
73          if (nargs != 1)                         /* odd number of arguments! */          if (nargs != 2)                         /* odd number of arguments! */
74                  elog(ERROR, "_rserv_log_: need in *one* argument");                  elog(ERROR, "_rserv_log_: need in *two* arguments, key number and server number");
75    
76          keynum = atoi(args[0]);          keynum = atoi(args[0]);
77            server = atoi(args[1]);
78    
79          if (keynum < 0 && keynum != ObjectIdAttributeNumber)          if (keynum < 0 && keynum != ObjectIdAttributeNumber)
80                  elog(ERROR, "_rserv_log_: invalid keynum %d", keynum);                  elog(ERROR, "_rserv_log_: invalid keynum %d", keynum);
# Line 152  _rserv_log_() Line 154  _rserv_log_()
154          else if (SPI_processed == 0)          else if (SPI_processed == 0)
155          {          {
156                  snprintf(sql, 8192, "insert into _RSERV_LOG_ "                  snprintf(sql, 8192, "insert into _RSERV_LOG_ "
157                                  "(reloid, logid, logtime, insert, update, delete, key) "                                  "(reloid, logid, logtime, insert, update, delete, key, server) "
158                                  "values (%u, %d, now(), %d, %d, %d, '%s')",                                  "values (%u, %d, now(), %d, %d, %d, '%s', %d)",
159                                   rel->rd_id, GetCurrentTransactionId(),                                   rel->rd_id, GetCurrentTransactionId(),
160                                  inserted, updated, deleted, okey);                                  inserted, updated, deleted, okey, server);
161    
162                  if (debug)                  if (debug)
163                          elog(DEBUG3, "sql: %s", sql);                          elog(DEBUG3, "sql: %s", sql);
# Line 177  _rserv_log_() Line 179  _rserv_log_()
179                          okey = newkey;                          okey = newkey;
180    
181                  snprintf(sql, 8192, "insert into _RSERV_LOG_ "                  snprintf(sql, 8192, "insert into _RSERV_LOG_ "
182                                   "(reloid, logid, logtime, insert, update, deleted, key) "                                   "(reloid, logid, logtime, insert, update, deleted, key, server) "
183                                   "values (%u, %d, now(), %d, %d, 0, '%s')",                                   "values (%u, %d, now(), %d, %d, 0, '%s', %d)",
184                                   rel->rd_id, GetCurrentTransactionId(), inserted, updated, okey);                                   rel->rd_id, GetCurrentTransactionId(), inserted, updated, okey, server);
185    
186                  if (debug)                  if (debug)
187                          elog(DEBUG3, "sql: %s", sql);                          elog(DEBUG3, "sql: %s", sql);

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

  ViewVC Help
Powered by ViewVC 1.1.26