]> git.sur5r.net Git - openldap/commitdiff
remove all referral specific code; now referrals can be used by defining appropriate...
authorPierangelo Masarati <ando@openldap.org>
Wed, 19 Jan 2005 00:09:07 +0000 (00:09 +0000)
committerPierangelo Masarati <ando@openldap.org>
Wed, 19 Jan 2005 00:09:07 +0000 (00:09 +0000)
servers/slapd/back-sql/rdbms_depend/ibmdb2/backsql_create.sql
servers/slapd/back-sql/rdbms_depend/ibmdb2/testdb_create.sql
servers/slapd/back-sql/rdbms_depend/ibmdb2/testdb_data.sql
servers/slapd/back-sql/rdbms_depend/ibmdb2/testdb_metadata.sql

index c82e75002e2cbc614a0b52b1d1a6519a8515e39e..cb2856bbc763ff07c308017c281c447667342c3b 100644 (file)
@@ -50,13 +50,6 @@ alter table ldap_entries add
                dn
        );  
 
-drop table ldap_referrals;
-create table ldap_referrals
- (
-       entry_id integer not null references ldap_entries(id),
-       url varchar(256) not null
-);
-
 drop table ldap_entry_objclasses;
 create table ldap_entry_objclasses
  (
index 4cd7330c1e6c3785cadbaedf5c1c08ef27205726..b6e850c80aa996fdd794ed520b93cba1a2c47f36 100644 (file)
@@ -32,6 +32,13 @@ CREATE TABLE phones (
        pers_id int NOT NULL 
 );
 
+drop table referrals;
+CREATE TABLE referrals (
+       id int NOT NULL,
+       name varchar(255) NOT NULL,
+       url varchar(255) NOT NULL
+);
+
 
 
 ALTER TABLE authors_docs  ADD 
index 79f07d3078ceb7331f7f8a9bd14ccc2d9da79164..c204ecd8ce78958c5b9802313fd529abb05d3cb6 100644 (file)
@@ -14,3 +14,5 @@ insert into documents (id,abstract,title) values (2,'abstract2','book2');
 insert into authors_docs (pers_id,doc_id) values (1,1);
 insert into authors_docs (pers_id,doc_id) values (1,2);
 insert into authors_docs (pers_id,doc_id) values (2,1);
+
+insert into referrals (id,name,url) values (1,'Referral','ldap://localhost:9010/');
index 0158c894c2e8d6dc469c6cb87da2af08a92b3bb5..0b0d1c2e8fe7a3460853046e8b358e788017e25b 100644 (file)
@@ -21,6 +21,10 @@ insert into ldap_oc_mappings (id,name,keytbl,keycol,create_proc,create_keyval,de
 values (3,'organization','institutes','id','INSERT INTO institutes (id,name) VALUES ((SELECT max(id)+1 FROM institutes),'''')',
        'SELECT max(id) FROM institutes','DELETE FROM institutes WHERE id=?',0);
 
+insert into ldap_oc_mappings (id,name,keytbl,keycol,create_proc,create_keyval,delete_proc,expect_return)
+values (4,'referral','referrals','id','INSERT INTO referrals (id,name,url) VALUES ((SELECT max(id)+1 FROM referrals),'''','''')',
+       'SELECT max(id) FROM referrals','DELETE FROM referrals WHERE id=?',0);
+
 -- attributeType mappings: describe how an attributeType for a certain objectClass maps to the SQL data.
 --      id              a unique number identifying the attribute       
 --      oc_map_id       the value of "ldap_oc_mappings.id" that identifies the objectClass this attributeType is defined for
@@ -78,39 +82,42 @@ values (12,3,'dc','lcase(institutes.name)','institutes,ldap_entries AS dcObject,
        'institutes.id=dcObject.keyval AND dcObject.oc_map_id=3 AND dcObject.id=auxObjectClass.entry_id AND auxObjectClass.oc_name=''dcObject''',
        NULL,NULL,3,0);
 
+insert into ldap_attr_mappings (id,oc_map_id,name,sel_expr,from_tbls,join_where,add_proc,delete_proc,param_order,expect_return)
+values (13,4,'ou','referrals.name','referrals',NULL,'UPDATE referrals SET name=? WHERE id=?',NULL,3,0);
+
+insert into ldap_attr_mappings (id,oc_map_id,name,sel_expr,from_tbls,join_where,add_proc,delete_proc,param_order,expect_return)
+values (14,4,'ref','referrals.url','referrals',NULL,'UPDATE referrals SET url=? WHERE id=?',NULL,3,0);
+
 -- entries mapping: each entry must appear in this table, with a unique DN rooted at the database naming context
 --      id              a unique number > 0 identifying the entry
 --      dn              the DN of the entry, in "pretty" form
 --      oc_map_id       the "ldap_oc_mappings.id" of the main objectClass of this entry (view it as the structuralObjectClass)
 --      parent          the "ldap_entries.id" of the parent of this objectClass; 0 if it is the "suffix" of the database
 --      keyval          the value of the "keytbl.keycol" defined for this objectClass
-insert into ldap_entries (id,dn,oc_map_id,parent,keyval) values
-(1,'dc=example,dc=com',3,0,1);
+insert into ldap_entries (id,dn,oc_map_id,parent,keyval)
+values (1,'dc=example,dc=com',3,0,1);
+
+insert into ldap_entries (id,dn,oc_map_id,parent,keyval)
+values (2,'cn=Mitya Kovalev,dc=example,dc=com',1,1,1);
 
-insert into ldap_entries (id,dn,oc_map_id,parent,keyval) values
-(2,'cn=Mitya Kovalev,dc=example,dc=com',1,1,1);
+insert into ldap_entries (id,dn,oc_map_id,parent,keyval)
+values (3,'cn=Torvlobnor Puzdoy,dc=example,dc=com',1,1,2);
 
-insert into ldap_entries (id,dn,oc_map_id,parent,keyval) values
-(3,'cn=Torvlobnor Puzdoy,dc=example,dc=com',1,1,2);
+insert into ldap_entries (id,dn,oc_map_id,parent,keyval)
+values (4,'cn=Akakiy Zinberstein,dc=example,dc=com',1,1,3);
 
-insert into ldap_entries (id,dn,oc_map_id,parent,keyval) values
-(4,'cn=Akakiy Zinberstein,dc=example,dc=com',1,1,3);
+insert into ldap_entries (id,dn,oc_map_id,parent,keyval)
+values (5,'documentTitle=book1,dc=example,dc=com',2,1,1);
 
-insert into ldap_entries (id,dn,oc_map_id,parent,keyval) values
-(5,'documentTitle=book1,dc=example,dc=com',2,1,1);
+insert into ldap_entries (id,dn,oc_map_id,parent,keyval)
+values (6,'documentTitle=book2,dc=example,dc=com',2,1,2);
 
-insert into ldap_entries (id,dn,oc_map_id,parent,keyval) values
-(6,'documentTitle=book2,dc=example,dc=com',2,1,2);
+insert into ldap_entries (id,dn,oc_map_id,parent,keyval)
+values (7,'ou=Referral,dc=example,dc=com',4,1,1);
 
 -- objectClass mapping: entries that have multiple objectClass instances are listed here with the objectClass name (view them as auxiliary objectClass)
 --      entry_id        the "ldap_entries.id" of the entry this objectClass value must be added
 --      oc_name         the name of the objectClass; it MUST match the name of an objectClass that is loaded in slapd's schema
 insert into ldap_entry_objclasses (entry_id,oc_name) values (1,'dcObject');
 
-insert into ldap_entry_objclasses (entry_id,oc_name) values (4,'referral');
-
--- referrals mapping: entries that should be treated as referrals are stored here
---      entry_id        the "ldap_entries.id" of the entry that should be treated as a referral
---      url             the URI of the referral
-insert into ldap_referrals (entry_id,url) values (4,'ldap://localhost:9010/');
-
+insert into ldap_entry_objclasses (entry_id,oc_name) values (7,'extensibleObject');