~ubuntu-branches/ubuntu/natty/freeradius/natty-updates

« back to all changes in this revision

Viewing changes to doc/examples/oracle.sql

  • Committer: Bazaar Package Importer
  • Author(s): Jeremie Corbier
  • Date: 2006-07-08 19:41:05 UTC
  • mto: (3.1.8 edgy) (4.1.3 sid) (1.1.14 upstream)
  • mto: This revision was merged to the branch mainline in revision 4.
  • Revision ID: james.westby@ubuntu.com-20060708194105-bxbr4e6m4dfw2x4x
Tags: upstream-1.1.2
ImportĀ upstreamĀ versionĀ 1.1.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * $Id: oracle.sql,v 1.1.2.1 2006/04/11 13:14:41 pnixon Exp $
 
3
 *
 
4
 * Oracle schema for FreeRADIUS
 
5
 *
 
6
 *
 
7
 * NOTE: Which columns are NULLable??
 
8
 */
 
9
 
 
10
/*
 
11
 * Table structure for table 'dictionary'
 
12
 */
 
13
CREATE TABLE dictionary (
 
14
        id              INT PRIMARY KEY,
 
15
        type            VARCHAR(30),
 
16
        attribute       VARCHAR(32),
 
17
        value           VARCHAR(32),
 
18
        format          VARCHAR(20),
 
19
        vendor          VARCHAR(32)
 
20
);
 
21
CREATE SEQUENCE dictionary_seq START WITH 1 INCREMENT BY 1;
 
22
 
 
23
/*
 
24
 * Table structure for table 'nas'
 
25
 */
 
26
 
 
27
CREATE TABLE nas (
 
28
        id              INT PRIMARY KEY,
 
29
        nasname         VARCHAR(128),
 
30
        shortname       VARCHAR(32),
 
31
        type            VARCHAR(30),
 
32
        ports           INT,
 
33
        secret          VARCHAR(60),
 
34
        community       VARCHAR(50),
 
35
        description     VARCHAR(200)
 
36
);
 
37
CREATE SEQUENCE nas_seq START WITH 1 INCREMENT BY 1;
 
38
 
 
39
/*
 
40
 * Table structure for table 'radacct'
 
41
 */
 
42
CREATE TABLE radacct (
 
43
        radacctid               INT PRIMARY KEY,
 
44
        acctsessionid           VARCHAR(32) NOT NULL,
 
45
        acctuniqueid            VARCHAR(32),
 
46
        username                VARCHAR(32) NOT NULL,
 
47
        realm                   VARCHAR(30),
 
48
        nasipaddress            VARCHAR(15) NOT NULL,
 
49
        nasportid               VARCHAR(15),
 
50
        nasporttype             VARCHAR(32),
 
51
        acctstarttime           TIMESTAMP WITH TIME ZONE,
 
52
        acctstoptime            TIMESTAMP WITH TIME ZONE,
 
53
        acctsessiontime         NUMERIC(12),
 
54
        acctauthentic           VARCHAR(32),
 
55
        connectinfo_start       VARCHAR(50),
 
56
        connectinfo_stop        VARCHAR(50),
 
57
        acctinputoctets         NUMERIC(12),
 
58
        acctoutputoctets        NUMERIC(12),
 
59
        calledstationid         VARCHAR(50),
 
60
        callingstationid        VARCHAR(50),
 
61
        acctterminatecause      VARCHAR(32),
 
62
        servicetype             VARCHAR(32),
 
63
        framedprotocol          VARCHAR(32),
 
64
        framedipaddress         VARCHAR(15),
 
65
        acctstartdelay          NUMERIC(12),
 
66
        acctstopdelay           NUMERIC(12)
 
67
);
 
68
CREATE UNIQUE INDEX radacct_idx1
 
69
       ON radacct(acctsessionid,username,acctstarttime,
 
70
                acctstoptime,nasipaddress,framedipaddress);
 
71
 
 
72
CREATE SEQUENCE radacct_seq START WITH 1 INCREMENT BY 1;
 
73
 
 
74
/* Trigger to emulate a serial # on the primary key */
 
75
CREATE OR REPLACE TRIGGER radacct_serialnumber
 
76
        BEFORE INSERT OR UPDATE OF radacctid ON radacct
 
77
        FOR EACH ROW
 
78
        BEGIN
 
79
                if ( :new.radacctid = 0 or :new.radacctid is null ) then
 
80
                        SELECT radacct_seq.nextval into :new.radacctid from dual;
 
81
                end if;
 
82
        END;
 
83
/
 
84
 
 
85
/*
 
86
 * Table structure for table 'radcheck'
 
87
 */
 
88
CREATE TABLE radcheck (
 
89
        id              INT PRIMARY KEY,
 
90
        username        VARCHAR(30) NOT NULL,
 
91
        attribute       VARCHAR(30),
 
92
        op              VARCHAR(2) NOT NULL,
 
93
        value           VARCHAR(40)
 
94
);
 
95
CREATE SEQUENCE radcheck_seq START WITH 1 INCREMENT BY 1;
 
96
 
 
97
/* Trigger to emulate a serial # on the primary key */
 
98
CREATE OR REPLACE TRIGGER radcheck_serialnumber
 
99
        BEFORE INSERT OR UPDATE OF id ON radcheck
 
100
        FOR EACH ROW
 
101
        BEGIN
 
102
                if ( :new.id = 0 or :new.id is null ) then
 
103
                        SELECT radcheck_seq.nextval into :new.id from dual;
 
104
                end if;
 
105
        END;
 
106
/
 
107
 
 
108
/*
 
109
 * Table structure for table 'radgroupcheck'
 
110
 */
 
111
CREATE TABLE radgroupcheck (
 
112
        id              INT PRIMARY KEY,
 
113
        groupname       VARCHAR(20) UNIQUE NOT NULL,
 
114
        attribute       VARCHAR(40),
 
115
        op              VARCHAR(2) NOT NULL,
 
116
        value           VARCHAR(40)
 
117
);
 
118
CREATE SEQUENCE radgroupcheck_seq START WITH 1 INCREMENT BY 1;
 
119
 
 
120
/*
 
121
 * Table structure for table 'radgroupreply'
 
122
 */
 
123
CREATE TABLE radgroupreply (
 
124
        id              INT PRIMARY KEY,
 
125
        GroupName       VARCHAR(20) UNIQUE NOT NULL,
 
126
        Attribute       VARCHAR(40),
 
127
        op              VARCHAR(2) NOT NULL,
 
128
        Value           VARCHAR(40)
 
129
);
 
130
CREATE SEQUENCE radgroupreply_seq START WITH 1 INCREMENT BY 1;
 
131
 
 
132
/*
 
133
 * Table structure for table 'radreply'
 
134
 */
 
135
CREATE TABLE radreply (
 
136
        id              INT PRIMARY KEY,
 
137
        UserName        VARCHAR(30) NOT NULL,
 
138
        Attribute       VARCHAR(30),
 
139
        op              VARCHAR(2) NOT NULL,
 
140
        Value           VARCHAR(40)
 
141
);
 
142
CREATE INDEX radreply_idx1 ON radreply(UserName);
 
143
CREATE SEQUENCE radreply_seq START WITH 1 INCREMENT BY 1;
 
144
 
 
145
/* Trigger to emulate a serial # on the primary key */
 
146
CREATE OR REPLACE TRIGGER radreply_serialnumber
 
147
        BEFORE INSERT OR UPDATE OF id ON radreply
 
148
        FOR EACH ROW
 
149
        BEGIN
 
150
                if ( :new.id = 0 or :new.id is null ) then
 
151
                        SELECT radreply_seq.nextval into :new.id from dual;
 
152
                end if;
 
153
        END;
 
154
/
 
155
 
 
156
/*
 
157
 * Table structure for table 'usergroup'
 
158
 */
 
159
CREATE TABLE usergroup (
 
160
        id              INT PRIMARY KEY,
 
161
        UserName        VARCHAR(30) UNIQUE NOT NULL,
 
162
        GroupName       VARCHAR(30)
 
163
);
 
164
CREATE SEQUENCE usergroup_seq START WITH 1 INCREMENT BY 1;
 
165
 
 
166
/* Trigger to emulate a serial # on the primary key */
 
167
CREATE OR REPLACE TRIGGER usergroup_serialnumber
 
168
        BEFORE INSERT OR UPDATE OF id ON usergroup
 
169
        FOR EACH ROW
 
170
        BEGIN
 
171
                if ( :new.id = 0 or :new.id is null ) then
 
172
                        SELECT usergroup_seq.nextval into :new.id from dual;
 
173
                end if;
 
174
        END;
 
175
/
 
176
 
 
177
 
 
178
/*
 
179
 * Table structure for table 'realmgroup'
 
180
 */
 
181
CREATE TABLE realmgroup (
 
182
        id              INT PRIMARY KEY,
 
183
        RealmName       VARCHAR(30) UNIQUE NOT NULL,
 
184
        GroupName       VARCHAR(30)
 
185
);
 
186
CREATE SEQUENCE realmgroup_seq START WITH 1 INCREMENT BY 1;
 
187
 
 
188
CREATE TABLE realms (
 
189
        id              INT PRIMARY KEY,
 
190
        realmname       VARCHAR(64),
 
191
        nas             VARCHAR(128),
 
192
        authport        INT,
 
193
        options         VARCHAR(128)
 
194
);
 
195
CREATE SEQUENCE realms_seq START WITH 1 INCREMENT BY 1;