openldap/servers/slapd/back-sql/docs/bugs
2000-03-16 19:08:22 +00:00

36 lines
2.5 KiB
Plaintext

1) driver name comparison for MS SQL Server workaround is realy kinda dirty
hack, but for now i don't know how to code it more carefully
2) another dirty hack: length of LONGVARCHAR and LONGVARBINARY fields is
currently set to MAX_ATTR_LEN. Maybe such fields must be handled with
SQLGetData() instead of SQLBindCol(), but it is said in documentation,
that it is guaranteed to work only when such column goes after last bound
column. Or should we get ALL columns with SQLGetData (then something like
_SQLFetchAsStrings() wrapper would do SQLGetData() for all columns)...
4) in some cases (particularly, when using OpenLink Generic ODBC driver with
MS SQL Server), it returns "Function sequence error" after all records are
fetched. I really don't know what it means, and after all
- it works with any other driver I tried
5) referral handling. this bug actually addresses all backends, as I can
understand. draft-ietf-ldapext-namedref-xx.txt says that referral should be
returned for ANY object containing "ref" attribute. And is_entry_referral
macro designed for "referral" objectclass only. This limits usability of
referrals too much. For instance, I could want to replicate some subtree on
another server, storing just "searchable" attributes + referral to full
object, and then use this subtree as kind of index for query routing.
If search returns referrals only for "referral" entries - I cannot do such
thing
6) DO NOT EVER USE -O2 option (or any other optimization) under Un*x/gcc!!!
I have spent days trying to catch weird bugs, which went gone with optimization off
7) The same thing that works on RedHat 6.0 (glibc 2.1.1), dumps core on
6.1 (glibc 2.1.2) (the same code behaves differently when built on 6.0 and 6.1)
my problem was solved by upgrading iODBC to 3.0 beta - but it is kinda strange
that beta works better than release (and release still works fine on 6.0)
8) Oracle does case-sensitive comparison of strings by default, so back-sql
becomes sensitive too when using Oracle. Later I'll add some option to slapd.conf
that would allow to set some function to process values before comparison
(something like "before_match UPPER", so that back-sql could generate
something like "select ... from ... where ... and UPPER(colname)=UPPER(?) or
UPPER(colname) LIKE UPPER(...)")
9) ldapsearch sometimes refuses to show some attributes ("NOT PRINTABLE" diags)
on Win32 (on linux everything's fine -- at least with mySQL)