From: Kevin Rosenberg Date: Fri, 29 Jan 2010 06:56:27 +0000 (-0700) Subject: Fix for UPDATE-RECORD-FROM-SLOTS for normalized view-classes X-Git-Tag: v4.3.3~8^2~4 X-Git-Url: http://git.kpe.io/?p=clsql.git;a=commitdiff_plain;h=ad4e01a8cd3f66562cacd4aee9226e6bfd85a2f9 Fix for UPDATE-RECORD-FROM-SLOTS for normalized view-classes --- diff --git a/ChangeLog b/ChangeLog index d37854e..9a60f3f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +29 Jan 2009 Kevin Rosenberg + * sql/oodml.lisp: Fix for UPDATE-RECORD-FROM-SLOTS for normalized + view classes + 28 Jan 2009 Kevin Rosenberg * Version 4.3.2 * Change "normalise" from British spelling for consistency with diff --git a/sql/oodml.lisp b/sql/oodml.lisp index e075b0c..634acc8 100644 --- a/sql/oodml.lisp +++ b/sql/oodml.lisp @@ -1,8 +1,6 @@ ;;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Base: 10 -*- ;;;; ************************************************************************* ;;;; -;;;; $Id$ -;;;; ;;;; The CLSQL Object Oriented Data Manipulation Language (OODML). ;;;; ;;;; This file is part of CLSQL. @@ -208,6 +206,13 @@ (defmethod update-record-from-slots ((obj standard-db-object) slots &key (database *default-database*)) + (when (normalizedp (class-of obj)) + ;; FIXME: Rewrite to bundle slots for same table to be written + ;; as avpairs (like how is done for non-normalized view-classes below) + (dolist (slot slots) + (update-record-from-slot obj slot :database database)) + (return-from update-record-from-slots (values))) + (let* ((database (or (view-database obj) database)) (vct (view-table (class-of obj))) (sds (slotdefs-for-slots-with-class slots (class-of obj)))