Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
acs-reference
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
project-open
acs-reference
Commits
4b204416
Commit
4b204416
authored
Apr 18, 2005
by
Frank Bergmann
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Initial Import
parents
Pipeline
#90
failed with stages
Changes
21
Pipelines
2
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
1180 additions
and
0 deletions
+1180
-0
acs-reference.info
acs-reference.info
+36
-0
acs-reference-create.sql
sql/oracle/acs-reference-create.sql
+214
-0
acs-reference-drop.sql
sql/oracle/acs-reference-drop.sql
+56
-0
upgrade-0.2d-0.3d.sql
sql/oracle/upgrade/upgrade-0.2d-0.3d.sql
+149
-0
acs-reference-create.sql
sql/postgresql/acs-reference-create.sql
+205
-0
acs-reference-drop.sql
sql/postgresql/acs-reference-drop.sql
+42
-0
acs-reference-procs.tcl
tcl/acs-reference-procs.tcl
+15
-0
design.html
www/doc/design.html
+60
-0
index.html
www/doc/index.html
+24
-0
requirements.html
www/doc/requirements.html
+132
-0
index.adp
www/index.adp
+18
-0
index.tcl
www/index.tcl
+23
-0
reference-data-list-oracle.xql
www/reference-data-list-oracle.xql
+25
-0
reference-data-list-postgresql.xql
www/reference-data-list-postgresql.xql
+25
-0
reference-data-list.adp
www/reference-data-list.adp
+20
-0
reference-data-list.tcl
www/reference-data-list.tcl
+26
-0
table-detail.adp
www/table-detail.adp
+3
-0
table-detail.tcl
www/table-detail.tcl
+24
-0
view-one-reference.adp
www/view-one-reference.adp
+36
-0
view-one-reference.tcl
www/view-one-reference.tcl
+24
-0
view-one-reference.xql
www/view-one-reference.xql
+23
-0
No files found.
acs-reference.info
0 → 100644
View file @
4b204416
<?xml version="1.0"?>
<!-- Generated by the OpenACS Package Manager -->
<package
key=
"acs-reference"
url=
"http://www.arsdigita.com/acs-repository/apm/packages/acs-reference"
type=
"apm_service"
>
<package-name>
ACS Reference Data
</package-name>
<pretty-plural>
ACS Reference Datas
</pretty-plural>
<initial-install-p>
t
</initial-install-p>
<singleton-p>
t
</singleton-p>
<version
name=
"5.1.5"
url=
"http://openacs.org/repository/download/apm/acs-reference-5.1.5.apm"
>
<owner
url=
"mailto:jon@jongriffin.com"
>
Jon Griffin
</owner>
<summary>
Tools and API for managing refrence data.
</summary>
<release-date>
2004-02-28
</release-date>
<maturity>
3
</maturity>
<vendor
url=
"http://www.mayuli.com"
>
Mayuli Enterprises, LLC
</vendor>
<description
format=
"text/html"
>
Reference Data provides an API to support:
<
ul
>
<
li
>
A common set of reference data.
<
li
>
Running standard reports on this data.
<
li
>
Monitoring the usage of reference data.
<
/ul
>
</description>
<provides
url=
"acs-reference"
version=
"5.1.4"
/>
<requires
url=
"acs-kernel"
version=
"5.0.0"
/>
<callbacks>
</callbacks>
<parameters>
<!-- No version parameters -->
</parameters>
</version>
</package>
sql/oracle/acs-reference-create.sql
0 → 100644
View file @
4b204416
--
-- packages/acs-reference/sql/acs-reference-create.sql
--
-- @author jon@arsdigita.com
-- @creation-date 2000-11-21
-- @cvs-id $Id$
-- setup the basic admin privileges
begin
acs_privilege
.
create_privilege
(
'acs_reference_create'
);
acs_privilege
.
create_privilege
(
'acs_reference_write'
);
acs_privilege
.
create_privilege
(
'acs_reference_read'
);
acs_privilege
.
create_privilege
(
'acs_reference_delete'
);
acs_privilege
.
add_child
(
'create'
,
'acs_reference_create'
);
acs_privilege
.
add_child
(
'write'
,
'acs_reference_write'
);
acs_privilege
.
add_child
(
'read'
,
'acs_reference_read'
);
acs_privilege
.
add_child
(
'delete'
,
'acs_reference_delete'
);
end
;
/
show
errors
-- Create the basic object type used to represent a reference database
begin
acs_object_type
.
create_type
(
supertype
=>
'acs_object'
,
object_type
=>
'acs_reference_repository'
,
pretty_name
=>
'ACS Reference Repository'
,
pretty_plural
=>
'ACS Reference Repositories'
,
table_name
=>
'acs_reference_repositories'
,
id_column
=>
'repository_id'
,
name_method
=>
'acs_object.default_name'
);
end
;
/
show
errors
-- A table to store metadata for each reference database
create
table
acs_reference_repositories
(
repository_id
integer
constraint
arr_repository_id_fk
references
acs_objects
(
object_id
)
constraint
arr_repository_id_pk
primary
key
,
-- what is the table name we are monitoring
table_name
varchar2
(
100
)
constraint
arr_table_name_nn
not
null
constraint
arr_table_name_uq
unique
,
-- is this external or internal data
internal_data_p
char
(
1
)
constraint
arr_internal_data_p_ck
check
(
internal_data_p
in
(
't'
,
'f'
)),
-- Does this source include pl/sql package?
package_name
varchar2
(
100
)
constraint
arr_package_name_uq
unique
,
-- last updated
last_update
date
,
-- where is this data from
source
varchar2
(
1000
),
source_url
varchar2
(
255
),
-- should default to today
effective_date
date
default
sysdate
,
expiry_date
date
,
-- a text field to hold the maintainer
maintainer_id
integer
constraint
arr_maintainer_id_fk
references
persons
(
person_id
),
-- this could be ancillary docs, pdf's etc
notes
blob
);
-- API
create
or
replace
package
acs_reference
as
function
new
(
repository_id
in
acs_reference_repositories
.
repository_id
%
TYPE
default
null
,
table_name
in
acs_reference_repositories
.
table_name
%
TYPE
,
internal_data_p
in
acs_reference_repositories
.
internal_data_p
%
TYPE
default
'f'
,
package_name
in
acs_reference_repositories
.
package_name
%
TYPE
default
null
,
last_update
in
acs_reference_repositories
.
last_update
%
TYPE
default
sysdate
,
source
in
acs_reference_repositories
.
source
%
TYPE
default
null
,
source_url
in
acs_reference_repositories
.
source_url
%
TYPE
default
null
,
effective_date
in
acs_reference_repositories
.
effective_date
%
TYPE
default
sysdate
,
expiry_date
in
acs_reference_repositories
.
expiry_date
%
TYPE
default
null
,
notes
in
acs_reference_repositories
.
notes
%
TYPE
default
empty_blob
(),
creation_date
in
acs_objects
.
creation_date
%
TYPE
default
sysdate
,
creation_user
in
acs_objects
.
creation_user
%
TYPE
default
null
,
creation_ip
in
acs_objects
.
creation_ip
%
TYPE
default
null
,
object_type
in
acs_objects
.
object_type
%
TYPE
default
'acs_reference_repository'
,
first_names
in
persons
.
first_names
%
TYPE
default
null
,
last_name
in
persons
.
last_name
%
TYPE
default
null
)
return
acs_objects
.
object_id
%
TYPE
;
procedure
del
(
repository_id
in
acs_reference_repositories
.
repository_id
%
TYPE
);
function
is_expired_p
(
repository_id
integer
)
return
char
;
end
acs_reference
;
/
show
errors
create
or
replace
package
body
acs_reference
as
function
new
(
repository_id
in
acs_reference_repositories
.
repository_id
%
TYPE
default
null
,
table_name
in
acs_reference_repositories
.
table_name
%
TYPE
,
internal_data_p
in
acs_reference_repositories
.
internal_data_p
%
TYPE
default
'f'
,
package_name
in
acs_reference_repositories
.
package_name
%
TYPE
default
null
,
last_update
in
acs_reference_repositories
.
last_update
%
TYPE
default
sysdate
,
source
in
acs_reference_repositories
.
source
%
TYPE
default
null
,
source_url
in
acs_reference_repositories
.
source_url
%
TYPE
default
null
,
effective_date
in
acs_reference_repositories
.
effective_date
%
TYPE
default
sysdate
,
expiry_date
in
acs_reference_repositories
.
expiry_date
%
TYPE
default
null
,
notes
in
acs_reference_repositories
.
notes
%
TYPE
default
empty_blob
(),
creation_date
in
acs_objects
.
creation_date
%
TYPE
default
sysdate
,
creation_user
in
acs_objects
.
creation_user
%
TYPE
default
null
,
creation_ip
in
acs_objects
.
creation_ip
%
TYPE
default
null
,
object_type
in
acs_objects
.
object_type
%
TYPE
default
'acs_reference_repository'
,
first_names
in
persons
.
first_names
%
TYPE
default
null
,
last_name
in
persons
.
last_name
%
TYPE
default
null
)
return
acs_objects
.
object_id
%
TYPE
is
v_repository_id
acs_reference_repositories
.
repository_id
%
TYPE
;
v_maintainer_id
persons
.
person_id
%
TYPE
;
begin
v_repository_id
:
=
acs_object
.
new
(
object_id
=>
repository_id
,
creation_date
=>
creation_date
,
creation_user
=>
creation_user
,
creation_ip
=>
creation_ip
,
object_type
=>
object_type
);
if
first_names
is
not
null
and
last_name
is
not
null
then
v_maintainer_id
:
=
person
.
new
(
first_names
=>
first_names
,
last_name
=>
last_name
,
email
=>
null
);
else
v_maintainer_id
:
=
null
;
end
if
;
insert
into
acs_reference_repositories
(
repository_id
,
table_name
,
internal_data_p
,
last_update
,
package_name
,
source
,
source_url
,
effective_date
,
expiry_date
,
maintainer_id
,
notes
)
values
(
v_repository_id
,
table_name
,
internal_data_p
,
last_update
,
package_name
,
source
,
source_url
,
effective_date
,
expiry_date
,
v_maintainer_id
,
notes
);
return
v_repository_id
;
end
new
;
procedure
del
(
repository_id
in
acs_reference_repositories
.
repository_id
%
TYPE
)
is
v_maintainer_id
integer
;
begin
select
maintainer_id
into
v_maintainer_id
from
acs_reference_repositories
where
repository_id
=
acs_reference
.
del
.
repository_id
;
delete
from
acs_reference_repositories
where
repository_id
=
acs_reference
.
del
.
repository_id
;
acs_object
.
del
(
repository_id
);
person
.
del
(
v_maintainer_id
);
end
del
;
function
is_expired_p
(
repository_id
integer
)
return
char
is
v_expiry_date
date
;
begin
select
expiry_date
into
v_expiry_date
from
acs_reference_repositories
where
repository_id
=
is_expired_p
.
repository_id
;
if
nvl
(
v_expiry_date
,
sysdate
+
1
)
<
sysdate
then
return
't'
;
else
return
'f'
;
end
if
;
end
;
end
acs_reference
;
/
show
errors
sql/oracle/acs-reference-drop.sql
0 → 100644
View file @
4b204416
-- Drop the ACS Reference packages
--
-- @author jon@jongriffin.com
-- @cvs-id $Id$
set
serveroutput
on
-- drop all associated tables and packages
-- ordered by repository_id for dependencies.
declare
cursor
refsrc_cur
is
select
table_name
,
package_name
,
repository_id
from
acs_reference_repositories
order
by
repository_id
desc
;
begin
for
rec
in
refsrc_cur
loop
dbms_output
.
put_line
(
'Dropping '
||
rec
.
table_name
);
execute
immediate
'drop table '
||
rec
.
table_name
;
if
rec
.
package_name
is
not
null
then
execute
immediate
'drop package '
||
rec
.
package_name
;
end
if
;
acs_reference
.
del
(
rec
.
repository_id
);
end
loop
;
end
;
/
show
errors
-- drop privileges
begin
acs_privilege
.
remove_child
(
'create'
,
'acs_reference_create'
);
acs_privilege
.
remove_child
(
'write'
,
'acs_reference_write'
);
acs_privilege
.
remove_child
(
'read'
,
'acs_reference_read'
);
acs_privilege
.
remove_child
(
'delete'
,
'acs_reference_delete'
);
acs_privilege
.
drop_privilege
(
'acs_reference_create'
);
acs_privilege
.
drop_privilege
(
'acs_reference_write'
);
acs_privilege
.
drop_privilege
(
'acs_reference_read'
);
acs_privilege
.
drop_privilege
(
'acs_reference_delete'
);
end
;
/
show
errors
-- drop the object
begin
acs_object_type
.
drop_type
(
'acs_reference_repository'
,
't'
);
end
;
/
show
errors
drop
package
acs_reference
;
drop
table
acs_reference_repositories
;
sql/oracle/upgrade/upgrade-0.2d-0.3d.sql
0 → 100644
View file @
4b204416
--
-- packages/acs-reference/sql/acs-reference-create.sql
--
-- @author jon@arsdigita.com
-- @creation-date 2000-11-21
-- @cvs-id $Id$
create
or
replace
package
acs_reference
as
function
new
(
repository_id
in
acs_reference_repositories
.
repository_id
%
TYPE
default
null
,
table_name
in
acs_reference_repositories
.
table_name
%
TYPE
,
internal_data_p
in
acs_reference_repositories
.
internal_data_p
%
TYPE
default
'f'
,
package_name
in
acs_reference_repositories
.
package_name
%
TYPE
default
null
,
last_update
in
acs_reference_repositories
.
last_update
%
TYPE
default
sysdate
,
source
in
acs_reference_repositories
.
source
%
TYPE
default
null
,
source_url
in
acs_reference_repositories
.
source_url
%
TYPE
default
null
,
effective_date
in
acs_reference_repositories
.
effective_date
%
TYPE
default
sysdate
,
expiry_date
in
acs_reference_repositories
.
expiry_date
%
TYPE
default
null
,
notes
in
acs_reference_repositories
.
notes
%
TYPE
default
empty_blob
(),
creation_date
in
acs_objects
.
creation_date
%
TYPE
default
sysdate
,
creation_user
in
acs_objects
.
creation_user
%
TYPE
default
null
,
creation_ip
in
acs_objects
.
creation_ip
%
TYPE
default
null
,
object_type
in
acs_objects
.
object_type
%
TYPE
default
'acs_reference_repository'
,
first_names
in
persons
.
first_names
%
TYPE
default
null
,
last_name
in
persons
.
last_name
%
TYPE
default
null
)
return
acs_objects
.
object_id
%
TYPE
;
procedure
del
(
repository_id
in
acs_reference_repositories
.
repository_id
%
TYPE
);
function
is_expired_p
(
repository_id
integer
)
return
char
;
end
acs_reference
;
/
show
errors
create
or
replace
package
body
acs_reference
as
function
new
(
repository_id
in
acs_reference_repositories
.
repository_id
%
TYPE
default
null
,
table_name
in
acs_reference_repositories
.
table_name
%
TYPE
,
internal_data_p
in
acs_reference_repositories
.
internal_data_p
%
TYPE
default
'f'
,
package_name
in
acs_reference_repositories
.
package_name
%
TYPE
default
null
,
last_update
in
acs_reference_repositories
.
last_update
%
TYPE
default
sysdate
,
source
in
acs_reference_repositories
.
source
%
TYPE
default
null
,
source_url
in
acs_reference_repositories
.
source_url
%
TYPE
default
null
,
effective_date
in
acs_reference_repositories
.
effective_date
%
TYPE
default
sysdate
,
expiry_date
in
acs_reference_repositories
.
expiry_date
%
TYPE
default
null
,
notes
in
acs_reference_repositories
.
notes
%
TYPE
default
empty_blob
(),
creation_date
in
acs_objects
.
creation_date
%
TYPE
default
sysdate
,
creation_user
in
acs_objects
.
creation_user
%
TYPE
default
null
,
creation_ip
in
acs_objects
.
creation_ip
%
TYPE
default
null
,
object_type
in
acs_objects
.
object_type
%
TYPE
default
'acs_reference_repository'
,
first_names
in
persons
.
first_names
%
TYPE
default
null
,
last_name
in
persons
.
last_name
%
TYPE
default
null
)
return
acs_objects
.
object_id
%
TYPE
is
v_repository_id
acs_reference_repositories
.
repository_id
%
TYPE
;
v_maintainer_id
persons
.
person_id
%
TYPE
;
begin
v_repository_id
:
=
acs_object
.
new
(
object_id
=>
repository_id
,
creation_date
=>
creation_date
,
creation_user
=>
creation_user
,
creation_ip
=>
creation_ip
,
object_type
=>
object_type
);
if
first_names
is
not
null
and
last_name
is
not
null
then
v_maintainer_id
:
=
person
.
new
(
first_names
=>
first_names
,
last_name
=>
last_name
,
email
=>
null
);
else
v_maintainer_id
:
=
null
;
end
if
;
insert
into
acs_reference_repositories
(
repository_id
,
table_name
,
internal_data_p
,
last_update
,
package_name
,
source
,
source_url
,
effective_date
,
expiry_date
,
maintainer_id
,
notes
)
values
(
v_repository_id
,
table_name
,
internal_data_p
,
last_update
,
package_name
,
source
,
source_url
,
effective_date
,
expiry_date
,
v_maintainer_id
,
notes
);
return
v_repository_id
;
end
new
;
procedure
del
(
repository_id
in
acs_reference_repositories
.
repository_id
%
TYPE
)
is
v_maintainer_id
integer
;
begin
select
maintainer_id
into
v_maintainer_id
from
acs_reference_repositories
where
repository_id
=
acs_reference
.
del
.
repository_id
;
delete
from
acs_reference_repositories
where
repository_id
=
acs_reference
.
del
.
repository_id
;
acs_object
.
del
(
repository_id
);
person
.
del
(
v_maintainer_id
);
end
del
;
function
is_expired_p
(
repository_id
integer
)
return
char
is
v_expiry_date
date
;
begin
select
expiry_date
into
v_expiry_date
from
acs_reference_repositories
where
repository_id
=
is_expired_p
.
repository_id
;
if
nvl
(
v_expiry_date
,
sysdate
+
1
)
<
sysdate
then
return
't'
;
else
return
'f'
;
end
if
;
end
;
end
acs_reference
;
/
show
errors
sql/postgresql/acs-reference-create.sql
0 → 100644
View file @
4b204416
-- packages/acs-reference/sql/postgresql/acs-reference-create.sql
--
-- @author jon@jongriffin.com
-- @creation-date 2001-07-16
--
-- @cvs-id $Id$
-- setup the basic admin privileges
select
acs_privilege__create_privilege
(
'acs_reference_create'
);
select
acs_privilege__create_privilege
(
'acs_reference_write'
);
select
acs_privilege__create_privilege
(
'acs_reference_read'
);
select
acs_privilege__create_privilege
(
'acs_reference_delete'
);
select
acs_privilege__add_child
(
'create'
,
'acs_reference_create'
);
select
acs_privilege__add_child
(
'write'
,
'acs_reference_write'
);
select
acs_privilege__add_child
(
'read'
,
'acs_reference_read'
);
select
acs_privilege__add_child
(
'delete'
,
'acs_reference_delete'
);
-- Create the basic object type used to represent a reference database
select
acs_object_type__create_type
(
'acs_reference_repository'
,
'ACS Reference Repository'
,
'ACS Reference Repositories'
,
'acs_object'
,
'acs_reference_repositories'
,
'repository_id'
,
null
,
'f'
,
null
,
'acs_object__default_name'
);
-- A table to store metadata for each reference database
-- add functions to do exports and imports to selected tables.
create
table
acs_reference_repositories
(
repository_id
integer
constraint
arr_repository_id_fk
references
acs_objects
(
object_id
)
constraint
arr_repository_id_pk
primary
key
,
-- what is the table name we are monitoring
table_name
varchar
(
100
)
constraint
arr_table_name_nn
not
null
constraint
arr_table_name_uq
unique
,
-- is this external or internal data
internal_data_p
boolean
,
-- Does this source include pl/sql package?
package_name
varchar
(
100
)
constraint
arr_package_name_uq
unique
,
-- last updated
last_update
timestamptz
,
-- where is this data from
source
varchar
(
1000
),
source_url
varchar
(
255
),
-- should default to today
effective_date
timestamptz
,
-- default sysdate
expiry_date
timestamptz
,
-- a text field to hold the maintainer
maintainer_id
integer
constraint
arr_maintainer_id_fk
references
persons
(
person_id
),
-- this could be ancillary docs, pdf's etc
-- needs to be fixed for PG
-- DRB: needs to use Content Repository for both PG and Oracle, no???
lob
integer
);
-- API
-- default for Oracle
create
function
acs_reference__new
(
integer
,
varchar
,
boolean
,
varchar
,
timestamptz
,
varchar
,
varchar
,
timestamptz
,
timestamptz
,
integer
,
integer
,
varchar
,
varchar
,
varchar
,
varchar
,
integer
)
returns
integer
as
'
declare
p_repository_id alias for $1; -- default null
p_table_name alias for $2; --
p_internal_data_p alias for $3; -- default "f"
p_package_name alias for $4; -- default null
p_last_update alias for $5; -- default sysdate
p_source alias for $6; -- default null
p_source_url alias for $7; -- default null
p_effective_date alias for $8; -- default sysdate
p_expiry_date alias for $9; -- default null
p_maintainer_id alias for $10; -- default null
p_notes alias for $11; -- default null (not Oracle empty_blob())
-- I really see no need for these as parameters
-- creation_date alias for $12; -- default sysdate
p_first_names alias for $12; -- default null
p_last_name alias for $13; -- default null
p_creation_ip alias for $14; -- default null
p_object_type alias for $15; -- default "acs_reference_repository"
p_creation_user alias for $16; -- default null
v_repository_id acs_reference_repositories.repository_id%TYPE;
v_object_type acs_objects.object_type%TYPE;
v_maintainer_id persons.person_id%TYPE;
begin
if p_object_type is null then
v_object_type :=
''
acs_reference_repository
''
;
else
v_object_type := p_object_type;
end if;
v_repository_id := acs_object__new (
p_repository_id,
v_object_type,
now(),
p_creation_user,
p_creation_ip,
null
);
-- This logic is not correct as the maintainer could already exist
-- The way around this is a little clunky as you can search persons
-- then pick an existing person or add a new one, to many screens!
-- I really doubt the need for person anyway.
--
-- It probably needs to just be a UI function and pass
-- in the value for maintainer.
--
-- IN OTHER WORDS
-- Guaranteed to probably break in the future if you depend on
-- first_names and last_name to still exist as a param
-- This needs to be updated in the Oracle version also
-- NEEDS TO BE FIXED - jag
if p_first_names is not null and p_last_name is not null and p_maintainer_id is null then
v_maintainer_id := person__new (null,
''
person
''
, now(), null, null, null, null,
p_first_names, p_last_name, null);
else if p_maintainer_id is not null then
v_maintainer_id := p_maintainer_id;
else
v_maintainer_id := null;
end if;
end if;
insert into acs_reference_repositories
(repository_id,table_name,internal_data_p,
last_update,package_name,source,
source_url,effective_date,expiry_date,
maintainer_id,lob)
values
(v_repository_id, p_table_name, p_internal_data_p,
p_last_update, p_package_name, p_source, p_source_url,
p_effective_date, p_expiry_date, v_maintainer_id, p_notes);
return v_repository_id;
end;
'
language
'plpgsql'
;
-- made initially for PG
create
function
acs_reference__new
(
varchar
,
timestamptz
,
varchar
,
varchar
,
timestamptz
)
returns
integer
as
'
declare
p_table_name alias for $1; --
p_last_update alias for $2; -- default sysdate
p_source alias for $3; -- default null
p_source_url alias for $4; -- default null
p_effective_date alias for $5; -- default sysdate
v_repository_id acs_reference_repositories.repository_id%TYPE;
begin
return acs_reference__new(null, p_table_name,
''
f
''
, null, null, p_source, p_source_url,
p_effective_date, null, null, null, null, null, null,
''
acs_reference_repository
''
, null);
end;
'
language
'plpgsql'
;
create
function
acs_reference__delete
(
integer
)
returns
integer
as
'
declare
p_repository_id alias for $1;
v_maintainer_id acs_objects.object_id%TYPE;
begin
select maintainer_id into v_maintainer_id
from acs_reference_repositories
where repository_id = p_repository_id;
delete from acs_reference_repositories
where repository_id = p_repository_id;
perform acs_object__delete(p_repository_id);
return 0;
end;
'
language
'plpgsql'
;
create
function
acs_reference__is_expired_p
(
integer
)
returns
char
as
'
declare
repository_id alias for $1;
begin
select expiry_date into v_expiry_date
from acs_reference_repositories
where repository_id = is_expired_p.repository_id;
if coalesce(v_expiry_date,now()+1) < now() then
return
''
t
''
;
else
return
''
f
''
;
end if;
end;
'
language
'plpgsql'
;
sql/postgresql/acs-reference-drop.sql
0 → 100644
View file @
4b204416
-- packages/acs-reference/sql/postgresql/acs-reference-data.sql
--
-- Drop the ACS Reference packages
--
-- @author jon@jongriffin.com
-- @dropd 2001-07-16
--
-- @cvs-id $Id$
--
-- drop all associated tables and functions
-- DRB: in PG we could do this dynamically as JonG has done in Oracle. The
-- proc name can easily be picked up from pg_proc since we use unique package
-- keys as prefaces. The params can be picked up as well but I don't know
-- how off the top of my head. It would be a nice to write a general function
-- to do this in both Oracle and PG - "drop_package_functions(package_key)".
select
acs_privilege__remove_child
(
'create'
,
'acs_reference_create'
);
select
acs_privilege__remove_child
(
'write'
,
'acs_reference_write'
);
select
acs_privilege__remove_child
(
'read'
,
'acs_reference_read'
);
select
acs_privilege__remove_child
(
'delete'
,
'acs_reference_delete'
);
select
acs_privilege__drop_privilege
(
'acs_reference_create'
);
select
acs_privilege__drop_privilege
(
'acs_reference_write'
);
select
acs_privilege__drop_privilege
(
'acs_reference_read'
);
select
acs_privilege__drop_privilege
(
'acs_reference_delete'
);
select
acs_object__delete
(
repository_id
)
from
acs_reference_repositories
;
select
acs_object_type__drop_type
(
'acs_reference_repository'
,
't'
);
drop
function
acs_reference__new
(
varchar
,
timestamptz
,
varchar
,
varchar
,
timestamptz
);
drop
function
acs_reference__new
(
integer
,
varchar
,
boolean
,
varchar
,
timestamptz
,
varchar
,
varchar
,
timestamptz
,
timestamptz
,
integer
,
integer
,
varchar
,
varchar
,
integer
,
varchar
,
integer
);
drop
function
acs_reference__delete
(
integer
);
drop
function
acs_reference__is_expired_p
(
integer
);
drop
table
acs_reference_repositories
;
tcl/acs-reference-procs.tcl
0 → 100644
View file @
4b204416
ad_library
{
Utility procs for working with data in acs-reference
@author Jon Griffin <jon@jongriffin.com>
@creation-date 2001-08-28
@cvs-id $Id$
}
ad_proc -private acs_reference_get_db_structure
{
{
-table_name:required
}
}
{
Query the DB to get the data structure. Utility function.
}
{
}
www/doc/design.html