]> git.sur5r.net Git - openldap/commitdiff
Import latest from devel
authorKurt Zeilenga <kurt@openldap.org>
Sat, 4 Nov 2000 22:33:33 +0000 (22:33 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Sat, 4 Nov 2000 22:33:33 +0000 (22:33 +0000)
servers/slapd/back-sql/search.c
servers/slapd/back-sql/sql-wrap.c

index 82db1e1cf8a30cbb374b7c2db1670f6476833cd3..9cd53325893adafa8716aa7531bbf0f2857b25b7 100644 (file)
@@ -132,7 +132,7 @@ int backsql_process_sub_filter(backsql_srch_info *bsi,Filter *f)
  {
   if (bsi->bi->upper_func)
    {
-    bsi->flt_where=backsql_strcat(bsi->flt_where,&bsi->fwhere_len,toupper(f->f_sub_initial->bv_val),NULL);
+    bsi->flt_where=backsql_strcat(bsi->flt_where,&bsi->fwhere_len,ldap_pvt_str2upper(f->f_sub_initial->bv_val),NULL);
    }
    else
     bsi->flt_where=backsql_strcat(bsi->flt_where,&bsi->fwhere_len,f->f_sub_initial->bv_val,NULL);
@@ -146,7 +146,7 @@ int backsql_process_sub_filter(backsql_srch_info *bsi,Filter *f)
    //Debug(LDAP_DEBUG_TRACE,"==>backsql_process_sub_filter(): sub_any='%s'\n",f->f_sub_any[i]->bv_val,0,0);
    if (bsi->bi->upper_func)
    {
-    bsi->flt_where=backsql_strcat(bsi->flt_where,&bsi->fwhere_len,toupper(f->f_sub_any[i]->bv_val),"%",NULL);
+    bsi->flt_where=backsql_strcat(bsi->flt_where,&bsi->fwhere_len,ldap_pvt_str2upper(f->f_sub_any[i]->bv_val),"%",NULL);
    }
    else
     bsi->flt_where=backsql_strcat(bsi->flt_where,&bsi->fwhere_len,f->f_sub_any[i]->bv_val,"%",NULL);    
@@ -155,7 +155,7 @@ int backsql_process_sub_filter(backsql_srch_info *bsi,Filter *f)
  if (f->f_sub_final!=NULL)
   if (bsi->bi->upper_func)
    {
-    bsi->flt_where=backsql_strcat(bsi->flt_where,&bsi->fwhere_len,toupper(f->f_sub_final->bv_val),NULL);
+    bsi->flt_where=backsql_strcat(bsi->flt_where,&bsi->fwhere_len,ldap_pvt_str2upper(f->f_sub_final->bv_val),NULL);
    }
    else
     bsi->flt_where=backsql_strcat(bsi->flt_where,&bsi->fwhere_len,f->f_sub_final->bv_val,NULL);
@@ -240,7 +240,7 @@ int backsql_process_filter(backsql_srch_info *bsi,Filter *f)
                        if (bsi->bi->upper_func)
                        bsi->flt_where=backsql_strcat(bsi->flt_where,&bsi->fwhere_len,"(",
                                        bsi->bi->upper_func,"(",at->sel_expr,")='",
-                                               toupper(f->f_av_value->bv_val),"')",NULL);
+                                               ldap_pvt_str2upper(f->f_av_value->bv_val),"')",NULL);
                        else
                         bsi->flt_where=backsql_strcat(bsi->flt_where,&bsi->fwhere_len,"(",at->sel_expr,"='",
                                                        f->f_av_value->bv_val,"')",NULL);
@@ -284,7 +284,7 @@ char* backsql_srch_query(backsql_srch_info *bsi)
  bsi->sel_len=bsi->from_len=bsi->jwhere_len=bsi->fwhere_len=0;
 
  bsi->sel=backsql_strcat(bsi->sel,&bsi->sel_len,
-                               "SELECT ldap_entries.id,",bsi->oc->keytbl,".",bsi->oc->keycol,
+                               "SELECT DISTINCT ldap_entries.id,",bsi->oc->keytbl,".",bsi->oc->keycol,
                                ", '",bsi->oc->name,"' AS objectClass",
                                ", ldap_entries.dn AS dn",
                                NULL);
index c1c1876bb35742d236eadabce6eedd6235e65557..8a969f214cfd943cebed93a8d467287fc2a740a8 100644 (file)
@@ -65,9 +65,7 @@ RETCODE backsql_Prepare(SQLHDBC dbh,SQLHSTMT *sth,char* query,int timeout)
  //Debug(LDAP_DEBUG_TRACE,"==>_SQLPrepare()\n", 0,0,0);
  SQLGetInfo(dbh,SQL_DRIVER_NAME,drv_name,30,&len);
  //Debug(LDAP_DEBUG_TRACE,"_SQLPrepare(): driver name='%s'\n", drv_name,0,0);
- for (i=0;i<30 && drv_name[i];i++)
-  drv_name[i]=toupper(drv_name[i]);
- if (!strncmp(drv_name,"SQLSRV32.DLL",30))
+ if (!strncmp(ldap_pvt_str2upper(drv_name),"SQLSRV32.DLL",30))
   {
    //stupid default result set in MS SQL Server does not support multiple active statements
    //on the same connection -- so we are trying to make it not to use default result set...