Mercurial > hg > amuse
changeset 235:ea45a3d0730c
Add some generic functions for querying the database in amuse-database-admin.
Ignore-this: d2516f9e731f2e7a079d8a094c70e927
How much general functionality should there be here?
The basic idea is a generalisation of mtp-admin, but there is a lot still to do.
darcs-hash:20100223150341-16a00-46cb41323450b18e21a4fff2cdaf7d38e9c572dc.gz
committer: Jamie Forth <j.forth@gold.ac.uk>
author | j.forth <j.forth@gold.ac.uk> |
---|---|
date | Thu, 24 Feb 2011 11:23:18 +0000 |
parents | e3353261523e |
children | a5d065905f6d |
files | base/database/generics.lisp base/database/package.lisp |
diffstat | 2 files changed, 23 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/base/database/generics.lisp Thu Feb 24 11:23:18 2011 +0000 +++ b/base/database/generics.lisp Thu Feb 24 11:23:18 2011 +0000 @@ -1,3 +1,24 @@ (cl:in-package #:amuse-database-admin) (defgeneric make-composition-identifier (package composition-id)) + + +;;;==================================================================== +;;; Generic functions for querying the database +;;; +;;; FIXME: how sane is this? The idea was to have a general mtp-admin. +;;; +;;; What about arbitrary SQL conditions? Might be useful for general +;;; searching, and defining new datasets (which I currently do by +;;; writing the resuls of a SQL query to a file (e.g. `all the Beatles +;;; songs'), and then reading the file into lisp). Amuse-midi-db +;;; implements these methods. +;;; +;;; Also, should this kind of generality be extended to data import +;;; and export? +;;; ===================================================================== + +(defgeneric list-collections (package-object &key compositions stream)) + +(defgeneric list-compositions (package-object &key + collection-identifier stream))
--- a/base/database/package.lisp Thu Feb 24 11:23:18 2011 +0000 +++ b/base/database/package.lisp Thu Feb 24 11:23:18 2011 +0000 @@ -13,6 +13,8 @@ #:make-amuse-dataset-identifier #:make-composition-identifier ; generics + #:list-collections + #:list-compositions #:register-new-implementation ; implementation functions #:implementation-package