Revision: 3706
http://svn.sourceforge.net/mailmanager/?rev=3706&view=rev
Author: kevca
Date: 2006-11-25 10:48:02 -0800 (Sat, 25 Nov 2006)
Log Message:
-----------
Changes for MS-SQL
Can now use the schema variable as a prefix on tables to separate them.
Modified Paths:
--------------
MailManager/branches/RELENG_2_2/MailManager.py
MailManager/branches/RELENG_2_2/sql/v2_2/accountPriority.zsql
MailManager/branches/RELENG_2_2/sql/v2_2/getNextMessageId.zsql
MailManager/branches/RELENG_2_2/sql/v2_2/getNextRulesetTransitionId.zsql
MailManager/branches/RELENG_2_2/sql/v2_2/listTickets.zsql
MailManager/branches/RELENG_2_2/sql/v2_2/userPriority.zsql
MailManager/branches/RELENG_2_2/sql/v2_2/userStatus.zsql
Modified: MailManager/branches/RELENG_2_2/MailManager.py
===================================================================
--- MailManager/branches/RELENG_2_2/MailManager.py 2006-11-25 17:53:20 UTC (rev 3705)
+++ MailManager/branches/RELENG_2_2/MailManager.py 2006-11-25 18:48:02 UTC (rev 3706)
@@ -262,10 +262,6 @@
raise BadRequest, translateString('Admin Password and Confirm Admin Password fields must match.',
'admin_password_mismatch',
REQUEST=self)
- if schema and dbplatform != 'postgres':
- raise BadRequest, translateString('Schemas are only supported on PostgreSQL.',
- 'schemas_unavailable',
- REQUEST=self)
except BadRequest, msg:
if REQUEST is not None:
REQUEST.set('manage_tabs_message', msg)
@@ -913,10 +909,16 @@
# support a schema, so it defaults to the empty string. Adding a
# trailing '.' here vastly simplifies the zsql methods.
schema = getattr(self, 'schema', schema)
- if schema.endswith('.') or not schema:
- self.schema = schema.lower()
+
+ # Map to schemas in postgres. With other database platforms, schema can be
+ # used as a prefix instead.
+ if dbplatform == 'postgres':
+ if schema.endswith('.') or not schema:
+ self.schema = schema.lower()
+ else:
+ self.schema = schema.lower() + '.'
else:
- self.schema = schema.lower() + '.'
+ self.schema = schema
# Always replace the SQL object, as we need to sync this with the
# directory contents of the filesystem
Modified: MailManager/branches/RELENG_2_2/sql/v2_2/accountPriority.zsql
===================================================================
--- MailManager/branches/RELENG_2_2/sql/v2_2/accountPriority.zsql 2006-11-25 17:53:20 UTC (rev 3705)
+++ MailManager/branches/RELENG_2_2/sql/v2_2/accountPriority.zsql 2006-11-25 18:48:02 UTC (rev 3706)
@@ -6,16 +6,16 @@
</dtml-comment>
SELECT email,
(SELECT COUNT(1) FROM <dtml-var schema>mm_ticket
- WHERE priority=1 AND mm_ticket.account_id=email) AS junk,
+ WHERE priority=1 AND <dtml-var schema>mm_ticket.account_id=email) AS junk,
(SELECT COUNT(1) FROM <dtml-var schema>mm_ticket
- WHERE priority=2 AND mm_ticket.account_id=email) AS low,
+ WHERE priority=2 AND <dtml-var schema>mm_ticket.account_id=email) AS low,
(SELECT COUNT(1) FROM <dtml-var schema>mm_ticket
- WHERE priority=3 AND mm_ticket.account_id=email) AS normal,
+ WHERE priority=3 AND <dtml-var schema>mm_ticket.account_id=email) AS normal,
(SELECT COUNT(1) FROM <dtml-var schema>mm_ticket
- WHERE priority=4 AND mm_ticket.account_id=email) AS high,
+ WHERE priority=4 AND <dtml-var schema>mm_ticket.account_id=email) AS high,
(SELECT COUNT(1) FROM <dtml-var schema>mm_ticket
- WHERE priority=5 AND mm_ticket.account_id=email) AS critical
+ WHERE priority=5 AND <dtml-var schema>mm_ticket.account_id=email) AS critical
FROM <dtml-var schema>mm_account, <dtml-var schema>mm_ticket
-WHERE mm_ticket.account_id=mm_account.email
-GROUP BY mm_account.email
-ORDER BY mm_account.email;
+WHERE <dtml-var schema>mm_ticket.account_id=<dtml-var schema>mm_account.email
+GROUP BY <dtml-var schema>mm_account.email
+ORDER BY <dtml-var schema>mm_account.email;
Modified: MailManager/branches/RELENG_2_2/sql/v2_2/getNextMessageId.zsql
===================================================================
--- MailManager/branches/RELENG_2_2/sql/v2_2/getNextMessageId.zsql 2006-11-25 17:53:20 UTC (rev 3705)
+++ MailManager/branches/RELENG_2_2/sql/v2_2/getNextMessageId.zsql 2006-11-25 18:48:02 UTC (rev 3706)
@@ -7,7 +7,7 @@
<dtml-if expr="sql_database == 'postgres'">
SELECT nextval('<dtml-var schema>mm_message_id_seq') AS id
<dtml-elif expr="sql_database == 'mssql'">
- SELECT COALESCE(MAX(id),0)+1 AS id FROM mm_message
+ SELECT COALESCE(MAX(id),0)+1 AS id FROM <dtml-var schema>mm_message
<dtml-else>
- SELECT COALESCE(MAX(id),0)+1 AS id FROM mm_message FOR UPDATE
+ SELECT COALESCE(MAX(id),0)+1 AS id FROM <dtml-var schema>mm_message FOR UPDATE
</dtml-if>
Modified: MailManager/branches/RELENG_2_2/sql/v2_2/getNextRulesetTransitionId.zsql
===================================================================
--- MailManager/branches/RELENG_2_2/sql/v2_2/getNextRulesetTransitionId.zsql 2006-11-25 17:53:20 UTC (rev 3705)
+++ MailManager/branches/RELENG_2_2/sql/v2_2/getNextRulesetTransitionId.zsql 2006-11-25 18:48:02 UTC (rev 3706)
@@ -8,7 +8,7 @@
<dtml-if expr="sql_database == 'postgres'">
SELECT nextval('<dtml-var schema>mm_ruleset_transitions_transition_id_seq') AS transition_id
<dtml-elif expr="sql_database == 'mssql'">
- SELECT COALESCE(MAX(transition_id),0)+1 AS transition_id FROM mm_ruleset_transitions
+ SELECT COALESCE(MAX(transition_id),0)+1 AS transition_id FROM <dtml-var schema>mm_ruleset_transitions
<dtml-else>
- SELECT COALESCE(MAX(transition_id),0)+1 AS transition_id FROM mm_ruleset_transitions FOR UPDATE
+ SELECT COALESCE(MAX(transition_id),0)+1 AS transition_id FROM <dtml-var schema>mm_ruleset_transitions FOR UPDATE
</dtml-if>
Modified: MailManager/branches/RELENG_2_2/sql/v2_2/listTickets.zsql
===================================================================
--- MailManager/branches/RELENG_2_2/sql/v2_2/listTickets.zsql 2006-11-25 17:53:20 UTC (rev 3705)
+++ MailManager/branches/RELENG_2_2/sql/v2_2/listTickets.zsql 2006-11-25 18:48:02 UTC (rev 3706)
@@ -40,11 +40,11 @@
<dtml-if sqv_id_only>
- mm_ticket.id
+ <dtml-var schema>mm_ticket.id
<dtml-else>
- mm_ticket.*
+ <dtml-var schema>mm_ticket.*
<dtml-if sqv_searchText>
<dtml-if expr="sql_database == 'postgres'">
@@ -71,7 +71,7 @@
FROM <dtml-var schema>mm_ticket
<dtml-if expr="sql_database == 'mysql'">
- INNER JOIN mm_ticket_index ON mm_ticket.id = mm_ticket_index.id
+ INNER JOIN mm_ticket_index ON <dtml-var schema>mm_ticket.id = <dtml-var schema>mm_ticket_index.id
</dtml-if>
<dtml-comment>
@@ -107,11 +107,11 @@
<dtml-if sqv_sort_on>
<dtml-if expr="not sqv_sort_on=='state'">
- WHERE mm_ticket.id IN (SELECT id
+ WHERE <dtml-var schema>mm_ticket.id IN (SELECT id
FROM <dtml-var schema>mm_ticket
</dtml-if>
<dtml-else>
- WHERE mm_ticket.id IN (SELECT id
+ WHERE <dtml-var schema>mm_ticket.id IN (SELECT id
FROM <dtml-var schema>mm_ticket
</dtml-if>
@@ -120,11 +120,11 @@
<dtml-if sqv_sort_on>
<dtml-if expr="not sqv_sort_on=='state'">
- WHERE mm_ticket.id IN (SELECT id
+ WHERE <dtml-var schema>mm_ticket.id IN (SELECT id
FROM <dtml-var schema>mm_ticket
</dtml-if>
<dtml-else>
- WHERE mm_ticket.id IN (SELECT id
+ WHERE <dtml-var schema>mm_ticket.id IN (SELECT id
FROM <dtml-var schema>mm_ticket
</dtml-if>
@@ -133,7 +133,9 @@
<dtml-sqlgroup where>
- <dtml-sqltest sqv_ticket_id type="int" column="mm_ticket.id" optional>
+ <dtml-if sqv_ticket_id>
+ <dtml-var schema>mm_ticket.id = <dtml-sqlvar sqv_ticket_id type="int">
+ </dtml-if>
<dtml-and>
<dtml-sqltest sqv_state column="state" type="nb" multiple optional>
<dtml-and>
Modified: MailManager/branches/RELENG_2_2/sql/v2_2/userPriority.zsql
===================================================================
--- MailManager/branches/RELENG_2_2/sql/v2_2/userPriority.zsql 2006-11-25 17:53:20 UTC (rev 3705)
+++ MailManager/branches/RELENG_2_2/sql/v2_2/userPriority.zsql 2006-11-25 18:48:02 UTC (rev 3706)
@@ -6,16 +6,16 @@
</dtml-comment>
SELECT username,
(SELECT COUNT(1) FROM <dtml-var schema>mm_ticket
- WHERE priority=1 AND mm_ticket.assigned=username) AS junk,
+ WHERE priority=1 AND <dtml-var schema>mm_ticket.assigned=username) AS junk,
(SELECT COUNT(1) FROM <dtml-var schema>mm_ticket
- WHERE priority=2 AND mm_ticket.assigned=username) AS low,
+ WHERE priority=2 AND <dtml-var schema>mm_ticket.assigned=username) AS low,
(SELECT COUNT(1) FROM <dtml-var schema>mm_ticket
- WHERE priority=3 AND mm_ticket.assigned=username) AS normal,
+ WHERE priority=3 AND <dtml-var schema>mm_ticket.assigned=username) AS normal,
(SELECT COUNT(1) FROM <dtml-var schema>mm_ticket
- WHERE priority=4 AND mm_ticket.assigned=username) AS high,
+ WHERE priority=4 AND <dtml-var schema>mm_ticket.assigned=username) AS high,
(SELECT COUNT(1) FROM <dtml-var schema>mm_ticket
- WHERE priority=5 AND mm_ticket.assigned=username) AS critical
+ WHERE priority=5 AND <dtml-var schema>mm_ticket.assigned=username) AS critical
FROM <dtml-var schema>mm_user, <dtml-var schema>mm_ticket
-WHERE mm_ticket.assigned=mm_user.username
-GROUP BY mm_user.username
-ORDER BY mm_user.username;
+WHERE <dtml-var schema>mm_ticket.assigned=<dtml-var schema>mm_user.username
+GROUP BY <dtml-var schema>mm_user.username
+ORDER BY <dtml-var schema>mm_user.username;
Modified: MailManager/branches/RELENG_2_2/sql/v2_2/userStatus.zsql
===================================================================
--- MailManager/branches/RELENG_2_2/sql/v2_2/userStatus.zsql 2006-11-25 17:53:20 UTC (rev 3705)
+++ MailManager/branches/RELENG_2_2/sql/v2_2/userStatus.zsql 2006-11-25 18:48:02 UTC (rev 3706)
@@ -9,19 +9,19 @@
</dtml-comment>
SELECT username,
(SELECT COUNT(1) FROM <dtml-var schema>mm_ticket
- WHERE state='Open' AND mm_ticket.assigned=username) AS open_count,
+ WHERE state='Open' AND <dtml-var schema>mm_ticket.assigned=username) AS open_count,
(SELECT COUNT(1) FROM <dtml-var schema>mm_ticket
- WHERE state='Hold' AND mm_ticket.assigned=username) AS hold_count,
+ WHERE state='Hold' AND <dtml-var schema>mm_ticket.assigned=username) AS hold_count,
(SELECT COUNT(1) FROM <dtml-var schema>mm_ticket
- WHERE state='Closed' AND mm_ticket.assigned=username) AS closed_count,
+ WHERE state='Closed' AND <dtml-var schema>mm_ticket.assigned=username) AS closed_count,
(SELECT COUNT(1) FROM <dtml-var schema>mm_ticket
- WHERE state='Spam' AND mm_ticket.assigned=username) AS spam_count,
+ WHERE state='Spam' AND <dtml-var schema>mm_ticket.assigned=username) AS spam_count,
(SELECT COUNT(1) FROM <dtml-var schema>mm_ticket
- WHERE unread=<dtml-var sql_true> AND mm_ticket.assigned=username) AS new_count,
+ WHERE unread=<dtml-var sql_true> AND <dtml-var schema>mm_ticket.assigned=username) AS new_count,
(SELECT COUNT(1) FROM <dtml-var schema>mm_ticket
WHERE respond_by < <dtml-var sql_now> AND state='Open'
- AND date_responded IS NULL AND mm_ticket.assigned=username) AS overdue_count
+ AND date_responded IS NULL AND <dtml-var schema>mm_ticket.assigned=username) AS overdue_count
FROM <dtml-var schema>mm_user, <dtml-var schema>mm_ticket
-WHERE mm_ticket.assigned=mm_user.username
-GROUP BY mm_user.username
-ORDER BY mm_user.username;
+WHERE <dtml-var schema>mm_ticket.assigned=<dtml-var schema>mm_user.username
+GROUP BY <dtml-var schema>mm_user.username
+ORDER BY <dtml-var schema>mm_user.username;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|