/[pgestraier]/trunk/pgest.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 /trunk/pgest.c

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

revision 73 by dpavlin, Mon Aug 7 22:47:41 2006 UTC revision 79 by dpavlin, Tue Aug 8 11:42:01 2006 UTC
# Line 768  Datum pgest_trigger(PG_FUNCTION_ARGS) { Line 768  Datum pgest_trigger(PG_FUNCTION_ARGS) {
768          int   knumber;          int   knumber;
769          int   i;          int   i;
770          int   create_doc = 0;          int   create_doc = 0;
771            int   edit_doc = 0;
772    
773          ESTNODE *node;          ESTNODE *node;
774          ESTDOC *doc;          ESTDOC *doc;
# Line 810  Datum pgest_trigger(PG_FUNCTION_ARGS) { Line 811  Datum pgest_trigger(PG_FUNCTION_ARGS) {
811          } else if (TRIGGER_FIRED_BY_UPDATE(data->tg_event)) {          } else if (TRIGGER_FIRED_BY_UPDATE(data->tg_event)) {
812                  ret = data->tg_newtuple;                  ret = data->tg_newtuple;
813    
814                  create_doc++;                  edit_doc++;
815    
816          } else if (TRIGGER_FIRED_BY_DELETE(data->tg_event)) {          } else if (TRIGGER_FIRED_BY_DELETE(data->tg_event)) {
817                  /* There is no new data */                  /* There is no new data */
# Line 823  Datum pgest_trigger(PG_FUNCTION_ARGS) { Line 824  Datum pgest_trigger(PG_FUNCTION_ARGS) {
824                  elog(ERROR, "pgest_trigger() not called from INSERT/UPDATE/DELETE");                  elog(ERROR, "pgest_trigger() not called from INSERT/UPDATE/DELETE");
825          }          }
826    
827          if ( create_doc ) {          if ( create_doc || edit_doc ) {
   
                 /* create a document object */  
                 doc = est_doc_new();  
                 est_doc_add_attr(doc, "@uri", key);  
828    
829                  elog(DEBUG1, "est_doc_new @uri=%s", key);                  if ( create_doc ) {
830                            /* create a document object */
831                            doc = est_doc_new();
832                            est_doc_add_attr(doc, "@uri", key);
833    
834                            elog(DEBUG1, "est_doc_new @uri=%s", key);
835                    } else {
836                            /* edit existing document */
837                            doc = est_node_get_doc_by_uri(node, key);
838                            if (doc == NULL)
839                                    elog(ERROR, "est_node_get_doc_by_uri(%s): %d\n", key, est_node_status(node));
840                            elog(DEBUG1, "est_node_get_doc_by_uri(%s)", key);
841                    }
842    
843                  for( i = 4; i < data->tg_trigger->tgnargs; i++ ) {                  for( i = 4; i < data->tg_trigger->tgnargs; i++ ) {
844    
# Line 843  Datum pgest_trigger(PG_FUNCTION_ARGS) { Line 852  Datum pgest_trigger(PG_FUNCTION_ARGS) {
852    
853                  }                  }
854    
855                  /* register the document object to the node */                  if ( edit_doc ) {
856                  if( ! est_node_put_doc(node, doc) )                          /* update existing document */
857                          elog(ERROR, "est_node_put_doc: %d\n", est_node_status(node));                          if( ! est_node_edit_doc(node, doc) )
858                                    elog(ERROR, "est_node_edit_doc: %d\n", est_node_status(node));
859                    } else {
860                            /* register the document object to the node */
861                            if( ! est_node_put_doc(node, doc) )
862                                    elog(ERROR, "est_node_put_doc: %d\n", est_node_status(node));
863                    }
864    
865                  /* destroy the document object */                  /* destroy the document object */
866                  est_doc_delete(doc);                  est_doc_delete(doc);

Legend:
Removed from v.73  
changed lines
  Added in v.79

  ViewVC Help
Powered by ViewVC 1.1.26