commit-gnue
[Top][All Lists]
Advanced

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

gnue/geas/src connection.c dataobject.c geas-se...


From: Reinhard Mueller
Subject: gnue/geas/src connection.c dataobject.c geas-se...
Date: Fri, 25 May 2001 16:46:23 -0700

CVSROOT:        /cvs
Module name:    gnue
Changes by:     Reinhard Mueller <address@hidden>       01/05/25 16:46:22

Modified files:
        geas/src       : connection.c dataobject.c geas-server.c 
                         objectlist.c query.c schema.c 
        geas/src/config: Makefile.am 
        geas/src/methods: methods.c 
        geas/src/objectcache: Makefile.am objectcache.c 
        geas/src/objectstore: Makefile.am mysql_access.h objectstore.c 
                              objectstore.h postgresql_access.h 
        geas/src/oql   : Makefile.am oql.c oql.h oql_internal.h 

Log message:
        structure cleanup

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/src/connection.c.diff?cvsroot=OldCVS&tr1=1.54&tr2=1.55&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/src/dataobject.c.diff?cvsroot=OldCVS&tr1=1.51&tr2=1.52&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/src/geas-server.c.diff?cvsroot=OldCVS&tr1=1.85&tr2=1.86&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/src/objectlist.c.diff?cvsroot=OldCVS&tr1=1.19&tr2=1.20&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/src/query.c.diff?cvsroot=OldCVS&tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/src/schema.c.diff?cvsroot=OldCVS&tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/src/config/Makefile.am.diff?cvsroot=OldCVS&tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/src/methods/methods.c.diff?cvsroot=OldCVS&tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/src/objectcache/Makefile.am.diff?cvsroot=OldCVS&tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/src/objectcache/objectcache.c.diff?cvsroot=OldCVS&tr1=1.44&tr2=1.45&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/src/objectstore/Makefile.am.diff?cvsroot=OldCVS&tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/src/objectstore/mysql_access.h.diff?cvsroot=OldCVS&tr1=1.20&tr2=1.21&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/src/objectstore/objectstore.c.diff?cvsroot=OldCVS&tr1=1.58&tr2=1.59&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/src/objectstore/objectstore.h.diff?cvsroot=OldCVS&tr1=1.18&tr2=1.19&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/src/objectstore/postgresql_access.h.diff?cvsroot=OldCVS&tr1=1.28&tr2=1.29&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/src/oql/Makefile.am.diff?cvsroot=OldCVS&tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/src/oql/oql.c.diff?cvsroot=OldCVS&tr1=1.52&tr2=1.53&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/src/oql/oql.h.diff?cvsroot=OldCVS&tr1=1.26&tr2=1.27&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/geas/src/oql/oql_internal.h.diff?cvsroot=OldCVS&tr1=1.7&tr2=1.8&r1=text&r2=text

Patches:
Index: gnue/geas/src/config/Makefile.am
diff -u gnue/geas/src/config/Makefile.am:1.5 
gnue/geas/src/config/Makefile.am:1.6
--- gnue/geas/src/config/Makefile.am:1.5        Wed May 16 06:48:27 2001
+++ gnue/geas/src/config/Makefile.am    Fri May 25 16:46:21 2001
@@ -1,9 +1,8 @@
-## $Id: Makefile.am,v 1.5 2001/05/16 13:48:27 reinhard Exp $
+## $Id: Makefile.am,v 1.6 2001/05/25 23:46:21 reinhard Exp $
 
 noinst_LIBRARIES = libconfig.a
 
 INCLUDES = $(GLIB_CFLAGS) \
-           $(ORBIT_CFLAGS) \
            -I$(top_srcdir)/lib/classdefs \
            -I$(top_srcdir)/src
 
Index: gnue/geas/src/connection.c
diff -u gnue/geas/src/connection.c:1.54 gnue/geas/src/connection.c:1.55
--- gnue/geas/src/connection.c:1.54     Fri May 25 13:24:07 2001
+++ gnue/geas/src/connection.c  Fri May 25 16:46:21 2001
@@ -35,6 +35,7 @@
 #include "objectcache/objectcache.h"
 #include "datamonitor/datamonitor.h"
 #include "config/configuration.h"
+#include "objectstore/objectstore.h"
 #include "transaction.h"
 #include "schema.h"
 
Index: gnue/geas/src/dataobject.c
diff -u gnue/geas/src/dataobject.c:1.51 gnue/geas/src/dataobject.c:1.52
--- gnue/geas/src/dataobject.c:1.51     Fri May 25 13:24:07 2001
+++ gnue/geas/src/dataobject.c  Fri May 25 16:46:21 2001
@@ -38,6 +38,7 @@
 #include "methods/methods.h"
 #include "datamonitor/datamonitor.h"
 #include "config/configuration.h"
+#include "objectstore/objectstore.h"
 #include "transaction.h"
 #include "schema.h"
 
Index: gnue/geas/src/geas-server.c
diff -u gnue/geas/src/geas-server.c:1.85 gnue/geas/src/geas-server.c:1.86
--- gnue/geas/src/geas-server.c:1.85    Fri May 25 13:24:07 2001
+++ gnue/geas/src/geas-server.c Fri May 25 16:46:21 2001
@@ -49,6 +49,7 @@
 #include "oql/oql.h"
 #include "classdata.h"
 #include "datamonitor/datamonitor.h"
+#include "methods/methods.h"
 #include "security.h"
 
 #include "geas-internal-classes.h"
@@ -103,6 +104,7 @@
 gboolean allow_show_messages( );
 gboolean allow_show_errors  ( );
 gboolean allow_show_config  ( );
+gboolean allow_show_classes ( );
 
 #ifdef ENABLE_INTERCEPT_SIGSEGV
 typedef void (*sighandler_t)(int arg);
Index: gnue/geas/src/methods/methods.c
diff -u gnue/geas/src/methods/methods.c:1.6 gnue/geas/src/methods/methods.c:1.7
--- gnue/geas/src/methods/methods.c:1.6 Fri May 25 08:46:50 2001
+++ gnue/geas/src/methods/methods.c     Fri May 25 16:46:21 2001
@@ -32,6 +32,7 @@
 #include "classdata.h"
 #include "config/configuration.h"
 #include "methods.h"
+#include "exceptions.h"
 
 /* base data structures and related private utility methods */
 typedef struct
Index: gnue/geas/src/objectcache/Makefile.am
diff -u gnue/geas/src/objectcache/Makefile.am:1.3 
gnue/geas/src/objectcache/Makefile.am:1.4
--- gnue/geas/src/objectcache/Makefile.am:1.3   Wed May 16 08:55:17 2001
+++ gnue/geas/src/objectcache/Makefile.am       Fri May 25 16:46:21 2001
@@ -1,12 +1,10 @@
-## $Id: Makefile.am,v 1.3 2001/05/16 15:55:17 reinhard Exp $
+## $Id: Makefile.am,v 1.4 2001/05/25 23:46:21 reinhard Exp $
 
 noinst_LIBRARIES = libobjectcache.a
 
 INCLUDES = $(GLIB_CFLAGS) \
            $(ORBIT_CFLAGS) \
            -I$(top_srcdir)/lib/classdefs \
-           -I$(top_srcdir)/src/config \
-           -I$(top_srcdir)/src/objectstore \
            -I$(top_srcdir)/src
 
 libobjectcache_a_SOURCES = objectcache.c objectcache.h objectcache_internal.h
Index: gnue/geas/src/objectcache/objectcache.c
diff -u gnue/geas/src/objectcache/objectcache.c:1.44 
gnue/geas/src/objectcache/objectcache.c:1.45
--- gnue/geas/src/objectcache/objectcache.c:1.44        Fri May 25 13:24:08 2001
+++ gnue/geas/src/objectcache/objectcache.c     Fri May 25 16:46:21 2001
@@ -29,6 +29,7 @@
 #include "objectstore/objectstore.h"
 #include "config/configuration.h"
 #include "oql/oql.h"
+#include "geas-skeleton.h"
 
 /* ie, turn off temp. debug output */
 #define OC_TEMP_DEBUG (-83) /* DEBUGLEVEL_OFF */
@@ -57,9 +58,6 @@
 static void oc_squeeze_cache( int spaces_to_make );
 static void oc_free_object_data(_ObjectData * o);
 static _ObjectData *oc_allocate_object_data( const char *classname, const char 
*key);
-static void oc_free_string(gpointer key, gpointer value, gpointer userdata);
-static void oc_free_fieldvalue(gpointer key, gpointer value, gpointer 
userdata);
-static void oc_free_classhash(gpointer key, gpointer value, gpointer userdata);
 static _FieldData *oc_alloc_field_data(const char *name);
 static void oc_free_field_data(gpointer key, _FieldData * f, gpointer 
userdata);
 static ObjectData *oc_objectstore_query_to_objectcache(QueryData * q);
@@ -379,7 +377,8 @@
 
       trace_functioncall();
    /* TODO: error checking, updating object flags */
-   r = write_to_objectstore(obj, NULL, NULL);
+   r = write_to_objectstore (obj->classname, obj->key, obj->fields,
+                             obj->indatabase, NULL, NULL);
    if( r == NULL || r->success != TRUE )
        {
           free_query_result(r);
Index: gnue/geas/src/objectlist.c
diff -u gnue/geas/src/objectlist.c:1.19 gnue/geas/src/objectlist.c:1.20
--- gnue/geas/src/objectlist.c:1.19     Fri May 25 13:24:07 2001
+++ gnue/geas/src/objectlist.c  Fri May 25 16:46:21 2001
@@ -30,8 +30,10 @@
 #include "objectlist.h"
 #include "objectcache/objectcache.h"
 #include "config/configuration.h"
+#include "objectstore/objectstore.h"
 #include "exceptions.h"
 #include "collectiondata.h"
+#include "geas-server.h"
 
 /* raises:  */
 CORBA_unsigned_long
Index: gnue/geas/src/objectstore/Makefile.am
diff -u gnue/geas/src/objectstore/Makefile.am:1.5 
gnue/geas/src/objectstore/Makefile.am:1.6
--- gnue/geas/src/objectstore/Makefile.am:1.5   Wed May 16 08:55:17 2001
+++ gnue/geas/src/objectstore/Makefile.am       Fri May 25 16:46:21 2001
@@ -1,14 +1,10 @@
-## $Id: Makefile.am,v 1.5 2001/05/16 15:55:17 reinhard Exp $
+## $Id: Makefile.am,v 1.6 2001/05/25 23:46:21 reinhard Exp $
 
 noinst_LIBRARIES = libobjectstore.a
 
 INCLUDES = $(GLIB_CFLAGS) \
            $(DB_CFLAGS) \
-           $(ORBIT_CFLAGS) \
            -I$(top_srcdir)/src \
-           -I$(top_srcdir)/src/oql/ \
-           -I$(top_srcdir)/src/config/ \
-           -I$(top_srcdir)/src/objectcache/ \
            -I$(top_srcdir)/lib/classdefs
 
 libobjectstore_a_SOURCES = objectstore.c objectstore.h \
Index: gnue/geas/src/objectstore/mysql_access.h
diff -u gnue/geas/src/objectstore/mysql_access.h:1.20 
gnue/geas/src/objectstore/mysql_access.h:1.21
--- gnue/geas/src/objectstore/mysql_access.h:1.20       Tue May 22 12:05:11 2001
+++ gnue/geas/src/objectstore/mysql_access.h    Fri May 25 16:46:21 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: mysql_access.h,v 1.20 2001/05/22 19:05:11 reinhard Exp $
+   $Id: mysql_access.h,v 1.21 2001/05/25 23:46:21 reinhard Exp $
 */
 
 /* This is not really a header file. It's rather a piece of code that is
@@ -356,13 +356,14 @@
   return (retval);
 }
 
-static struct query_result *MySQL_write_object
-  (struct database_handle *ph,
-   ObjectData * cachedobject, int *errorcode, char **errormsg)
+static struct query_result *
+MySQL_write_object (struct database_handle *ph, const gchar *classname,
+                    const gchar *key, GHashTable *values, gboolean update,
+                    int *errorcode, char **errormsg)
 {
   struct query_result *retval = NULL;
   QueryData *q;
-  q = oql_write_object (cachedobject);
+  q = oql_write_object (classname, key, values, update);
   if (q)
     {
       retval = MySQL_execute_query (ph, q, errorcode, errormsg);
Index: gnue/geas/src/objectstore/objectstore.c
diff -u gnue/geas/src/objectstore/objectstore.c:1.58 
gnue/geas/src/objectstore/objectstore.c:1.59
--- gnue/geas/src/objectstore/objectstore.c:1.58        Fri May 25 13:24:08 2001
+++ gnue/geas/src/objectstore/objectstore.c     Fri May 25 16:46:22 2001
@@ -19,18 +19,15 @@
    along with GEAS; if not, write to the Free Software Foundation, Inc.,
    59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
-   $Id: objectstore.c,v 1.58 2001/05/25 20:24:08 reinhard Exp $
+   $Id: objectstore.c,v 1.59 2001/05/25 23:46:22 reinhard Exp $
 */
 
 #include "config.h"
 #include "objectstore.h"
 #include <stdio.h>
-#include <glib.h>
 #include <limits.h>
 #include "geas-server.h"
 #include "classdata.h"
-#include "objectcache/objectcache.h"
-#include "oql.h"
 #include "datamonitor/datamonitor.h"
 
 /* compile time hard limit */
@@ -79,8 +76,10 @@
                                                              char **errormsg);
 typedef struct query_result *(*write_object_function) (struct database_handle
                                                        * h,
-                                                       ObjectData *
-                                                       cacheobject,
+                                                       const gchar *classname,
+                                                       const gchar *key,
+                                                       GHashTable *values,
+                                                       gboolean update,
                                                        int *errorcode,
                                                        char **errormsg);
 
@@ -343,24 +342,22 @@
 }
 
 /* ------------------------------------------------------------------------- *\
- *
+ * Write data to the backend
 \* ------------------------------------------------------------------------- */
 struct query_result *
-write_to_objectstore (ObjectData * cachedobject, int *err, char **errmsg)
+write_to_objectstore (const char *classname, const char *key,
+                      GHashTable *values, gboolean update,
+                      int *err, char **errmsg)
 {
   struct database_handle *h = NULL;
   struct query_result *retval = NULL;
   const char *database = get_first_active_database (configdata);     /* HACK */
 
   trace_functioncall ();
-  if (!cachedobject)
-    {
-      errormsg ("Null object to write");
-      return (NULL);
-    }
 
-  /* message("Writing %s/%s to database", get_object_class(cachedobject) ,
-     get_object_key(cachedobject) ); */
+  g_return_val_if_fail (classname, NULL);
+  g_return_val_if_fail (key, NULL);
+  g_return_val_if_fail (values, NULL);
 
   /* clear error indicators */
   if (err)
@@ -379,7 +376,7 @@
 
   /* execute query (errors passed back automatically) */
   /* self_test_message("Executing"); */
-  retval = h->write_object (h, cachedobject, err, errmsg);
+  retval = h->write_object (h, classname, key, values, update, err, errmsg);
 
   /* done */
   return (retval);
Index: gnue/geas/src/objectstore/objectstore.h
diff -u gnue/geas/src/objectstore/objectstore.h:1.18 
gnue/geas/src/objectstore/objectstore.h:1.19
--- gnue/geas/src/objectstore/objectstore.h:1.18        Thu May 24 14:41:14 2001
+++ gnue/geas/src/objectstore/objectstore.h     Fri May 25 16:46:22 2001
@@ -19,17 +19,15 @@
    along with GEAS; if not, write to the Free Software Foundation, Inc.,
    59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
-   $Id: objectstore.h,v 1.18 2001/05/24 21:41:14 reinhard Exp $
+   $Id: objectstore.h,v 1.19 2001/05/25 23:46:22 reinhard Exp $
 */
 
 #ifndef _OBJECTSTORE_H
 #define _OBJECTSTORE_H
 
 #include <glib.h>
-
-#include "config/configuration.h"
-#include "objectcache/objectcache.h"
 #include "oql/oql.h"
+#include "config/configuration.h"
 
 typedef void         *DatabaseResultRow;
 
@@ -79,7 +77,7 @@
                                            data - check success field */
 };
 
-gboolean              initialise_object_store (configuration config);
+gboolean              initialise_objectstore (configuration config);
 gboolean              close_object_store ();
 void                  free_query_result (struct query_result *result);
 
@@ -104,7 +102,10 @@
 /* write data from object cache to the datastore */
 /* once this function returns, the object may be removed instantly,
    so should not be accessed again, such as from another thread */
-struct query_result  *write_to_objectstore (ObjectData * cachedobject,
+struct query_result  *write_to_objectstore (const gchar *classname,
+                                            const gchar *key,
+                                            GHashTable *values,
+                                            gboolean update,
                                             int *err, char **errmsg);
 
 /* go through all active databases, and make sure they contain */
Index: gnue/geas/src/objectstore/postgresql_access.h
diff -u gnue/geas/src/objectstore/postgresql_access.h:1.28 
gnue/geas/src/objectstore/postgresql_access.h:1.29
--- gnue/geas/src/objectstore/postgresql_access.h:1.28  Wed May 23 17:57:11 2001
+++ gnue/geas/src/objectstore/postgresql_access.h       Fri May 25 16:46:22 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: postgresql_access.h,v 1.28 2001/05/24 00:57:11 treshna Exp $
+   $Id: postgresql_access.h,v 1.29 2001/05/25 23:46:22 reinhard Exp $
 */
 
 /* This is not really a header file. It's rather a piece of code that is
@@ -474,12 +474,13 @@
  * save an object to the database from the object cache
 \* ------------------------------------------------------------------------- */
 static struct query_result *
-postgresql_write_object (struct database_handle *ph, ObjectData * cachedobject,
+postgresql_write_object (struct database_handle *ph, const gchar *classname,
+                         const gchar *key, GHashTable *values, gboolean update,
                          int *errorcode, char **errormsg)
 {
   struct query_result *retval = NULL;
   QueryData *q;
-  q = oql_write_object (cachedobject);
+  q = oql_write_object (classname, key, values, update);
   if (q)
     {
       retval = postgresql_execute_query (ph, q, errorcode, errormsg);
Index: gnue/geas/src/oql/Makefile.am
diff -u gnue/geas/src/oql/Makefile.am:1.3 gnue/geas/src/oql/Makefile.am:1.4
--- gnue/geas/src/oql/Makefile.am:1.3   Wed May 16 08:55:17 2001
+++ gnue/geas/src/oql/Makefile.am       Fri May 25 16:46:22 2001
@@ -1,12 +1,8 @@
-## $Id: Makefile.am,v 1.3 2001/05/16 15:55:17 reinhard Exp $
+## $Id: Makefile.am,v 1.4 2001/05/25 23:46:22 reinhard Exp $
 
 noinst_LIBRARIES = liboql.a
 
 INCLUDES = $(GLIB_CFLAGS) \
-           $(ORBIT_CFLAGS) \
-           -I$(top_srcdir)/src/config \
-           -I$(top_srcdir)/src/objectstore \
-           -I$(top_srcdir)/src/objectcache \
            -I$(top_srcdir)/lib/classdefs \
            -I$(top_srcdir)/src
 
Index: gnue/geas/src/oql/oql.c
diff -u gnue/geas/src/oql/oql.c:1.52 gnue/geas/src/oql/oql.c:1.53
--- gnue/geas/src/oql/oql.c:1.52        Fri May 25 08:46:51 2001
+++ gnue/geas/src/oql/oql.c     Fri May 25 16:46:22 2001
@@ -21,14 +21,8 @@
 */
 
 #include "config.h"
-
-#include <glib.h>
-
-#include "geas-server.h"
 #include "oql.h"
-#include "config/configuration.h"
-#include "objectcache/objectcache.h"
-#include "objectstore/objectstore.h"
+#include "geas-server.h"
 
 static _QueryData *create_query_data(const char *orderby);
 static _QueryCondition *create_query_condition(const char *targetclass,
@@ -55,6 +49,8 @@
 static GString *oql_make_delete(_QueryData * q, DBType db);
 static GString *oql_make_write(_QueryData * q, DBType db);
 
+static char *oql_quote_value(const char *value, DBType db);
+
 /* main translate-to-sql function */
 const char *
 oql_query_as_sql(_QueryData * q, DBType database)
@@ -896,51 +892,52 @@
 
 /* write data */
 _QueryData *
-oql_write_object(ObjectData * cachedobject)
-   {
-   _QueryData *q = NULL;
-   odl_class *c = NULL;
-   char *val = NULL;
-   GList *l = NULL, *tmp = NULL;
-   _QueryCondition *condition = NULL;
-
-   /* trace_functioncall(); */
-   q = create_query_data(NULL);
-   if (!q)
-      {
-      errormsg("Out of memory");
-      return (NULL);
-      }
-   q->type = OQL_WRITE;
-   if (cachedobject->indatabase == 0)
-      q->indatabase = FALSE;
-   else
-      q->indatabase = TRUE;
-
-   c = odl_find_class(all_classes, oc_get_object_class(cachedobject), NULL);
-   q->classes = g_list_append(q->classes, 
g_strdup(oc_get_object_class(cachedobject)));
+oql_write_object (const gchar *classname, const gchar *key,
+                  GHashTable *values, gboolean update)
+{
+  _QueryData      *query;
+  odl_class       *c;
+  const gchar     *fieldname;
+  gchar           *value;
+  GList           *all_fields;
+  GList           *field;
+  _QueryCondition *condition;
+
+  g_return_val_if_fail (classname, NULL);
+  g_return_val_if_fail (key, NULL);
+  g_return_val_if_fail (values, NULL);
+
+  query = create_query_data (NULL);
+
+  query->type = OQL_WRITE;
+  query->indatabase = update;
+  query->classes = g_list_append (query->classes, g_strdup (classname));
+
+  c = odl_find_class (all_classes, classname, NULL);
+  all_fields = odl_class_get_fields (c, FT_basic);
+
+  field = g_list_first (all_fields);
+  while (field)
+    {
+      fieldname = odl_field_get_name ((odl_field *) field->data);
+      value = g_hash_table_lookup (values, fieldname);
+      if (value)
+        {
+          query->fields = g_list_append (query->fields, g_strdup (fieldname));
+          query->values = g_list_append (query->values, g_strdup (value));
+        }
+      field = g_list_next(field);
+    }
+  odl_fieldlist_free(all_fields);
+
+  condition = create_query_condition (g_strdup (classname),
+                                      g_strdup ("objectid"),
+                                      g_strdup ("="),
+                                      g_strdup (key));
+  query->conditions = g_list_append (query->conditions, condition);
 
-   l = odl_class_get_fields(c, FT_basic);
-   tmp = l;
-   while (tmp)
-      {
-      val = oc_get_object_field(cachedobject, odl_field_get_name((odl_field *) 
tmp->data));
-      if (val)
-         {
-         q->fields = g_list_append(q->fields, 
g_strdup(odl_field_get_name((odl_field *) tmp->data)));
-         q->values = g_list_append(q->values, val);
-         }
-      tmp = g_list_next(tmp);
-      }
-   odl_fieldlist_free(l);
-
-   condition =
-      create_query_condition(g_strdup(oc_get_object_class(cachedobject)),
-                             g_strdup("objectid"), g_strdup("="), 
g_strdup(oc_get_object_key(cachedobject)));
-   q->conditions = g_list_append(q->conditions, condition);
-
-   return (q);
-   }
+  return (query);
+}
 
 _QueryData *
 oql_make_sql_query( const char *query )
Index: gnue/geas/src/oql/oql.h
diff -u gnue/geas/src/oql/oql.h:1.26 gnue/geas/src/oql/oql.h:1.27
--- gnue/geas/src/oql/oql.h:1.26        Wed May 23 17:57:11 2001
+++ gnue/geas/src/oql/oql.h     Fri May 25 16:46:22 2001
@@ -20,11 +20,13 @@
  
 */
 
-#include "geas-server.h"
-
 #ifndef LIBOQL_H
 #define LIBOQL_H
 
+#include <glib.h>
+#include "classdata.h"
+#include "config/configuration.h"
+
 /* handle to a query structure */
 typedef void QueryData;
 
@@ -39,10 +41,6 @@
 
 #include "oql_internal.h"
 
-#include "config/configuration.h"
-#include "objectcache/objectcache.h"
-#include "objectstore/objectstore.h"
-
 const char *get_last_oql_error();
 
 /* get query as an ASCII text string. currently only supports GEAS
@@ -69,7 +67,8 @@
 /* create queries */
 
 /* write data */
-_QueryData *oql_write_object(ObjectData * cachedobject);
+_QueryData *oql_write_object (const gchar *classname, const gchar *key,
+                              GHashTable *values, gboolean update);
 
 /* delete entries */
 _QueryData *oql_delete_object(const char *classname, const char *key);
Index: gnue/geas/src/oql/oql_internal.h
diff -u gnue/geas/src/oql/oql_internal.h:1.7 
gnue/geas/src/oql/oql_internal.h:1.8
--- gnue/geas/src/oql/oql_internal.h:1.7        Tue May 22 13:23:19 2001
+++ gnue/geas/src/oql/oql_internal.h    Fri May 25 16:46:22 2001
@@ -24,6 +24,7 @@
 #define LIBOQL_INTERNAL_H
 
 #include <uuid/uuid.h>
+#include <glib.h>
 
 enum querytest {
      q_equals      , q_notequals ,
Index: gnue/geas/src/query.c
diff -u gnue/geas/src/query.c:1.7 gnue/geas/src/query.c:1.8
--- gnue/geas/src/query.c:1.7   Fri May 25 08:46:50 2001
+++ gnue/geas/src/query.c       Fri May 25 16:46:21 2001
@@ -30,6 +30,7 @@
 #include "classdata.h"
 #include "objectcache/objectcache.h"
 #include "oql/oql.h"
+#include "objectstore/objectstore.h"
 #include "collectiondata.h"
 #include "methods/methods.h"
 #include "datamonitor/datamonitor.h"
Index: gnue/geas/src/schema.c
diff -u gnue/geas/src/schema.c:1.9 gnue/geas/src/schema.c:1.10
--- gnue/geas/src/schema.c:1.9  Fri May 25 13:04:54 2001
+++ gnue/geas/src/schema.c      Fri May 25 16:46:21 2001
@@ -28,6 +28,7 @@
 
 #include "classdata.h"
 #include "schema.h"
+#include "exceptions.h"
 
 /** \brief List all fields to return
  *  \return GList of pointers to odl_field instances



reply via email to

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