]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-sql/docs/bugs
added back-sql files
[openldap] / servers / slapd / back-sql / docs / bugs
diff --git a/servers/slapd/back-sql/docs/bugs b/servers/slapd/back-sql/docs/bugs
new file mode 100644 (file)
index 0000000..6c503e6
--- /dev/null
@@ -0,0 +1,36 @@
+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)
+   
\ No newline at end of file