X-Git-Url: http://andersk.mit.edu/gitweb/moira.git/blobdiff_plain/5036bc6d1dc5a616fac57bb86a1d22bc03e07200..22bc6c270e26bce92cad006c57aa7481a3569999:/gen/aliases.dc diff --git a/gen/aliases.dc b/gen/aliases.dc index e85cdfa4..1326dc7a 100644 --- a/gen/aliases.dc +++ b/gen/aliases.dc @@ -44,6 +44,7 @@ char **argv; initialize_sms_error_table(); #ifsql INGRES EXEC SQL CONNECT moira; + EXEC SQL SET LOCKMODE SESSION WHERE LEVEL=TABLE, READLOCK=SHARED; #endsql #ifsql INFORMIX EXEC SQL DATABASE moira; @@ -142,11 +143,12 @@ get_info() EXEC SQL SELECT modtime INTO :buf FROM users WHERE USERS_ID = 0; fprintf(stderr, "Loading machines\n"); - machines = create_hash(1000); + machines = create_hash(10); EXEC SQL DECLARE m_cursor CURSOR FOR SELECT mach_id, name - FROM machine; + FROM machine + ORDER BY mach_id; EXEC SQL OPEN m_cursor; while (1) { EXEC SQL FETCH m_cursor INTO :id, :name; @@ -162,16 +164,17 @@ get_info() fprintf(stderr, "Loading strings\n"); - strings = create_hash(2000); + strings = create_hash(11001); EXEC SQL DECLARE s_cursor CURSOR FOR - SELECT string_id, string - FROM strings; + SELECT string_id, trim(string) + FROM strings + ORDER BY string_id; EXEC SQL OPEN s_cursor; while (1) { EXEC SQL FETCH s_cursor INTO :id, :name; if (sqlca.sqlcode != 0) break; - hash_store(strings, id, strsave(strtrim(name))); + hash_store(strings, id, strsave(name)); } EXEC SQL CLOSE s_cursor; @@ -180,7 +183,8 @@ get_info() EXEC SQL DECLARE u_cursor CURSOR FOR SELECT users_id, login, potype, pop_id, box_id - FROM users WHERE status = 1 OR status = 5 OR status = 6; + FROM users WHERE status = 1 OR status = 5 OR status = 6 + ORDER BY users_id; EXEC SQL OPEN u_cursor; while (1) { EXEC SQL FETCH u_cursor INTO :id, :name, :type, :pid, :bid; @@ -207,13 +211,15 @@ get_info() hash_store(users, id, u); } EXEC SQL CLOSE u_cursor; + EXEC SQL COMMIT; fprintf(stderr, "Loading lists\n"); lists = create_hash(15001); EXEC SQL DECLARE l_cursor CURSOR FOR SELECT list_id, name, maillist, description, acl_type, acl_id - FROM list WHERE active != 0; + FROM list WHERE active != 0 + ORDER BY list_id; EXEC SQL OPEN l_cursor; while (1) { EXEC SQL FETCH l_cursor INTO :id, :name, :maillistp, @@ -229,12 +235,14 @@ get_info() hash_store(lists, id, l); } EXEC SQL CLOSE l_cursor; + EXEC SQL COMMIT; fprintf(stderr, "Loading members\n"); EXEC SQL DECLARE mem_cursor CURSOR FOR SELECT list_id, member_type, member_id - FROM imembers WHERE direct = 1; + FROM imembers WHERE direct = 1 + ORDER BY list_id; EXEC SQL OPEN mem_cursor; while (1) { EXEC SQL FETCH mem_cursor INTO :id, :type, :mid;