]> err.no Git - sope/commitdiff
fixed gdltest
authorhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Sun, 20 Feb 2005 16:11:24 +0000 (16:11 +0000)
committerhelge <helge@e4a50df8-12e2-0310-a44c-efbce7f8a7e3>
Sun, 20 Feb 2005 16:11:24 +0000 (16:11 +0000)
git-svn-id: http://svn.opengroupware.org/SOPE/trunk@576 e4a50df8-12e2-0310-a44c-efbce7f8a7e3

sope-gdl1/SQLite3/ChangeLog
sope-gdl1/SQLite3/GNUmakefile
sope-gdl1/SQLite3/GNUmakefile.preamble
sope-gdl1/SQLite3/README
sope-gdl1/SQLite3/SQLiteChannel.m
sope-gdl1/SQLite3/condict.plist
sope-gdl1/SQLite3/fhs.make [new file with mode: 0644]
sope-gdl1/SQLite3/gdltest.m
sope-gdl1/SQLite3/test.eomodel

index 04c9f229d4606018a400de1afea4850c51fce33c..7a2b9a7cc0aa3570c2140d196dbced2b09901b00 100644 (file)
@@ -1,5 +1,7 @@
 2005-02-20  Helge Hess  <helge.hess@opengroupware.org>
 
+       * made gdltest work again
+
        * added work on the SQLite3 adaptor to SOPE 4.5 repository
 
        * removed some PostgreSQL stuff
index a1e6dbaf5070d0b664cfd7a623ec3b5fd1a2b9e5..1d928ad413589b3bc62c02061c775589c980e72b 100644 (file)
 # If not, write to the Free Software Foundation,
 # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
+-include ../../config.make
 include $(GNUSTEP_MAKEFILES)/common.make
+include ../Version
+include ./Version
 
 BUNDLE_NAME = SQLite3
 
@@ -44,7 +47,7 @@ SQLite3_OBJC_FILES = \
 SQLite3_PRINCIPAL_CLASS = SQLiteAdaptor
 
 BUNDLE_INSTALL     = SQLite3
-BUNDLE_INSTALL_DIR = $(GNUSTEP_SYSTEM_ROOT)/Libraries/Adaptors
+BUNDLE_INSTALL_DIR = $(GNUSTEP_INSTALLATION_DIR)/Library/GDLAdaptors-$(MAJOR_VERSION).$(MINOR_VERSION)/
 
 # Use .gdladaptor as the bundle extension
 BUNDLE_EXTENSION = .gdladaptor
@@ -59,5 +62,8 @@ gdltest_OBJC_FILES = gdltest.m
 
 -include GNUmakefile.preamble
 include $(GNUSTEP_MAKEFILES)/bundle.make
-#include $(GNUSTEP_MAKEFILES)/tool.make
+ifeq ($(test),yes)
+include $(GNUSTEP_MAKEFILES)/tool.make
+endif
 -include GNUmakefile.postamble
+include fhs.make
index 3d0f50b8ff13e47738dbb492d7b32249da8316a0..5a4f4cc6e6127405d1eb7d7161392fde3464e768 100644 (file)
@@ -38,3 +38,6 @@ ADDITIONAL_LIB_DIRS += \
        -L/usr/local/lib        \
        -L/usr/lib              \
 
+SYSTEM_LIB_DIR += \
+       -L/usr/local/lib                \
+       -L/usr/lib
index 4031916d768160ffdd38a8eb1c567f6e6d50d1bc..6563b13983f009bfa9aa2686a6366fa96127ab48 100644 (file)
@@ -33,6 +33,12 @@ Configure the Adaptor (below does not work yet for SQLite3!)
   SQLiteDebugEnabled
 
 
+Setup gdltest Database
+======================
+sqlite3 Test.sqldb 
+sqlite> CREATE TABLE my_table ( pkey INT PRIMARY KEY );
+
+
 
 Sequential execution
 ====================
index 37d66b56a49ad51e59f942d461db108bb20989bf..47649fa0c9a866ee22d49adb85e09a0632c9809f 100644 (file)
@@ -98,6 +98,20 @@ static int openConnectionCount = 0;
   return (self->_connection != NULL) ? YES : NO;
 }
 
+- (int)maxOpenConnectionCount {
+    static int MaxOpenConnectionCount = -1;
+    
+    if (MaxOpenConnectionCount == -1) {
+      MaxOpenConnectionCount =
+        [[NSUserDefaults standardUserDefaults]
+                         integerForKey:@"SQLiteMaxOpenConnectionCount"];
+      if (MaxOpenConnectionCount == 0) {
+        MaxOpenConnectionCount = 15;
+      }
+    }
+    return MaxOpenConnectionCount;
+}
+
 - (BOOL)openChannel {
   SQLiteAdaptor *adaptor;
   int rc;
@@ -117,21 +131,10 @@ static int openConnectionCount = 0;
         openConnectionCount);
 #endif
   {
-    static int MaxOpenConnectionCount = -1;
-    
-    if (MaxOpenConnectionCount == -1) {
-      MaxOpenConnectionCount =
-        [[NSUserDefaults standardUserDefaults]
-                         integerForKey:@"SQLiteMaxOpenConnectionCount"];
-      if (MaxOpenConnectionCount == 0) {
-        MaxOpenConnectionCount = 15;
-      }
-    }
-    if (openConnectionCount > MaxOpenConnectionCount) {
-      [SQLiteCouldNotOpenChannelException raise:
-                              @"NoMoreConnections"
-                              format:
-                              @"cannot open a additional connection !"];
+    if (openConnectionCount > [self maxOpenConnectionCount]) {
+      [SQLiteCouldNotOpenChannelException 
+       raise:@"NoMoreConnections"
+       format:@"cannot open a additional connection !"];
       return NO;
     }
   }
index fef398e48c4c9bfa538ed2a927b2cc86d3a1d716..250e134f33b8aefead50888875dca26a3df087b5 100644 (file)
@@ -1,3 +1,3 @@
 {
-  databaseName = "hhtest1";
+  databaseName = "Test.sqldb";
 }
diff --git a/sope-gdl1/SQLite3/fhs.make b/sope-gdl1/SQLite3/fhs.make
new file mode 100644 (file)
index 0000000..6c5bd96
--- /dev/null
@@ -0,0 +1,25 @@
+# postprocessing
+
+# FHS support (this is a hack and is going to be done by gstep-make!)
+
+ifneq ($(FHS_INSTALL_ROOT),)
+
+FHS_LIB_DIR=$(FHS_INSTALL_ROOT)/lib/
+FHS_DB_DIR=$(FHS_LIB_DIR)sope-$(SOPE_MAJOR_VERSION).$(SOPE_MINOR_VERSION)/dbadaptors/
+
+fhs-db-dirs ::
+       $(MKDIRS) $(FHS_DB_DIR)
+
+move-bundles-to-fhs :: fhs-db-dirs
+       @echo "moving bundles $(BUNDLE_INSTALL_DIR) to $(FHS_DB_DIR) .."
+       for i in $(BUNDLE_NAME); do \
+          j="$(FHS_DB_DIR)/$${i}$(BUNDLE_EXTENSION)"; \
+         if test -d $$j; then rm -r $$j; fi; \
+         mv "$(BUNDLE_INSTALL_DIR)/$${i}$(BUNDLE_EXTENSION)" $$j; \
+       done
+
+move-to-fhs :: move-bundles-to-fhs
+
+after-install :: move-to-fhs
+
+endif
index 6a21fe8b40dbdaf5d75e4ca21a128f9ed41c3040..cad5fdb8baf225de96611b104ab9f520cb25cf4e 100644 (file)
@@ -1,54 +1,45 @@
-//
+/* 
+   SQLiteValues.h
+
+   Copyright (C) 1999-2005 MDlink online service center GmbH and Helge Hess
+
+   Author: Helge Hess (helge@mdlink.de)
+
+   This file is part of the SQLite Adaptor Library
+
+   This library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public
+   License as published by the Free Software Foundation; either
+   version 2 of the License, or (at your option) any later version.
+
+   This library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
+
+   You should have received a copy of the GNU Library General Public
+   License along with this library; see the file COPYING.LIB.
+   If not, write to the Free Software Foundation,
+   59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+*/
 
 #import <Foundation/Foundation.h>
 #import <GDLAccess/GDLAccess.h>
 #include <NGExtensions/NGExtensions.h>
 
-int main(int argc, char **argv, char **env) {
-  EOModel          *m = nil;
-  EOAdaptor        *a;
+static void runtestInOpenChannel(EOAdaptorChannel *ch) {
   EOAdaptorContext *ctx;
-  EOAdaptorChannel *ch;
-  NSDictionary     *conDict;
-  NSString         *expr;
-  
-  [NSProcessInfo initializeWithArguments:argv count:argc environment:env];
+  EOModel  *m;
+  NSString *expr;
 
-  NS_DURING {
-  
-  conDict = [NSDictionary dictionaryWithContentsOfFile:@"condict.plist"];
-  NSLog(@"condict is %@", conDict);
-  
-  if ((a = [EOAdaptor adaptorWithName:@"SQLite3"]) == nil) {
-    NSLog(@"found no SQLite3 adaptor ..");
-    exit(1);
-  }
-  
-  NSLog(@"got adaptor %@", a);
-  [a setConnectionDictionary:conDict];
-  NSLog(@"got adaptor with condict %@", a);
-  
-  ctx = [a   createAdaptorContext];
-  ch  = [ctx createAdaptorChannel];
+  ctx = [ch adaptorContext];
+  m   = [[ctx adaptor] model];
 
-#if 1
-  m = AUTORELEASE([[EOModel alloc] initWithContentsOfFile:@"test.eomodel"]);
-  if (m) {
-    [a setModel:m];
-    [a setConnectionDictionary:conDict];
-  }
-#endif
-  
   expr = [[NSUserDefaults standardUserDefaults] stringForKey:@"sql"];
 
-  NSLog(@"opening channel ..");
-
-  [ch setDebugEnabled:YES];
-  
-  if ([ch openChannel]) {
-    NSLog(@"channel is open");
+  NSLog(@"channel is open");
     
-    if ([ctx beginTransaction]) {
+  if ([ctx beginTransaction]) {
       NSLog(@"began tx ..");
 
       /* do something */
@@ -75,7 +66,7 @@ int main(int argc, char **argv, char **env) {
 #endif
         /* fetch some doof records */
 
-        e = [m entityNamed:@"Doof"];
+        e = [m entityNamed:@"MyEntity"];
         NSLog(@"entity: %@", e);
         if (e == nil)
           exit(1);
@@ -150,6 +141,46 @@ int main(int argc, char **argv, char **env) {
       else
         NSLog(@"  commit failed.");
     }
+}
+
+static void runtest(void) {
+  EOModel          *m = nil;
+  EOAdaptor        *a;
+  EOAdaptorContext *ctx;
+  EOAdaptorChannel *ch;
+  NSDictionary     *conDict;
+  
+  NS_DURING {
+  
+  conDict = [NSDictionary dictionaryWithContentsOfFile:@"condict.plist"];
+  NSLog(@"condict is %@", conDict);
+  
+  if ((a = [EOAdaptor adaptorWithName:@"SQLite3"]) == nil) {
+    NSLog(@"found no SQLite3 adaptor ..");
+    exit(1);
+  }
+  
+  NSLog(@"got adaptor %@", a);
+  [a setConnectionDictionary:conDict];
+  NSLog(@"got adaptor with condict %@", a);
+  
+  ctx = [a   createAdaptorContext];
+  ch  = [ctx createAdaptorChannel];
+
+#if 1
+  m = AUTORELEASE([[EOModel alloc] initWithContentsOfFile:@"test.eomodel"]);
+  if (m) {
+    [a setModel:m];
+    [a setConnectionDictionary:conDict];
+  }
+#endif
+  
+  NSLog(@"opening channel ..");
+
+  [ch setDebugEnabled:YES];
+  
+  if ([ch openChannel]) {
+    runtestInOpenChannel(ch);
     
     NSLog(@"closing channel ..");
     [ch closeChannel];
@@ -160,6 +191,15 @@ int main(int argc, char **argv, char **env) {
     abort();
   }
   NS_ENDHANDLER;
+}
+
+int main(int argc, char **argv, char **env) {
+  NSAutoreleasePool *pool;
+
+  pool = [[NSAutoreleasePool alloc] init];
+  [NSProcessInfo initializeWithArguments:argv count:argc environment:env];
 
+  runtest();
+  [pool release];
   return 0;
 }
index 99d8716b2721e5ecf493c80461a1cd37d7a487be..9079abadcfadf021f2bc77ebc06aba80950a2abe 100644 (file)
@@ -4,13 +4,14 @@
     adaptorName      = SQLite3;
 
     entities = (
-      {
-        name         = Doof;
-        externalName = doof;
+      { /* CREATE TABLE my_table ( pkey INT PRIMARY KEY ); */
+        name         = MyEntity;
+        externalName = my_table;
+        
         className    = EOGenericRecord;
-        primaryKeyAttributes = ( pkey );
+        primaryKeyAttributes     = ( pkey );
         attributesUsedForLocking = ( pkey );
-        classProperties = ( pkey );
+        classProperties          = ( pkey );
         attributes = (
                 {
                     valueClassName = NSNumber;