;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: base-class.lisp,v 1.9 2003/05/22 20:40:03 kevin Exp $
+;;;; $Id: base-class.lisp,v 1.10 2003/06/06 21:59:29 kevin Exp $
;;;;
;;;; This file is Copyright (c) 2000-2003 by Kevin M. Rosenberg
;;;; *************************************************************************
-(in-package :hyperobject)
-(eval-when (:compile-toplevel :execute)
- (declaim (optimize (speed 2) (safety 2) (compilation-speed 0) (debug 2))))
+(in-package #:hyperobject)
(defclass hyperobject ()
;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: connect.lisp,v 1.3 2003/05/14 05:29:48 kevin Exp $
+;;;; $Id: connect.lisp,v 1.4 2003/06/06 21:59:29 kevin Exp $
;;;;
;;;; This file is Copyright (c) 2000-2003 by Kevin M. Rosenberg
;;;; *************************************************************************
-(in-package :hyperobject)
-(eval-when (:compile-toplevel :execute)
- (declaim (optimize (speed 2) (safety 2) (compilation-speed 0) (debug 2))))
+(in-package #:hyperobject)
(defvar *ho-sql-db* "ho")
(defun ho-sql-db ()
;;;; Date Started: Apr 2000
;;;;
;;;;
-;;;; $Id: metaclass.lisp,v 1.7 2003/05/14 05:29:48 kevin Exp $
+;;;; $Id: metaclass.lisp,v 1.8 2003/06/06 21:59:29 kevin Exp $
;;;;
;;;; This file is Copyright (c) 2000-2003 by Kevin M. Rosenberg
;;;; *************************************************************************
-(in-package :hyperobject)
+(in-package #:hyperobject)
-(eval-when (:compile-toplevel :execute)
- (declaim (optimize (speed 2) (safety 2) (compilation-speed 0) (debug 2))))
-
-
(defparameter *class-options*
'(:user-name :default-print-slots :description :version :sql-name
:direct-rules)
;;;; in Text, HTML, and XML formats. This includes hyperlinking\r
;;;; capability and sub-objects.\r
;;;;\r
-;;;; $Id: mop.lisp,v 1.75 2003/05/26 21:43:05 kevin Exp $\r
+;;;; $Id: mop.lisp,v 1.76 2003/06/06 21:59:29 kevin Exp $\r
;;;;\r
;;;; This file is Copyright (c) 2000-2003 by Kevin M. Rosenberg\r
;;;; *************************************************************************\r
\r
-(in-package :hyperobject)\r
-\r
-(eval-when (:compile-toplevel :execute)\r
- (declaim (optimize (speed 2) (safety 2) (compilation-speed 0) (debug 2))))\r
+(in-package #:hyperobject)\r
\r
;; Main class\r
\r
;;;; Programmer: Kevin M. Rosenberg\r
;;;; Date Started: Apr 2000\r
;;;;\r
-;;;; $Id: package.lisp,v 1.48 2003/05/17 22:24:38 kevin Exp $\r
+;;;; $Id: package.lisp,v 1.49 2003/06/06 21:59:29 kevin Exp $\r
;;;;\r
;;;; This file is Copyright (c) 2000-2003 by Kevin M. Rosenberg\r
;;;; *************************************************************************\r
\r
-(eval-when (:compile-toplevel :execute)\r
- (declaim (optimize (speed 2) (safety 2) (compilation-speed 0) (debug 2))))\r
-\r
-(in-package :cl-user)\r
+(in-package #:cl-user)\r
\r
#+sbcl\r
(eval-when (:compile-toplevel :load-toplevel :execute)\r
;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: rules.lisp,v 1.45 2003/05/17 05:39:35 kevin Exp $
+;;;; $Id: rules.lisp,v 1.46 2003/06/06 21:59:29 kevin Exp $
;;;;
;;;; This file is Copyright (c) 2000-2003 by Kevin M. Rosenberg
;;;; *************************************************************************
-(in-package :hyperobject)
-
-(eval-when (:compile-toplevel :execute)
- (declaim (optimize (speed 2) (safety 2) (compilation-speed 0) (debug 2))))
+(in-package #:hyperobject)
;;; Slot accessor and class rules
;;;; *************************************************************************
;;;; FILE IDENTIFICATION
;;;;
-;;;; Name: sqlgen.lisp
+;;;; Name: sql.lisp
;;;; Purpose: SQL Generation functions for Hyperobject
;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: sql.lisp,v 1.5 2003/05/14 05:29:48 kevin Exp $
+;;;; $Id: sql.lisp,v 1.6 2003/06/06 21:59:29 kevin Exp $
;;;;
;;;; This file is Copyright (c) 2000-2003 by Kevin M. Rosenberg
;;;; *************************************************************************
-(in-package :hyperobject)
-(eval-when (:compile-toplevel :execute)
- (declaim (optimize (speed 2) (safety 2) (compilation-speed 0) (debug 2))))
-
+(in-package #:hyperobject)
;;;; Metaclass initialization commands
(lisp-name (if name name (slot-definition-name esd))))
(lisp-name-to-sql-name lisp-name)))
-
(defun lisp-name-to-sql-name (lisp)
"Convert a lisp name (atom or list, string or symbol) into a canonical
SQL name"
(typecase lisp
(symbol (symbol-name lisp))
(t (write-to-string lisp)))))
- (let ((sql (make-string (length lisp))))
- (dotimes (i (length lisp))
- (declare (fixnum i))
- (setf (char sql i)
- (let ((c (char lisp i)))
- (case c
- (#\- #\_)
- (#\$ #\_)
- (#\+ #\_)
- (#\# #\_)
- (otherwise c)))))
- (string-upcase sql)))
-
+ (do* ((len (length lisp))
+ (sql (make-string len))
+ (i 0 (1+ i)))
+ ((= i len) (string-upcase sql))
+ (declare (fixnum i)
+ (simple-string sql))
+ (setf (schar sql i)
+ (let ((c (char lisp i)))
+ (case c
+ ((#\- #\$ #\+ #\#) #\_)
+ (otherwise c))))))
(defun define-inverse (class esd)
"Define an inverse function for a slot"
(slot-value self name))))))))))
values))
-
-
(defun inverse-field-string (fields)
(let (inverse)
(dolist (field fields)
;;;; Programmer: Kevin M. Rosenberg
;;;; Date Started: Apr 2000
;;;;
-;;;; $Id: views.lisp,v 1.49 2003/05/30 18:46:35 kevin Exp $
+;;;; $Id: views.lisp,v 1.50 2003/06/06 21:59:29 kevin Exp $
;;;;
;;;; This file is Copyright (c) 2000-2003 by Kevin M. Rosenberg
;;;; *************************************************************************
-(in-package :hyperobject)
-
-(eval-when (:compile-toplevel :execute)
- (declaim (optimize (speed 2) (safety 2) (compilation-speed 0) (debug 2))))
+(in-package #:hyperobject)
(defclass object-view ()