summaryrefslogtreecommitdiff
path: root/pynslcd/group.py
diff options
context:
space:
mode:
Diffstat (limited to 'pynslcd/group.py')
-rw-r--r--pynslcd/group.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/pynslcd/group.py b/pynslcd/group.py
index aed6cc0..2028f1e 100644
--- a/pynslcd/group.py
+++ b/pynslcd/group.py
@@ -75,7 +75,7 @@ class Search(search.LDAPSearch):
class Cache(cache.Cache):
- tables = ('group_cache', 'group_3_cache')
+ tables = ('group_cache', 'group_member_cache')
create_sql = '''
CREATE TABLE IF NOT EXISTS `group_cache`
@@ -83,19 +83,20 @@ class Cache(cache.Cache):
`userPassword` TEXT,
`gidNumber` INTEGER NOT NULL UNIQUE,
`mtime` TIMESTAMP NOT NULL );
- CREATE TABLE IF NOT EXISTS `group_3_cache`
+ CREATE TABLE IF NOT EXISTS `group_member_cache`
( `group` TEXT NOT NULL,
`memberUid` TEXT NOT NULL,
FOREIGN KEY(`group`) REFERENCES `group_cache`(`cn`)
ON DELETE CASCADE ON UPDATE CASCADE );
- CREATE INDEX IF NOT EXISTS `group_3_idx` ON `group_3_cache`(`group`);
+ CREATE INDEX IF NOT EXISTS `group_member_idx` ON `group_member_cache`(`group`);
'''
retrieve_sql = '''
- SELECT `cn`, `userPassword`, `gidNumber`, `memberUid`
+ SELECT `group_cache`.`cn` AS `cn`, `userPassword`, `gidNumber`,
+ `memberUid`, `mtime`
FROM `group_cache`
- LEFT JOIN `group_3_cache`
- ON `group_3_cache`.`group` = `group_cache`.`cn`
+ LEFT JOIN `group_member_cache`
+ ON `group_member_cache`.`group` = `group_cache`.`cn`
'''
def retrieve(self, parameters):