commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gnue/geas NEWS TODO doc/notes/stuff.txt lib/cla...


From: Reinhard Mueller
Subject: gnue/geas NEWS TODO doc/notes/stuff.txt lib/cla...
Date: Sat, 01 Sep 2001 23:49:16 -0700

CVSROOT:        /cvsroot/gnue
Module name:    gnue
Changes by:     Reinhard Mueller <address@hidden>       01/09/01 23:49:16

Modified files:
        geas           : NEWS TODO 
        geas/doc/notes : stuff.txt 
        geas/lib/classdefs: classdata.c gcdparser.c gcdparser.h 
                            yparser.y 
        geas/src       : collectiondata.c connection.c dataobject.c 
                         geas-internal-classes.h objectlist.c query.c 
                         transaction.c 
        geas/src/objectcache: objectcache.c objectcache.h 
        geas/src/objectstore: mysql.c postgresql.c 
        geas/src/oql   : oql.c 

Log message:
        merged changes back from branch:
        o User and date of creation and last modification of every object are
        maintained automatically
        o Automatic primary key field is now called "sys_id" instead of 
"objectid"
        o Fixed inserting of objects into implicit lists

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/geas/NEWS.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/geas/TODO.diff?tr1=1.66&tr2=1.67&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/geas/doc/notes/stuff.txt.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/geas/lib/classdefs/classdata.c.diff?tr1=1.65&tr2=1.66&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/geas/lib/classdefs/gcdparser.c.diff?tr1=1.43&tr2=1.44&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/geas/lib/classdefs/gcdparser.h.diff?tr1=1.30&tr2=1.31&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/geas/lib/classdefs/yparser.y.diff?tr1=1.40&tr2=1.41&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/geas/src/collectiondata.c.diff?tr1=1.29&tr2=1.30&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/geas/src/connection.c.diff?tr1=1.65&tr2=1.66&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/geas/src/dataobject.c.diff?tr1=1.60&tr2=1.61&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/geas/src/geas-internal-classes.h.diff?tr1=1.17&tr2=1.18&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/geas/src/objectlist.c.diff?tr1=1.29&tr2=1.30&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/geas/src/query.c.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/geas/src/transaction.c.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/geas/src/objectcache/objectcache.c.diff?tr1=1.58&tr2=1.59&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/geas/src/objectcache/objectcache.h.diff?tr1=1.20&tr2=1.21&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/geas/src/objectstore/mysql.c.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/geas/src/objectstore/postgresql.c.diff?tr1=1.11&tr2=1.12&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/geas/src/oql/oql.c.diff?tr1=1.65&tr2=1.66&r1=text&r2=text

Patches:
Index: gnue/geas/NEWS
diff -u gnue/geas/NEWS:1.9 gnue/geas/NEWS:1.10
--- gnue/geas/NEWS:1.9  Fri Aug 24 14:59:00 2001
+++ gnue/geas/NEWS      Sat Sep  1 23:49:15 2001
@@ -1,3 +1,10 @@
+New features/changes in version 0.1.0:  (YYYY-MM-DD)
+
+o User and date of creation and last modification of every object are
+  maintained automatically
+o Automatic primary key field is now called "sys_id" instead of "objectid"
+o Fixed inserting of objects into implicit lists
+
 New features/changes in version 0.0.6:  (2001-08-24)
 
 o Use better PostgreSQL datatypes
Index: gnue/geas/TODO
diff -u gnue/geas/TODO:1.66 gnue/geas/TODO:1.67
--- gnue/geas/TODO:1.66 Tue Aug 28 05:55:42 2001
+++ gnue/geas/TODO      Sat Sep  1 23:49:15 2001
@@ -1,4 +1,4 @@
-$Id: TODO,v 1.66 2001/08/28 12:55:42 ntiffin Exp $
+$Id: TODO,v 1.67 2001/09/02 06:49:15 reinhard Exp $
 
 Parts of GEAS:
 --------------
Index: gnue/geas/doc/notes/stuff.txt
diff -u gnue/geas/doc/notes/stuff.txt:1.2 gnue/geas/doc/notes/stuff.txt:1.3
--- gnue/geas/doc/notes/stuff.txt:1.2   Tue Aug 28 05:55:42 2001
+++ gnue/geas/doc/notes/stuff.txt       Sat Sep  1 23:49:15 2001
@@ -2,7 +2,7 @@
 Notes on requirements for transactions, dynamically loadable modules,
 language independant methods.
 
-$Id: stuff.txt,v 1.2 2001/08/28 12:55:42 ntiffin Exp $
+$Id: stuff.txt,v 1.3 2001/09/02 06:49:15 reinhard Exp $
 
 This is a reasonably complex set of systems, and a little planning will help
 make sure they can all be implemented once.
Index: gnue/geas/lib/classdefs/classdata.c
diff -u gnue/geas/lib/classdefs/classdata.c:1.65 
gnue/geas/lib/classdefs/classdata.c:1.66
--- gnue/geas/lib/classdefs/classdata.c:1.65    Thu Jul  5 18:38:09 2001
+++ gnue/geas/lib/classdefs/classdata.c Sat Sep  1 23:49:15 2001
@@ -22,7 +22,7 @@
    along with this program; if not, write to the Free Software Foundation,
    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
 
-   $Id: classdata.c,v 1.65 2001/07/06 01:38:09 ntiffin Exp $
+   $Id: classdata.c,v 1.66 2001/09/02 06:49:15 reinhard Exp $
    
 */
 
@@ -38,7 +38,6 @@
 #include <dirent.h>
 #include <errno.h>
 
-/* #include "gcdparser.h" */
 #include "config.h"
 #include "classdata.h"
 
@@ -744,7 +743,8 @@
   l = ((odl_container *) c)->contents;
   while (l)
     {
-      if (g_strcasecmp (((odl_base *) l->data)->name, name) == 0)
+      if (!g_strcasecmp (((odl_base *) l->data)->name, name)
+          && ((odl_base *) l-> data)->type != IT_ignore)
         {
           return ((odl_base *) l->data);
         }
@@ -1850,7 +1850,7 @@
       switch (type_field->base.type)
         {
         case IT_field:
-          if (strcmp (type_field->base.name, "objectid") != 0)
+          if (strcmp (type_field->base.name, "sys_id") != 0)
             {
               switch (type_field->fieldtype)
                 {
@@ -1973,7 +1973,7 @@
       a->properties = ODL_PROP_NONE;
       a->sourceclass = g_strdup (i->datatypeclass);
       a->source_fields = g_list_append (NULL, name);
-      a->this_fields = g_list_append (NULL, g_strdup ("objectid"));
+      a->this_fields = g_list_append (NULL, g_strdup ("sys_id"));
       /* find the 'real' version in the class tree */
       cont = odl_find_class (((odl_base *) i)->tree,
                              odl_class_get_full_name (cont), NULL);
@@ -1991,7 +1991,7 @@
 
 /* ------------------------------------------------------------------------- *\
  * Convert the field (i) into a reference object field and build the (a) field
- * which is used to store the objectid of the referenced class.
+ * which is used to store the id of the referenced class.
 \* ------------------------------------------------------------------------- */
 void
 odl_resolve_implicit_reference (odl_item * i, GList * append)
@@ -2008,7 +2008,7 @@
   i->base.access = i->base.access;
   i->fieldtype = FT_reference;
   i->source_fields =
-    (odl_namelist *) g_list_append (NULL, g_strdup ("objectid"));
+    (odl_namelist *) g_list_append (NULL, g_strdup ("sys_id"));
   i->this_fields =
     (odl_namelist *) g_list_append (NULL,
                                     g_strdup_printf ("_%s", i->base.name));
Index: gnue/geas/lib/classdefs/gcdparser.c
diff -u gnue/geas/lib/classdefs/gcdparser.c:1.43 
gnue/geas/lib/classdefs/gcdparser.c:1.44
--- gnue/geas/lib/classdefs/gcdparser.c:1.43    Fri Aug 24 12:36:50 2001
+++ gnue/geas/lib/classdefs/gcdparser.c Sat Sep  1 23:49:15 2001
@@ -21,7 +21,7 @@
    along with this program; if not, write to the Free Software Foundation,
    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
 
-   $Id: gcdparser.c,v 1.43 2001/08/24 19:36:50 ntiffin Exp $
+   $Id: gcdparser.c,v 1.44 2001/09/02 06:49:15 reinhard Exp $
    
 */
 
@@ -324,12 +324,38 @@
 }
 
 /* ------------------------------------------------------------------------- *\
- * 
+ * Insert a new system field in a class
+\* ------------------------------------------------------------------------- */
+static void
+_odl_insert_sys_field (odl_class *class, const gchar *name,
+                       enum odl_datatype datatype, const gchar *format)
+{
+  struct _odl_item *field;
+
+  g_return_if_fail (class);
+  g_return_if_fail (name);
+
+  field = alloc_odl_item ();
+  field->base.parent = (odl_base *) class;
+  field->base.access = ODL_ACCESS_SYSTEM;
+  field->base.name = g_strdup (name);
+  field->base.type = IT_field;
+  field->properties = ODL_PROP_NOTNULL | ODL_PROP_READONLY;
+  field->fieldtype = FT_basic;
+  field->datatype = datatype;
+  if (format)
+    {
+      field->format = g_strdup (format);
+    }
+  class->contents = g_list_append (class->contents, field);
+}
+
+/* ------------------------------------------------------------------------- *\
+ * Create a new class or typedef in memory
 \* ------------------------------------------------------------------------- */
 odl_class *
-odl_new_class (unsigned long int access, const char *name)
+odl_new_class (unsigned long int access, const char *name, gboolean istype)
 {
-  odl_field *f;
   GList *fields;
   _odl_index *i;
   odl_class *c = alloc_odl_container ();
@@ -342,23 +368,23 @@
       c->base.type = IT_class;
       c->base.access = access;
       c->base.name = g_strdup (name);
+      c->istype = istype;
 
-      /* add the objectid field */
-      f = alloc_odl_item ();
-      g_assert( f != NULL );
-      f->base.parent = (odl_base *) c;
-      f->base.access = ODL_ACCESS_SYSTEM;
-      f->base.name = g_strdup ("objectid");
-      f->base.type = IT_field;
-      f->properties = ODL_PROP_NOTNULL | ODL_PROP_READONLY;
-      f->fieldtype = FT_basic;
-      f->datatype = DT_object;
+      /* add the automatic fields */
+      /* FIXME: not sure if/why sys_id is needed for types, but it was already
+         there -- reinhard */
+      _odl_insert_sys_field (c, "sys_id", DT_object, NULL);
 
-      /* add it to the class */
-      c->contents = g_list_append (c->contents, f);
+      if (!istype)
+        {
+          _odl_insert_sys_field (c, "sys_cre_user", DT_char, "16");
+          _odl_insert_sys_field (c, "sys_cre_time", DT_datetime, NULL);
+          _odl_insert_sys_field (c, "sys_mod_user", DT_char, "16");
+          _odl_insert_sys_field (c, "sys_mod_time", DT_datetime, NULL);
+        }
 
       /* add indexes */
-      fields = g_list_append (NULL, g_strdup ("objectid"));
+      fields = g_list_append (NULL, g_strdup ("sys_id"));
       i = odl_make_index (c, TRUE, fields);
       i->primary = TRUE;
     }
Index: gnue/geas/lib/classdefs/gcdparser.h
diff -u gnue/geas/lib/classdefs/gcdparser.h:1.30 
gnue/geas/lib/classdefs/gcdparser.h:1.31
--- gnue/geas/lib/classdefs/gcdparser.h:1.30    Fri Aug 24 14:30:58 2001
+++ gnue/geas/lib/classdefs/gcdparser.h Sat Sep  1 23:49:16 2001
@@ -21,7 +21,7 @@
    along with this program; if not, write to the Free Software Foundation,
    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
 
-   $Id: gcdparser.h,v 1.30 2001/08/24 21:30:58 ntiffin Exp $
+   $Id: gcdparser.h,v 1.31 2001/09/02 06:49:16 reinhard Exp $
    
 */
 
@@ -200,7 +200,7 @@
 odl_module           *odl_new_module (unsigned long int access,
                                       const char *name);
 odl_class            *odl_new_class (unsigned long int access,
-                                     const char *name);
+                                     const char *name, gboolean istype);
 odl_item             *odl_new_enum (unsigned long int access,
                                     const char *name);
 void                  odl_enum_add_element (odl_item * e, char *element);
Index: gnue/geas/lib/classdefs/yparser.y
diff -u gnue/geas/lib/classdefs/yparser.y:1.40 
gnue/geas/lib/classdefs/yparser.y:1.41
--- gnue/geas/lib/classdefs/yparser.y:1.40      Fri Aug 24 14:43:04 2001
+++ gnue/geas/lib/classdefs/yparser.y   Sat Sep  1 23:49:16 2001
@@ -35,7 +35,6 @@
 */
 
 struct _odl_container *yycurrent_container = NULL;
-struct _odl_container *lastpushed = NULL;
 struct _odl_container *beforefind = NULL;   /* used with find class to restore 
last position */
 
 static gboolean is_a_type = FALSE;
@@ -120,7 +119,6 @@
                                odl_find_in_container( (odl_base 
*)yycurrent_container,
                                $<string>0);
                        }
-                       lastpushed = yycurrent_container;
                      }
   ;
 
@@ -183,7 +181,7 @@
                            char * fullname = NULL;
                            odl_class *check_class = NULL;
                            /* printf( "push_class name: %s\n", $<list>-0); */
-                           newone = odl_new_class($<uint>-4,$<string>0);
+                           newone = odl_new_class($<uint>-4, $<string>0, 
is_a_type);
                            g_assert( newone );
                            newone->base.parent = (odl_base 
*)yycurrent_container;
                            newone->filename = g_strdup( 
yyget_current_filename() );
@@ -206,7 +204,6 @@
                                odl_find_in_container( (odl_base 
*)yycurrent_container,
                                $<string>0);
                          }
-                       lastpushed = yycurrent_container;
                      }
   ;
 
@@ -312,20 +309,20 @@
 existing_field_name: SYMBOL   { $$ = $1; }
   ;
 
-unit: opt_access module    ';'  { is_a_type = FALSE; }
-  |   opt_access class     ';'  { is_a_type = FALSE; }
-  |   opt_access extend    ';'  { is_a_type = FALSE; }
-  |   opt_access type      ';'  { is_a_type = TRUE;  }
-  |   opt_access ENUM enum ';'  { is_a_type = FALSE; }
+unit: opt_access module    ';'  {}
+  |   opt_access class     ';'  {}
+  |   opt_access extend    ';'  {}
+  |   opt_access type      ';'  {}
+  |   opt_access ENUM enum ';'  {}
   ;
 
 module: MODULE new_module_name push_module '{' dt_on unit_list '}' pop_module 
dt_on
   ;
 
-class: opt_class_type CLASS dt_off new_class_name push_class opt_parent_list 
'{' dt_on class_body '}' pop_class dt_on {}
+class: opt_class_type CLASS dt_off new_class_name { is_a_type = FALSE; } 
push_class opt_parent_list '{' dt_on class_body '}' pop_class dt_on {}
   ;
 
-type: opt_class_type CTYPE dt_off new_class_name push_class opt_parent_list 
'{' dt_on class_body '}' pop_class dt_on { lastpushed->istype = TRUE; }
+type: opt_class_type CTYPE dt_off new_class_name { is_a_type = TRUE; } 
push_class opt_parent_list '{' dt_on class_body '}' pop_class dt_on {}
   ;
 
 extend: EXTEND dt_off existing_class_name find_class '{' dt_on class_body '}' 
unfind_class dt_on {}
Index: gnue/geas/src/collectiondata.c
diff -u gnue/geas/src/collectiondata.c:1.29 gnue/geas/src/collectiondata.c:1.30
--- gnue/geas/src/collectiondata.c:1.29 Wed Jul 25 10:48:24 2001
+++ gnue/geas/src/collectiondata.c      Sat Sep  1 23:49:16 2001
@@ -19,7 +19,7 @@
    along with this program; if not, write to the Free Software Foundation,
    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
    
-   $Id: collectiondata.c,v 1.29 2001/07/25 17:48:24 reinhard Exp $
+   $Id: collectiondata.c,v 1.30 2001/09/02 06:49:16 reinhard Exp $
 
 */
 
@@ -53,7 +53,7 @@
 #endif
 
 /* fill an object collection with data */
-/* NOTE: query must provide object key as a string in field 'objectid' */
+/* NOTE: query must provide object key as a string in field 'sys_id' */
 char *
 new_object_collection_from_query (QueryData * query,
                                   GEAS_object_reference * xid,
@@ -117,7 +117,7 @@
 
   /* place links into collection */
   timer_start_operation( TIMER_LISTS , "place query results in list" );
-  idx = oql_query_get_field_position (query, "objectid");
+  idx = oql_query_get_field_position (query, "sys_id");
   if (idx == (-1))
     {
       errormsg ("Invalid query to %s.", __PRETTY_FUNCTION__);
@@ -150,7 +150,7 @@
   GEAS_DataObject_setField (lst, "length", "0", ev);
   GEAS_DataObject_setField (lst, "classname", classname, ev);   /* what 
object, class */
 
-  listid = GEAS_DataObject_getField (lst, "objectid", ev);
+  listid = GEAS_DataObject_getField (lst, "sys_id", ev);
   if (ev->_major != CORBA_NO_EXCEPTION)
     {
       printf ("E %s\n", CORBA_exception_id (ev));
@@ -170,7 +170,7 @@
       GEAS_DataObject hackobj; /* a grep for the word 'hack' will be far too 
scary */
 
       ObjectKey keydata;
-      int fieldid = oql_query_get_field_position(query,"objectid");
+      int fieldid = oql_query_get_field_position(query,"sys_id");
       GList *row = result->data;
       i = 0;
       while( row ) {
@@ -191,10 +191,10 @@
           oc_set_object_field_quick (ob, "reference", id, FALSE);
 /*       printf( "reference: '%s' '%s'\n" , id , 
oc_get_object_field(ob,"reference") ); */
 
-          oc_set_object_field (ob, "listid"   , listid, FALSE);
+          oc_set_object_field (ob, "listid"   , listid, FALSE, FALSE);
 
           /* make sure the object is in the cache */
-          oididx = fieldid = oql_query_get_field_position( query , "objectid" 
);
+          oididx = fieldid = oql_query_get_field_position( query , "sys_id" );
           g_assert( fieldid != -1 );
           key = get_field_in_row(row->data,fieldid);
           g_assert( key != NULL );
Index: gnue/geas/src/connection.c
diff -u gnue/geas/src/connection.c:1.65 gnue/geas/src/connection.c:1.66
--- gnue/geas/src/connection.c:1.65     Mon Jul  2 01:20:14 2001
+++ gnue/geas/src/connection.c  Sat Sep  1 23:49:16 2001
@@ -19,7 +19,7 @@
    along with this program; if not, write to the Free Software Foundation,
    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
    
-   $Id: connection.c,v 1.65 2001/07/02 08:20:14 treshna Exp $
+   $Id: connection.c,v 1.66 2001/09/02 06:49:16 reinhard Exp $
  
 */
 
@@ -316,7 +316,7 @@
       if (odl_field_get_default (f))
         {
           oc_set_object_field (ob, odl_field_get_name (f),
-                               odl_field_get_default (f), FALSE);
+                               odl_field_get_default (f), FALSE, FALSE);
         }
       fl = g_list_next (fl);
     }
@@ -345,7 +345,7 @@
           if (odl_field_get_default (f))
             {
               oc_set_object_field (ob, odl_field_get_name (f),
-                                   odl_field_get_default (f), FALSE);
+                                   odl_field_get_default (f), FALSE, FALSE);
             }
           fl = g_list_next (fl);
         }
@@ -556,7 +556,7 @@
   /* guaranteed to be the same for each call to this function */
   if (result->rows_affected > 0)
     {
-      idx = oql_query_get_field_position (q, "objectid");
+      idx = oql_query_get_field_position (q, "sys_id");
       retval = make_dataobject_reference (classname,
                                           get_result_field (result, 0, idx),
                                           id->username, id->sessionid, ev);
@@ -753,7 +753,7 @@
     }
   list = CORBA_OBJECT_NIL;
 
-  /* get objectid of all geas::searchcriteria instances with parent == queryid 
*/
+  /* get id of all geas::searchcriteria instances with parent == queryid */
 
   list =
     Connection_loadObjects (id, "geas::searchcriteria", "parent",
@@ -777,7 +777,7 @@
       if (ev->_major != CORBA_NO_EXCEPTION)
         goto error;
 
-      subid = GEAS_DataObject_getField (obj, "objectid", ev);
+      subid = GEAS_DataObject_getField (obj, "sys_id", ev);
       if (ev->_major != CORBA_NO_EXCEPTION)
         goto error;
 
@@ -1025,7 +1025,7 @@
     }
 
   length = result->rows_affected;
-  fieldidcol = oql_query_get_field_position (query2, "objectid");
+  fieldidcol = oql_query_get_field_position (query2, "sys_id");
   for (i = 0; i < length; i++)
     {
       row = get_result_row (result, i);
@@ -1308,7 +1308,7 @@
   CORBA_unsigned_long retval = 0;
 
   /* is this database independant? */
-  buf = g_strdup_printf ("SELECT count(objectid) from %s",
+  buf = g_strdup_printf ("SELECT count(sys_id) from %s",
                          oql_quote_column (classname, NULL,
                                            OQL_DBTYPE_POSTGRESQL));
   q = oql_make_sql_query (buf);
Index: gnue/geas/src/dataobject.c
diff -u gnue/geas/src/dataobject.c:1.60 gnue/geas/src/dataobject.c:1.61
--- gnue/geas/src/dataobject.c:1.60     Wed Jul 25 12:57:05 2001
+++ gnue/geas/src/dataobject.c  Sat Sep  1 23:49:16 2001
@@ -19,7 +19,7 @@
    along with this program; if not, write to the Free Software Foundation,
    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
    
-   $Id: dataobject.c,v 1.60 2001/07/25 19:57:05 reinhard Exp $
+   $Id: dataobject.c,v 1.61 2001/09/02 06:49:16 reinhard Exp $
    
 */
 
@@ -27,10 +27,11 @@
  *  \brief GEAS::DataObject implementation
  */
 
+#include "config.h"
+
 #include <ctype.h>
 #include <stdlib.h>
-
-#include "config.h"
+#include <time.h>
 
 #include "geas.h"
 #include "geas-server.h"
@@ -52,7 +53,7 @@
 GEAS_ObjectReference
 DataObject__get_objectID (GEAS_object_reference * id, CORBA_Environment * ev)
 {
-  return ((GEAS_ObjectReference) DataObject_getField (id, "objectid", ev));
+  return ((GEAS_ObjectReference) DataObject_getField (id, "sys_id", ev));
 }
 
 /* raises: */
@@ -189,7 +190,7 @@
   /*  printf( "get %s.%s" , id->classname , fieldname ); */
 
   /* which class are we interested in? */
-  if (strcasecmp (fieldname, "objectid") == 0)
+  if (strcasecmp (fieldname, "sys_id") == 0)
     return (CORBA_string_dup (id->objectid));
 
   cl = odl_find_class (all_classes, id->classname, NULL);
@@ -288,6 +289,35 @@
   return (retval);
 }
 
+/* ------------------------------------------------------------------------- *\
+ * Update automatic fields
+\* ------------------------------------------------------------------------- */
+static void
+_update_auto_fields (ObjectData *obj, char *username)
+{
+  time_t current_time;
+  struct tm *current_tm;
+  char now[20];
+  size_t time_len;
+
+  current_time = time (NULL);
+  g_return_if_fail (current_time != -1);
+
+  current_tm = localtime (&current_time);
+  g_return_if_fail (current_tm);
+
+  time_len = strftime (now, 20, "%Y-%m-%d %H:%M:%S", current_tm);
+  g_return_if_fail (time_len == 19);
+
+  if (!oc_get_object_flag (obj, of_indatabase))
+    {
+      oc_set_object_field (obj, "sys_cre_user", username, FALSE, TRUE);
+      oc_set_object_field (obj, "sys_cre_time", now, FALSE, TRUE);
+    }
+  oc_set_object_field (obj, "sys_mod_user", username, FALSE, TRUE);
+  oc_set_object_field (obj, "sys_mod_time", now, FALSE, TRUE);
+}
+
 /* raises: UnknownField, NotWriteable, Interrupted, ServerError, NotDataField, 
Locked, TransactionNotInProgress, Format */
 void
 DataObject_setField (GEAS_object_reference * id, CORBA_char * fieldname,
@@ -446,7 +476,7 @@
           break;
         }
 
-      if (oc_set_object_field (obj, fieldname, value, FALSE) == FALSE)
+      if (oc_set_object_field (obj, fieldname, value, FALSE, FALSE) == FALSE)
         {
           make_ServerError_exception (ev, "Write failure.");
         }
@@ -455,6 +485,7 @@
           /* immediately write it to the database */
           /* message( "attempting write" ); */
           Connection_logEdit (id->classname, id->objectid, fieldname, id);
+          _update_auto_fields (obj, id->username);
           oc_flush_object_to_store (obj);
         }
     }
@@ -593,7 +624,7 @@
     }
 
   /* create DataObject reference */
-  idfield = oql_query_get_field_position (q, "objectid");
+  idfield = oql_query_get_field_position (q, "sys_id");
   keystr = (char *) get_result_field (result, 0, idfield);
   retval =
     (GEAS_DataObject) make_dataobject_reference (loadclass, keystr,
@@ -896,8 +927,9 @@
         dm_event (id->username, id->currenttransaction, DM_EVENT_FIELD_WRITE,
                   oc_get_object_class (o), oc_get_object_key (o), fn,
                   l->data);
-      oc_set_object_field (o, fn, l->data, FALSE);
+      oc_set_object_field (o, fn, l->data, FALSE, FALSE);
 
+      _update_auto_fields (o, id->username);
       oc_flush_object_to_store (o);
       fields = g_list_next (fields);
       l = g_list_next (l);
@@ -1056,7 +1088,8 @@
         dm_event (id->username, id->currenttransaction, DM_EVENT_FIELD_WRITE,
                   oc_get_object_class (o), oc_get_object_key (o), fn,
                   l->data);
-      oc_set_object_field (o, fields->data, l->data, FALSE);
+      oc_set_object_field (o, fields->data, l->data, FALSE, FALSE);
+      _update_auto_fields (o, id->username);
       oc_flush_object_to_store (o);
       fields = g_list_next (fields);
       l = g_list_next (l);
Index: gnue/geas/src/geas-internal-classes.h
diff -u gnue/geas/src/geas-internal-classes.h:1.17 
gnue/geas/src/geas-internal-classes.h:1.18
--- gnue/geas/src/geas-internal-classes.h:1.17  Sun Jun 10 05:56:12 2001
+++ gnue/geas/src/geas-internal-classes.h       Sat Sep  1 23:49:16 2001
@@ -20,7 +20,7 @@
    along with this program; if not, write to the Free Software Foundation,
    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
    
-   $Id: geas-internal-classes.h,v 1.17 2001/06/10 12:56:12 ntiffin Exp $
+   $Id: geas-internal-classes.h,v 1.18 2001/09/02 06:49:16 reinhard Exp $
  
 */
 
@@ -63,7 +63,7 @@
 
   /* ************************************ */
   /* class GEAS::user */
-  c = odl_new_class (ODL_ACCESS_SYSTEM, "user");
+  c = odl_new_class (ODL_ACCESS_SYSTEM, "user", FALSE);
   odl_container_insert_container (m, c);
   c->base.parent = (odl_base *) m;
   c->base.access = ODL_ACCESS_PUBLIC;
@@ -128,7 +128,7 @@
 
   /* ************************************ */
   /* make class GEAS::transaction */
-  c = odl_new_class (ODL_ACCESS_SYSTEM, "transaction");
+  c = odl_new_class (ODL_ACCESS_SYSTEM, "transaction", FALSE);
   odl_container_insert_container (m, c);
   c->base.parent = (odl_base *) m;
   body = NULL;
@@ -176,7 +176,7 @@
 
   /* ************************************ */
   /* make class GEAS::listitem */
-  c = odl_new_class (ODL_ACCESS_SYSTEM, "listitem");
+  c = odl_new_class (ODL_ACCESS_SYSTEM, "listitem", FALSE);
   odl_container_insert_container (m, c);
   c->base.parent = (odl_base *) m;
   body = NULL;
@@ -232,7 +232,7 @@
 
   /* ************************************ */
   /* make class GEAS::listholder */
-  c = odl_new_class (ODL_ACCESS_SYSTEM, "listholder");
+  c = odl_new_class (ODL_ACCESS_SYSTEM, "listholder", FALSE);
   odl_container_insert_container (m, c);
   c->base.parent = (odl_base *) m;
   body = NULL;
@@ -280,7 +280,7 @@
 
   /* ************************************ */
   /* make class GEAS::searchcriteria */
-  c = odl_new_class (ODL_ACCESS_SYSTEM, "searchcriteria");
+  c = odl_new_class (ODL_ACCESS_SYSTEM, "searchcriteria", FALSE);
   odl_container_insert_container (m, c);
   c->base.parent = (odl_base *) m;
   body = NULL;
@@ -360,7 +360,7 @@
 
   /* ************************************ */
   /* make class GEAS::searchfield */
-  c = odl_new_class (ODL_ACCESS_SYSTEM, "searchfield");
+  c = odl_new_class (ODL_ACCESS_SYSTEM, "searchfield", FALSE);
   odl_container_insert_container (m, c);
   c->base.parent = (odl_base *) m;
   body = NULL;
Index: gnue/geas/src/objectcache/objectcache.c
diff -u gnue/geas/src/objectcache/objectcache.c:1.58 
gnue/geas/src/objectcache/objectcache.c:1.59
--- gnue/geas/src/objectcache/objectcache.c:1.58        Wed Jul 25 08:40:18 2001
+++ gnue/geas/src/objectcache/objectcache.c     Sat Sep  1 23:49:16 2001
@@ -19,7 +19,7 @@
    along with this program; if not, write to the Free Software Foundation,
    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
    
-   $Id: objectcache.c,v 1.58 2001/07/25 15:40:18 reinhard Exp $
+   $Id: objectcache.c,v 1.59 2001/09/02 06:49:16 reinhard Exp $
 */
 
 #include "config.h"
@@ -674,7 +674,7 @@
   flushable = oc_object_to_start_of_list (flushable, object);
 
   /* special case */
-  if (g_strcasecmp ("objectid", fieldname) == 0)
+  if (g_strcasecmp ("sys_id", fieldname) == 0)
     {
       timer_update_profile( TIMER_FUNC_GET_FIELD );
       return (g_strdup (object->key));
@@ -830,7 +830,7 @@
 
   timer_start_profile( TIMER_FUNC_SET_FIELD );
 
-  if (g_strcasecmp ("objectid", fieldname) == 0)
+  if (g_strcasecmp ("sys_id", fieldname) == 0)
     {
       timer_update_profile( TIMER_FUNC_SET_FIELD );
       return (FALSE);
@@ -857,9 +857,13 @@
   return FALSE;
 }
 
+/* ------------------------------------------------------------------------- *\
+ * Set the data of a field of the object.
+ * If 'system' is set to 'TRUE', then read-only fields can be written.
+\* ------------------------------------------------------------------------- */
 gboolean
 oc_set_object_field (ObjectData * object, const char *fieldname,
-                     const char *value, gboolean readonly)
+                     const char *value, gboolean readonly, gboolean system)
 {
   _FieldData *f;
   GList *idxs, *l, *ids;
@@ -867,7 +871,7 @@
 
   trace_functioncall ();
   timer_start_profile( TIMER_FUNC_SET_FIELD );
-  if (g_strcasecmp ("objectid", fieldname) == 0)
+  if (g_strcasecmp ("sys_id", fieldname) == 0)
     {
       timer_update_profile( TIMER_FUNC_SET_FIELD );
       return (FALSE);
@@ -888,7 +892,7 @@
       /* the object's readonly field is set to true */
       /* effectively, this allows write-once behaviour so that */
       /* a readonly field can be set the first time */
-      if (f->readonly)
+      if (f->readonly && !system)
         {
          timer_update_profile( TIMER_FUNC_SET_FIELD );
           return (FALSE);
@@ -1133,10 +1137,10 @@
       return (NULL);
     }
   /* any objects get added to the cache */
-  idfield = oql_query_get_field_position (q, "objectid");
+  idfield = oql_query_get_field_position (q, "sys_id");
   if (idfield == (-1))
     {
-      errormsg ("no objectid in result from query %s\n",
+      errormsg ("no sys_id in result from query %s\n",
                 oql_query_as_sql (q, OQL_DBTYPE_CACHEONLY));
       free_query_result (result);
       return (NULL);
@@ -1163,7 +1167,7 @@
               oc_set_object_field (o,
                                    get_result_field_name (result,
                                                           field),
-                                   get_field_in_row (r, field), FALSE);
+                                   get_field_in_row (r, field), FALSE, FALSE);
             }
         }
       oc_set_object_flag (o, of_indatabase, FLAG_ON);
@@ -1410,7 +1414,7 @@
   /* if just 'objectID' field, use main index */
   if (g_list_length (q->fields) == 1)
     {
-      if (g_strcasecmp ("objectid", q->fields->data) == 0)
+      if (g_strcasecmp ("sys_id", q->fields->data) == 0)
         {
           if (debuglevel == OC_TEMP_DEBUG)
             printf ("OCCACHE: use objectID to search main cache\n");
@@ -1435,7 +1439,7 @@
             {
               g_string_append (buf, ",");
             }
-          if (strcmp (c->field, "objectid") == 0)
+          if (strcmp (c->field, "sys_id") == 0)
             {
               key = c->value;
             }
@@ -1453,7 +1457,7 @@
   idx = g_hash_table_lookup (indexes, buf->str);
   if (!idx)
     {
-      if (strcmp (&buf->str[strlen (classname) + 1], "objectid") == 0)
+      if (strcmp (&buf->str[strlen (classname) + 1], "sys_id") == 0)
         {
           /* look in main table */
           g_string_free (buf, TRUE);
Index: gnue/geas/src/objectcache/objectcache.h
diff -u gnue/geas/src/objectcache/objectcache.h:1.20 
gnue/geas/src/objectcache/objectcache.h:1.21
--- gnue/geas/src/objectcache/objectcache.h:1.20        Mon Jun 25 20:01:26 2001
+++ gnue/geas/src/objectcache/objectcache.h     Sat Sep  1 23:49:16 2001
@@ -20,7 +20,7 @@
    along with this program; if not, write to the Free Software Foundation,
    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
    
-   $Id: objectcache.h,v 1.20 2001/06/26 03:01:26 treshna Exp $
+   $Id: objectcache.h,v 1.21 2001/09/02 06:49:16 reinhard Exp $
  
 */
 
@@ -79,7 +79,8 @@
 /* Data access */
 char *oc_get_object_field (ObjectData * object, const char *fieldname);
 gboolean oc_set_object_field (ObjectData * object, const char *fieldname,
-                              const char *value, gboolean readonly);
+                              const char *value, gboolean readonly,
+                              gboolean system);
 
 /* only call this if the field is not part of an index */
 gboolean oc_set_object_field_quick(ObjectData * object, const char *fieldname,
Index: gnue/geas/src/objectlist.c
diff -u gnue/geas/src/objectlist.c:1.29 gnue/geas/src/objectlist.c:1.30
--- gnue/geas/src/objectlist.c:1.29     Wed Jul 25 10:48:24 2001
+++ gnue/geas/src/objectlist.c  Sat Sep  1 23:49:16 2001
@@ -20,7 +20,7 @@
    along with this program; if not, write to the Free Software Foundation,
    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
    
-   $Id: objectlist.c,v 1.29 2001/07/25 17:48:24 reinhard Exp $
+   $Id: objectlist.c,v 1.30 2001/09/02 06:49:16 reinhard Exp $
  
 */
 
@@ -358,7 +358,7 @@
 
   lst =
     GEAS_Connection_loadSingleObject (id->server,
-                                      "geas::listholder", "objectid",
+                                      "geas::listholder", "sys_id",
                                       id->listid, ev);
   if (ev->_major != CORBA_NO_EXCEPTION)
     {
@@ -410,7 +410,7 @@
       return;
     }
   /* which object was that, again?  :) */
-  objid = GEAS_DataObject_getField (obj, "objectid", ev);
+  objid = GEAS_DataObject_getField (obj, "sys_id", ev);
   if (ev->_major != CORBA_NO_EXCEPTION)
     {
       return;
@@ -441,7 +441,7 @@
   /* find listholder object */
   lst =
     GEAS_Connection_loadSingleObject (id->server,
-                                      "geas::listholder", "objectid",
+                                      "geas::listholder", "sys_id",
                                       id->listid, ev);
   if (ev->_major != CORBA_NO_EXCEPTION)
     {
@@ -496,7 +496,7 @@
       CORBA_free (classname);
       return;
     }
-  idx = oql_query_get_field_position (q, "objectid");
+  idx = oql_query_get_field_position (q, "sys_id");
   key = (char *) get_result_field (result, 0, idx);
   obj =
     make_dataobject_reference ("geas::listitem", key, id->username,
@@ -557,7 +557,7 @@
           CORBA_free (classname);
           return;
         }
-      idx = oql_query_get_field_position (q, "objectid");
+      idx = oql_query_get_field_position (q, "sys_id");
       key = (char *) get_result_field (result, 0, idx);
       obj =
         make_dataobject_reference ("geas::listitem", key, id->username,
Index: gnue/geas/src/objectstore/mysql.c
diff -u gnue/geas/src/objectstore/mysql.c:1.7 
gnue/geas/src/objectstore/mysql.c:1.8
--- gnue/geas/src/objectstore/mysql.c:1.7       Wed Jul 25 08:40:18 2001
+++ gnue/geas/src/objectstore/mysql.c   Sat Sep  1 23:49:16 2001
@@ -20,7 +20,7 @@
    along with GEAS; if not, write to the Free Software Foundation, Inc.,
    59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
-   $Id: mysql.c,v 1.7 2001/07/25 15:40:18 reinhard Exp $
+   $Id: mysql.c,v 1.8 2001/09/02 06:49:16 reinhard Exp $
 */
 
 #include "config.h"
@@ -776,7 +776,7 @@
           g_string_sprintf (buf, "CREATE TABLE %s (", name);
           g_free (name);
           MySQL_add_column_data (buf, add->columns, ", ");
-          g_string_append (buf, "PRIMARY KEY (ObjectID) )");
+          g_string_append (buf, "PRIMARY KEY (sys_id) )");
         }
       else if (add->type == DBCH_MODIFY_TABLE)
         {
Index: gnue/geas/src/objectstore/postgresql.c
diff -u gnue/geas/src/objectstore/postgresql.c:1.11 
gnue/geas/src/objectstore/postgresql.c:1.12
--- gnue/geas/src/objectstore/postgresql.c:1.11 Wed Jul 25 05:51:08 2001
+++ gnue/geas/src/objectstore/postgresql.c      Sat Sep  1 23:49:16 2001
@@ -20,7 +20,7 @@
    along with GEAS; if not, write to the Free Software Foundation, Inc.,
    59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
-   $Id: postgresql.c,v 1.11 2001/07/25 12:51:08 reinhard Exp $
+   $Id: postgresql.c,v 1.12 2001/09/02 06:49:16 reinhard Exp $
 */
 
 #include "config.h"
@@ -896,7 +896,7 @@
           g_string_sprintf (buf, "CREATE TABLE %s (", name);
           g_free (name);
           postgresql_add_column_data (buf, add->columns, ", ");
-          g_string_append (buf, "PRIMARY KEY (ObjectID) )");
+          g_string_append (buf, "PRIMARY KEY (sys_id) )");
 
           /* execute CREATE query */
           g_strdown (buf->str);
Index: gnue/geas/src/oql/oql.c
diff -u gnue/geas/src/oql/oql.c:1.65 gnue/geas/src/oql/oql.c:1.66
--- gnue/geas/src/oql/oql.c:1.65        Mon Jul  2 01:20:14 2001
+++ gnue/geas/src/oql/oql.c     Sat Sep  1 23:49:16 2001
@@ -19,7 +19,7 @@
   along with GEAS; if not, write to the Free Software Foundation, Inc.,
   59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
-  $Id: oql.c,v 1.65 2001/07/02 08:20:14 treshna Exp $
+  $Id: oql.c,v 1.66 2001/09/02 06:49:16 reinhard Exp $
 */
 
 #include "config.h"
@@ -147,20 +147,20 @@
 
   g_string_append (buf, " WHERE ");
 
-  /* link classes together by objectid field */
+  /* link classes together by sys_id field */
   if (g_list_length (q->classes) > 1)
     {
       l = q->classes->next;
       g_string_append (buf, "(");
       while (l)
         {
-          quoted = oql_quote_column (q->classes->data, "objectid", db);
+          quoted = oql_quote_column (q->classes->data, "sys_id", db);
           g_string_append (buf, quoted);
           g_free (quoted);
 
           g_string_append (buf, "=");
 
-          quoted = oql_quote_column (l->data, "objectid", db);
+          quoted = oql_quote_column (l->data, "sys_id", db);
           g_string_append (buf, quoted);
           g_free (quoted);
 
@@ -971,7 +971,7 @@
   query->indatabase = update;
   query->classes = g_list_append (query->classes, g_strdup (classname));
 
-  query->fields = g_list_append (query->fields, g_strdup ("objectid"));
+  query->fields = g_list_append (query->fields, g_strdup ("sys_id"));
   query->values = g_list_append (query->values, g_strdup (key));
 
   c = odl_find_class (all_classes, classname, NULL);
@@ -992,7 +992,7 @@
   odl_fieldlist_free (all_fields);
 
   condition = create_query_condition (g_strdup (classname),
-                                      g_strdup ("objectid"),
+                                      g_strdup ("sys_id"),
                                       g_strdup ("="), g_strdup (key));
   query->conditions = g_list_append (query->conditions, condition);
 
@@ -1030,7 +1030,7 @@
 
   q->classes = g_list_append (q->classes, g_strdup (classname));
   condition =
-    create_query_condition (g_strdup (classname), g_strdup ("objectid"),
+    create_query_condition (g_strdup (classname), g_strdup ("sys_id"),
                             g_strdup ("="), g_strdup (key));
   q->conditions = g_list_append (q->conditions, condition);
   return (q);
@@ -1065,7 +1065,7 @@
 }
 
 /* ------------------------------------------------------------------------- *\
- * Create OQL query for loading a single object with objectid equal to 'key'.
+ * Create OQL query for loading a single object with sys_id equal to 'key'.
 \* ------------------------------------------------------------------------- */
 _QueryData *
 oql_load_object_by_key (const char *classname, const char *key)
@@ -1121,7 +1121,7 @@
       odl_namelist_free (parents);
     }
   condition =
-    create_query_condition (g_strdup (classname), g_strdup ("objectid"),
+    create_query_condition (g_strdup (classname), g_strdup ("sys_id"),
                             g_strdup ("="), g_strdup (key));
   q->conditions = g_list_append (q->conditions, condition);
   return (q);
@@ -1212,7 +1212,7 @@
     }
 
   add_order_by (q, c->orderby, FALSE);
-  q->fields = g_list_append (q->fields, g_strdup ("objectid"));
+  q->fields = g_list_append (q->fields, g_strdup ("sys_id"));
   q->fields = g_list_append (q->fields, g_strdup (field));
   q->fields = g_list_sort (q->fields, (GCompareFunc) oql_sort_string_name);
   q->classes = g_list_append (q->classes, g_strdup (classname));
@@ -1229,7 +1229,7 @@
     }
 
   condition =
-    create_query_condition (g_strdup (classname), g_strdup ("objectid"),
+    create_query_condition (g_strdup (classname), g_strdup ("sys_id"),
                             g_strdup ("="), g_strdup (key));
   q->conditions = g_list_append (q->conditions, condition);
   return (q);
Index: gnue/geas/src/query.c
diff -u gnue/geas/src/query.c:1.12 gnue/geas/src/query.c:1.13
--- gnue/geas/src/query.c:1.12  Thu Jun 28 21:08:25 2001
+++ gnue/geas/src/query.c       Sat Sep  1 23:49:16 2001
@@ -19,7 +19,7 @@
    along with this program; if not, write to the Free Software Foundation,
    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
    
-   $Id: query.c,v 1.12 2001/06/29 04:08:25 treshna Exp $
+   $Id: query.c,v 1.13 2001/09/02 06:49:16 reinhard Exp $
  
 */
 
@@ -48,7 +48,7 @@
   GEAS_DataObject q;
 
   q = GEAS_Connection_loadSingleObject (id->server, "geas::searchcriteria",
-                                        "objectid", id->uniqueid, ev);
+                                        "sys_id", id->uniqueid, ev);
   if (ev->_major != CORBA_NO_EXCEPTION)
     {
       errormsg ("%s", CORBA_exception_id (ev));
@@ -82,7 +82,7 @@
   GEAS_DataObject q;
 
   q = GEAS_Connection_loadSingleObject (id->server, "geas::searchcriteria",
-                                        "objectid", id->uniqueid, ev);
+                                        "sys_id", id->uniqueid, ev);
   if (ev->_major != CORBA_NO_EXCEPTION)
     {
       errormsg ("%s", CORBA_exception_id (ev));
@@ -293,7 +293,7 @@
   GEAS_DataObject q;
 
   q = GEAS_Connection_loadSingleObject (id->server, "geas::searchcriteria",
-                                        "objectid", id->uniqueid, ev);
+                                        "sys_id", id->uniqueid, ev);
   if (ev->_major != CORBA_NO_EXCEPTION)
     {
       errormsg ("%s", CORBA_exception_id (ev));
@@ -318,7 +318,7 @@
   GEAS_DataObject q;
 
   q = GEAS_Connection_loadSingleObject (id->server, "geas::searchcriteria",
-                                        "objectid", id->uniqueid, ev);
+                                        "sys_id", id->uniqueid, ev);
   if (ev->_major != CORBA_NO_EXCEPTION)
     {
       errormsg ("%s", CORBA_exception_id (ev));
@@ -336,7 +336,7 @@
   GEAS_DataObject q;
 
   q = GEAS_Connection_loadSingleObject (id->server, "geas::searchcriteria",
-                                        "objectid", id->uniqueid, ev);
+                                        "sys_id", id->uniqueid, ev);
   if (ev->_major != CORBA_NO_EXCEPTION)
     {
       errormsg ("%s", CORBA_exception_id (ev));
@@ -370,7 +370,7 @@
   GEAS_DataObject q;
 
   q = GEAS_Connection_loadSingleObject (id->server, "geas::searchcriteria",
-                                        "objectid", id->uniqueid, ev);
+                                        "sys_id", id->uniqueid, ev);
   if (ev->_major != CORBA_NO_EXCEPTION)
     {
       errormsg ("%s", CORBA_exception_id (ev));
@@ -394,7 +394,7 @@
   GEAS_DataObject q;
 
   q = GEAS_Connection_loadSingleObject (id->server, "geas::searchcriteria",
-                                        "objectid", id->uniqueid, ev);
+                                        "sys_id", id->uniqueid, ev);
   if (ev->_major != CORBA_NO_EXCEPTION)
     {
       errormsg ("%s", CORBA_exception_id (ev));
@@ -412,7 +412,7 @@
   GEAS_DataObject q;
 
   q = GEAS_Connection_loadSingleObject (id->server, "geas::searchcriteria",
-                                        "objectid", id->uniqueid, ev);
+                                        "sys_id", id->uniqueid, ev);
   if (ev->_major != CORBA_NO_EXCEPTION)
     {
       errormsg ("%s", CORBA_exception_id (ev));
Index: gnue/geas/src/transaction.c
diff -u gnue/geas/src/transaction.c:1.12 gnue/geas/src/transaction.c:1.13
--- gnue/geas/src/transaction.c:1.12    Thu Jun  7 16:37:05 2001
+++ gnue/geas/src/transaction.c Sat Sep  1 23:49:16 2001
@@ -19,7 +19,7 @@
    along with this program; if not, write to the Free Software Foundation,
    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
    
-   $Id: transaction.c,v 1.12 2001/06/07 23:37:05 ntiffin Exp $
+   $Id: transaction.c,v 1.13 2001/09/02 06:49:16 reinhard Exp $
 
 */
 
@@ -179,7 +179,7 @@
   /* find record */
   transaction = GEAS_Connection_loadSingleObject (id->server,
                                                   "geas::transaction",
-                                                  "objectid", id->objectid,
+                                                  "sys_id", id->objectid,
                                                   ev);
   if (ev->_major != CORBA_NO_EXCEPTION)
     {
@@ -280,7 +280,7 @@
 
   transaction = GEAS_Connection_loadSingleObject (id->server,
                                                   "geas::transaction",
-                                                  "objectid", id->objectid,
+                                                  "sys_id", id->objectid,
                                                   ev);
   if (ev->_major != CORBA_NO_EXCEPTION)
     {
@@ -376,7 +376,7 @@
 
   transaction = GEAS_Connection_loadSingleObject (id->server,
                                                   "geas::transaction",
-                                                  "objectid", id->objectid,
+                                                  "sys_id", id->objectid,
                                                   ev);
   if (ev->_major != CORBA_NO_EXCEPTION)
     {
@@ -470,7 +470,7 @@
 
   transaction = GEAS_Connection_loadSingleObject (id->server,
                                                   "geas::transaction",
-                                                  "objectid", id->objectid,
+                                                  "sys_id", id->objectid,
                                                   ev);
   if (ev->_major != CORBA_NO_EXCEPTION)
     {
@@ -547,7 +547,7 @@
 
   transaction = GEAS_Connection_loadSingleObject (id->server,
                                                   "geas::transaction",
-                                                  "objectid", id->objectid,
+                                                  "sys_id", id->objectid,
                                                   ev);
   if (ev->_major != CORBA_NO_EXCEPTION)
     {



reply via email to

[Prev in Thread] Current Thread [Next in Thread]