Here is the changes I had to made to get Postgresql working with ldap and taxonomy access control

 file changed: sites/all/modules/ldap_integration/ldapdata.install

421c421
<   $field_to_select = 'DISTINCT ON ('. $table .'.'. $field .") $table.$field";
---
>   $field_to_select = 'DISTINCT '."$table.$field";

The fix above is not the best since it does not handle multiple fields. I guess I will patch it more if more problems pops up. This is going to be a pain to fix.

 file changed: includes/database.pgsql.inc

20c20
<       db_query("ALTER TABLE {ldapauth} ADD (
---
>       db_query("ALTER TABLE {ldapauth} ADD
22,27c22,27
<         ldapdata_bindpw VARCHAR(255) NOT NULL default '',
<         ldapdata_bindpw_clear VARCHAR(2) NOT NULL default '',
<         ldapdata_rwattrs TEXT NOT NULL,
<         ldapdata_roattrs TEXT NOT NULL,
<         ldapdata_mappings TEXT NOT NULL
<       )");
---
>         add ldapdata_bindpw VARCHAR(255) NOT NULL default '',
>         add ldapdata_bindpw_clear VARCHAR(2) NOT NULL default '',
>         add ldapdata_rwattrs TEXT NOT NULL,
>         add ldapdata_roattrs TEXT NOT NULL,
>         add ldapdata_mappings TEXT NOT NULL
>       ");

file changed: sites/all/modules/ldap_integration/ldapgroups.install

22c22
<       db_query("ALTER TABLE {ldapauth} ADD (
---
>       db_query("ALTER TABLE {ldapauth} ADD
24,31c24,31
<         ldap_groups_in_dn_desc INTEGER NOT NULL DEFAULT 0,
<         ldap_group_dn_attribute VARCHAR(255) DEFAULT '',
<         ldap_group_attr VARCHAR(255) DEFAULT '',
<         ldap_groups_in_attr INTEGER NOT NULL DEFAULT 0,
<         ldap_groups_as_entries INTEGER NOT NULL DEFAULT 0,
<         ldap_group_entries VARCHAR(255) DEFAULT '',
<         ldap_group_entries_attribute VARCHAR(255) DEFAULT ''
<       )");
---
>         ADD ldap_groups_in_dn_desc INTEGER NOT NULL DEFAULT 0,
>         ADD ldap_group_dn_attribute VARCHAR(255) DEFAULT '',
>         ADD ldap_group_attr VARCHAR(255) DEFAULT '',
>         ADD ldap_groups_in_attr INTEGER NOT NULL DEFAULT 0,
>         ADD ldap_groups_as_entries INTEGER NOT NULL DEFAULT 0,
>         ADD ldap_group_entries VARCHAR(255) DEFAULT '',
>         ADD ldap_group_entries_attribute VARCHAR(255) DEFAULT ''
>       ");

The above two patches fixes the queries to work with Postgresql's inner join syntax.

Comments

nospam2’s picture

I made a better fix for database.pgsql.inc based on Takashi's patch. See post #38 here:

http://drupal.org/node/128846#comment-678398