From: Pierangelo Masarati Date: Sat, 21 Aug 2004 09:48:49 +0000 (+0000) Subject: blind update of IBM db2 example data X-Git-Tag: OPENLDAP_REL_ENG_2_3_0ALPHA~672 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=19ea555ca345980a55ddbf4cfe0d5811506be172;p=openldap blind update of IBM db2 example data --- diff --git a/servers/slapd/back-sql/rdbms_depend/README b/servers/slapd/back-sql/rdbms_depend/README index c2aeb4d124..ca4dfd1b7f 100644 --- a/servers/slapd/back-sql/rdbms_depend/README +++ b/servers/slapd/back-sql/rdbms_depend/README @@ -84,6 +84,8 @@ Description = ODBC for MySQL Driver = /usr/lib/libmyodbc.so FileUsage = 1 +2.3) IBM db2 + 3) The RDBMS must be setup; examples are provided for my installations of PostgreSQL and MySQL, but details may change; other RDBMSes should be configured in a similar manner, you need to find out the details by @@ -148,10 +150,34 @@ mysql> exit; [root@localhost]# cd $SOURCES/tests [root@localhost]# SLAPD_USE_SQL=mysql ./run test031 +3.3) IBM db2 + +3.3.1) Start the server: + +3.3.2) Create the database: + +3.3.3) Create the user: + +3.3.4) Populate the database: +connect to the database as user manager, and execute the test files +in auto-commit mode (-c) +[root@localhost]# su - manager +[manager@localhost]$ db2 "connect to example user manager using secret" +[manager@localhost]$ db2 -ctvf backsql_create.sql +[manager@localhost]$ db2 -ctvf testdb_create.sql +[manager@localhost]$ db2 -ctvf testdb_data.sql +[manager@localhost]$ db2 -ctvf testdb_metadata.sql +[manager@localhost]$ db2 "connect reset" + +3.3.5) Run the test: +[root@localhost]# cd $SOURCES/tests +[root@localhost]# SLAPD_USE_SQL=ibmdb2 ./run test031 + 4) Cleanup: The basic portion of the test is readonly; this is performed by all RDBMSes. The secondary part involves write operations. Currently, the write -portion of the test is enabled only for PostgreSQL. Note that after -a successful run of the write portion, the database is no longer in the -correct state to restart the test, and step 3.X.4 needs to be re-run first. +portion of the test is enabled only for PostgreSQL and IBM db2. +Note that after a successful run of the write portion, the database is +no longer in the correct state to restart the test, and step 3.X.4 needs +to be re-run first. diff --git a/servers/slapd/back-sql/rdbms_depend/ibmdb2/testdb_create.sql b/servers/slapd/back-sql/rdbms_depend/ibmdb2/testdb_create.sql index 137d91f326..4cd7330c1e 100644 --- a/servers/slapd/back-sql/rdbms_depend/ibmdb2/testdb_create.sql +++ b/servers/slapd/back-sql/rdbms_depend/ibmdb2/testdb_create.sql @@ -2,7 +2,8 @@ drop table persons; CREATE TABLE persons ( id int NOT NULL, name varchar(255) NOT NULL, - surname varchar(255) NOT NULL + surname varchar(255) NOT NULL, + password varchar(64) ); drop table institutes; diff --git a/servers/slapd/back-sql/rdbms_depend/ibmdb2/testdb_data.sql b/servers/slapd/back-sql/rdbms_depend/ibmdb2/testdb_data.sql index 623d81990d..79f07d3078 100644 --- a/servers/slapd/back-sql/rdbms_depend/ibmdb2/testdb_data.sql +++ b/servers/slapd/back-sql/rdbms_depend/ibmdb2/testdb_data.sql @@ -1,6 +1,6 @@ -insert into institutes (id,name) values (1,'sql'); +insert into institutes (id,name) values (1,'Example'); -insert into persons (id,name,surname) values (1,'Mitya','Kovalev'); +insert into persons (id,name,surname,password) values (1,'Mitya','Kovalev','mit'); insert into persons (id,name,surname) values (2,'Torvlobnor','Puzdoy'); insert into persons (id,name,surname) values (3,'Akakiy','Zinberstein'); diff --git a/servers/slapd/back-sql/rdbms_depend/ibmdb2/testdb_metadata.sql b/servers/slapd/back-sql/rdbms_depend/ibmdb2/testdb_metadata.sql index e538f19e7d..75553b013c 100644 --- a/servers/slapd/back-sql/rdbms_depend/ibmdb2/testdb_metadata.sql +++ b/servers/slapd/back-sql/rdbms_depend/ibmdb2/testdb_metadata.sql @@ -21,13 +21,16 @@ insert into ldap_attr_mappings (id,oc_map_id,name,sel_expr,from_tbls,join_where, values (3,1,'sn','persons.surname','persons',NULL,'update persons set surname=? 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 (6,1,'givenName','persons.name','persons',NULL,'update persons set name=? where id=?',NULL,3,0); +values (4,1,'givenName','persons.name','persons',NULL,'update persons 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 (4,2,'description','documents.abstract','documents',NULL,NULL,NULL,3,0); +values (5,1,'userPassword','persons.password','persons',NULL,'update persons set password=? 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 (5,2,'documentTitle','documents.title','documents',NULL,NULL,NULL,3,0); +values (6,2,'description','documents.abstract','documents',NULL,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 (7,2,'documentTitle','documents.title','documents',NULL,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 (6,2,'documentAuthor','persons.name','persons,documents,authors_docs', @@ -35,37 +38,37 @@ values (5,2,'documentTitle','documents.title','documents',NULL,NULL,NULL,3,0); -- 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 (7,3,'o','institutes.name','institutes',NULL,NULL,NULL,3,0); +values (8,3,'o','institutes.name','institutes',NULL,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 (8,1,'documentAuthor','ldap_entries.dn','ldap_entries,documents,authors_docs,persons', +values (9,1,'documentAuthor','ldap_entries.dn','ldap_entries,documents,authors_docs,persons', 'ldap_entries.keyval=documents.id AND ldap_entries.oc_map_id=2 AND authors_docs.doc_id=documents.id AND authors_docs.pers_id=persons.id', 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 (9,2,'documentAuthor','ldap_entries.dn','ldap_entries,documents,authors_docs,persons', - 'ldap_entries.keyval=persons.id AND ldap_entries.oc_map_id=1 AND authors_docs.doc_id=documents.id AND authors_docs.pers_id=persons.id', +values (10,2,'documentAuthor','documentAuthor.dn','ldap_entries AS documentAuthor,documents,authors_docs,persons', + 'documentAuthor.keyval=persons.id AND documentAuthor.oc_map_id=1 AND authors_docs.doc_id=documents.id AND authors_docs.pers_id=persons.id', NULL,NULL,3,0); -- entries insert into ldap_entries (id,dn,oc_map_id,parent,keyval) -values (1,'o=sql,c=RU',3,0,1); +values (1,'o=Example,c=RU',3,0,1); insert into ldap_entries (id,dn,oc_map_id,parent,keyval) -values (2,'cn=Mitya Kovalev,o=sql,c=RU',1,1,1); +values (2,'cn=Mitya Kovalev,o=Example,c=RU',1,1,1); insert into ldap_entries (id,dn,oc_map_id,parent,keyval) -values (3,'cn=Torvlobnor Puzdoy,o=sql,c=RU',1,1,2); +values (3,'cn=Torvlobnor Puzdoy,o=Example,c=RU',1,1,2); insert into ldap_entries (id,dn,oc_map_id,parent,keyval) -values (4,'cn=Akakiy Zinberstein,o=sql,c=RU',1,1,3); +values (4,'cn=Akakiy Zinberstein,o=Example,c=RU',1,1,3); insert into ldap_entries (id,dn,oc_map_id,parent,keyval) -values (5,'documentTitle=book1,o=sql,c=RU',2,1,1); +values (5,'documentTitle=book1,o=Example,c=RU',2,1,1); insert into ldap_entries (id,dn,oc_map_id,parent,keyval) -values (6,'documentTitle=book2,o=sql,c=RU',2,1,2); +values (6,'documentTitle=book2,o=Example,c=RU',2,1,2); -- referrals @@ -73,5 +76,9 @@ values (6,'documentTitle=book2,o=sql,c=RU',2,1,2); insert into ldap_entry_objclasses (entry_id,oc_name) values (4,'referral'); +insert into ldap_entry_objclasses (entry_id,oc_name) +values (2,'posixAccount'); + insert into ldap_referrals (entry_id,url) values (4,'http://localhost'); +