On Mon, 2005-11-21 at 22:40 +0000, Seb James wrote: > On Mon, 2005-11-21 at 21:29 +0100, Pierangelo Masarati wrote: > > On Mon, 2005-11-21 at 19:38 +0000, Seb James wrote: > > > Here is the query which backsql_srch_query() contructs: > > > > > > SELECT DISTINCT ldap_entries.id,persons.id,'inetOrgPerson' AS objectClass, > > > ldap_entries.dn AS dn FROM ldap_entries,persons > > > WHERE persons.id=ldap_entries.keyval > > > AND ldap_entries.oc_map_id=? > > > AND ldap_entries.dn LIKE ? > > > AND ( LIKE 'MITYA%') > > > > this is NOT valid SQL, as far as I can tell. > > > > > > > > The problem is in the last line. I don't know enough sql to tell if this > > > could be valid sql on another rdbms, but if I change the last line to > > > > > > AND (cn LIKE 'MITYA%') > > > > > > Then the query will run. > > > > That's how it should be.
I've checked both latest 2.3 and 2.2 and they appear to work as expected. I note that the empty space where "cn" should appear, is supposed to contain the "sel_expr" column of the "ldap_attr_mappings" table of the "cn" row. In the test databases shipped with OpenLDAP it's supposed to contain 2.2: 'persons.name' 2.3: "concat(persons.name,' ',persons.surname)" Could you check what's the contents of that column in yours? > Ok, this is useful information that back-sql has changed a lot between > openldap 2.2 and 2.3. I'll upgrade my openldap version and see how that > works. I suggest to upgrade anyway. Note that back-sql in OpenLDAP up to 2.3.11 is buggy because I was unable to test and keep it up to date for a while, and the rest of slapd underwent some development that broke it; 2.3.12 should be just fine, I could test it to some extent, at least with PostgreSQL. p. Ing. Pierangelo Masarati Responsabile Open Solution SysNet s.n.c. Via Dossi, 8 - 27100 Pavia - ITALIA http://www.sys-net.it ------------------------------------------ Office: +39.02.23998309 Mobile: +39.333.4963172 Email: [EMAIL PROTECTED] ------------------------------------------
