Lisp HUG Maillist Archive

:db-info options in def-view-class

Greetings. Well, it would seem I don't understand how one should use the
:retrieval :immediate option for def-view-class. Here's something that
represents what we're working with:

(def-view-class hobbit-family (standard-db-object)
  ((family-name :db-kind :key ...)
   (hobbits :db-kind :join
            :db-info
            (:join-class hobbit
             :home-key family-name
             :foreign-key family-name)
            ...))
  (:base-table the_shire))

(def-view-class hobbit (standard-db-object)
  ((family-name ...)
   (id :db-kind :key ...))
  (:base-table hobbits))

When we query a particular hobbit-family, we'd like join to be done
immediately, with the hobbits slot in hobbit-family containing a list of
hobbit instances.

If we leave the schema spec as it is, retrieval of the hobbit instances is
deferred until the hobbits slot of hobbit-family is first accessed. Ok; I
get that. However, since our app always needs the data immediately, I'd like
immediate retrieval. What is the proper way to do this? The documentation
states that :retrieval :immediate implies :set nil, which implies that slot
hobbits would contain a single instance. Not what we're after.

Thanks much.

David E. Young
Bloodhound Software, Inc.
http://bloodhoundinc.com

"For wisdom is more precious than rubies,
and nothing you desire can compare with her."
  -- Proverbs 8:11

"But all the world understands my language."
  -- Franz Joseph Haydn (1732-1809)


________________________________________________________________________
This email has been scanned for all viruses by the MessageLabs Email
Security System. For more information on a proactive email security
service working around the clock, around the globe, visit
http://www.messagelabs.com
________________________________________________________________________

Updated at: 2020-12-10 08:59 UTC