summaryrefslogtreecommitdiffstats
path: root/raddb/mods-config/sql/dhcp/oracle/schema.sql
blob: 085e3463745b000fe9feca0466c591dfa5c1fb59 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
/*
 * $Id$
 *
 * Oracle schema for DHCP for FreeRADIUS
 *
 */

/*
 * Table structure for table 'dhcpgroupreply'
 */
CREATE TABLE dhcpgroupreply (
	id		INT PRIMARY KEY,
	groupname	VARCHAR(64) NOT NULL,
	attribute	VARCHAR(64) NOT NULL,
	op		CHAR(2) NOT NULL,
	value		VARCHAR(253) NOT NULL,
	context		VARCHAR(16) NOT NULL
);
CREATE INDEX dhcpgroupreply_idx1 ON dhcpgroupreply(context,groupname);
CREATE SEQUENCE dhcpgroupreply_seq START WITH 1 INCREMENT BY 1;

/* Trigger to emulate a serial # on the primary key */
CREATE OR REPLACE TRIGGER dhcpgroupreply_serialnumber
	BEFORE INSERT OR UPDATE OF id ON dhcpgroupreply
	FOR EACH ROW
	BEGIN
		if ( :new.id = 0 or :new.id is null ) then
			SELECT dhcpgroupreply_seq.nextval into :new.id from dual;
		end if;
	END;
/

/*
 * Table structure for table 'dhcpreply'
 */
CREATE TABLE dhcpreply (
	id		INT PRIMARY KEY,
	identifier	VARCHAR(253) NOT NULL,
	attribute	VARCHAR(64) NOT NULL,
	op		CHAR(2) NOT NULL,
	value		VARCHAR(253) NOT NULL,
	context		VARCHAR(16) NOT NULL
);
CREATE INDEX dhcpreply_idx1 ON dhcpreply(context,identifier);
CREATE SEQUENCE dhcpreply_seq START WITH 1 INCREMENT BY 1;

/* Trigger to emulate a serial # on the primary key */
CREATE OR REPLACE TRIGGER dhcpreply_serialnumber
	BEFORE INSERT OR UPDATE OF id ON dhcpreply
	FOR EACH ROW
	BEGIN
		if ( :new.id = 0 or :new.id is null ) then
			SELECT dhcpreply_seq.nextval into :new.id from dual;
		end if;
	END;
/

/*
 * Table structure for table 'dhcpgroup'
 */
CREATE TABLE dhcpgroup (
	id		INT PRIMARY KEY,
	identifier	VARCHAR(253) NOT NULL,
	groupname	VARCHAR(64) NOT NULL,
	priority	INT NOT NULL,
	context		VARCHAR(16) NOT NULL
);
CREATE INDEX dhcpgroup_idx1 ON dhcpgroup(context,identifier);
CREATE SEQUENCE dhcpgroup_seq START WITH 1 INCREMENT BY 1;

/* Trigger to emulate a serial # on the primary key */
CREATE OR REPLACE TRIGGER dhcpgroup_serialnumber
	BEFORE INSERT OR UPDATE OF id ON dhcpgroup
	FOR EACH ROW
	BEGIN
		if ( :new.id = 0 or :new.id is null ) then
			SELECT dhcpgroup_seq.nextval into :new.id from dual;
		end if;
	END;
/