Mercurial > hg > amuse
view base/database/implementations-setup.lisp @ 330:2fbff655ba47 tip
Removed cpitch-adj and cents SQL columns
author | Jeremy Gow <jeremy.gow@gmail.com> |
---|---|
date | Mon, 21 Jan 2013 11:08:11 +0000 |
parents | 2519652145c3 |
children | 6a3adca16910 |
line wrap: on
line source
(cl:in-package #:amuse-database-admin) (defun create-implementations-table (&optional (database *amuse-database*)) (%create-implementations-table database) (%create-implementation-stored-routines database)) (defun drop-implementations-table (&optional (database *amuse-database*)) (%drop-implementations-table database) (%drop-implementation-stored-routines database)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Helper functions (defun %create-implementations-table (database) #.(clsql:locally-enable-sql-reader-syntax) (clsql:create-table "amuse_implementations" '(([|implementation-id|] clsql:smallint :unsigned :not-null :auto-increment :primary-key) ([|implementation-name|] (varchar 255) :not-null :unique)) :database database :transactions t) #.(clsql:locally-disable-sql-reader-syntax)) (defun %drop-implementations-table (database) (clsql:drop-table "amuse_implementations" :if-does-not-exist :ignore :database database)) (defun %create-implementation-stored-routines (database) (%create-db-fun-get-impl-id database) (%create-db-fun-get-impl-name database)) (defun %drop-implementation-stored-routines (database) (%drop-db-fun-get-impl-id database) (%drop-db-fun-get-impl-name database)) (defun %create-db-fun-get-impl-id (database) (clsql:execute-command " CREATE FUNCTION get_impl_id ( impl_name VARCHAR(255)) RETURNS SMALLINT READS SQL DATA RETURN (SELECT implementation_id FROM amuse_implementations WHERE implementation_name = impl_name);" :database database)) (defun %drop-db-fun-get-impl-id (database) (clsql:execute-command " DROP FUNCTION get_impl_id" :database database)) (defun %create-db-fun-get-impl-name (database) (clsql:execute-command " CREATE FUNCTION get_impl_name ( impl_id SMALLINT) RETURNS VARCHAR(255) READS SQL DATA RETURN (SELECT implementation_name FROM amuse_implementations WHERE implementation_id = impl_id);" :database database)) (defun %drop-db-fun-get-impl-name (database) (clsql:execute-command " DROP FUNCTION get_impl_name" :database database))