Revision: 75
http://svn.sourceforge.net/nmailserver/?rev=75&view=rev
Author: tmyroadctfig
Date: 2006-11-07 04:13:59 -0800 (Tue, 07 Nov 2006)
Log Message:
-----------
Changes to include a "?" in front of parameter names.
Modified Paths:
--------------
NMail/branches/luke-dev/NMail.LocalStoreData.MySql/MySqlAuthProvider.cs
NMail/branches/luke-dev/NMail.LocalStoreData.MySql/MySqlLocalStoreData.cs
NMail/branches/luke-dev/NMail.LocalStoreData.MySql/MySqlUserMap.cs
NMail/branches/luke-dev/NMail.LocalStoreData.MySql/NMail.LocalStoreData.MySql.csproj
NMail/branches/luke-dev/NMail.SpoolData.MySql/MySqlSpoolData.cs
NMail/branches/luke-dev/NMail.SpoolFilter/SpoolFilter.cs
Modified: NMail/branches/luke-dev/NMail.LocalStoreData.MySql/MySqlAuthProvider.cs
===================================================================
--- NMail/branches/luke-dev/NMail.LocalStoreData.MySql/MySqlAuthProvider.cs 2006-11-07 12:09:49 UTC (rev 74)
+++ NMail/branches/luke-dev/NMail.LocalStoreData.MySql/MySqlAuthProvider.cs 2006-11-07 12:13:59 UTC (rev 75)
@@ -106,13 +106,13 @@
using (MySqlConnection cnn = MySqlHelper.GetConnection()) {
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandText = "SELECT Disabled FROM `User` WHERE Username = ?Username";
- cmd.Parameters.Add("Username", user.Username);
+ cmd.Parameters.Add("?Username", user.Username);
object o = cmd.ExecuteNonQuery();
bool disabled = true;
- if (o is bool) {
- disabled = (bool) o;
+ if (o is sbyte) {
+ disabled = ((sbyte) o == 1) ? true : false;
}
return (!disabled);
@@ -124,8 +124,8 @@
using (MySqlConnection cnn = MySqlHelper.GetConnection()) {
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandText = "UPDATE `User` SET Password = ?Password WHERE Username = ?Username";
- cmd.Parameters.Add("Username", user.Username);
- cmd.Parameters.Add("Password", newPassword);
+ cmd.Parameters.Add("?Username", user.Username);
+ cmd.Parameters.Add("?Password", newPassword);
int count = cmd.ExecuteNonQuery();
return (count == 1);
@@ -141,8 +141,8 @@
using (MySqlConnection cnn = MySqlHelper.GetConnection()) {
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandText = "UPDATE `User` SET Disabled = ?Disabled WHERE Username = ?Username";
- cmd.Parameters.Add("Username", username);
- cmd.Parameters.Add("Disabled", !enabled);
+ cmd.Parameters.Add("?Username", username);
+ cmd.Parameters.Add("?Disabled", !enabled);
int count = cmd.ExecuteNonQuery();
}
}
@@ -153,12 +153,12 @@
using (MySqlConnection cnn = MySqlHelper.GetConnection()) {
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandText = "SELECT Disabled, LockedOutData, PasswordExpiry, Password FROM User WHERE Username = ?Username";
- cmd.Parameters.Add("Username", username);
+ cmd.Parameters.Add("?Username", username);
MySqlDataReader reader = cmd.ExecuteReader();
if (reader.Read()) {
string dbHash = reader["Password"] as string;
- bool disabled = (bool) reader["Disabled"];
+ bool disabled = ((sbyte) reader["Disabled"] == 1) ? true : false;
DateTime passwordExpiry = (DateTime) reader["PasswordExpiry"];
return createValidatedToken(username, disabled, passwordExpiry);
@@ -175,7 +175,7 @@
using (MySqlConnection cnn = MySqlHelper.GetConnection()) {
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandText = "SELECT COUNT(*) FROM User WHERE Username = ?Username";
- cmd.Parameters.Add("Username", username);
+ cmd.Parameters.Add("?Username", username);
long count = (long) cmd.ExecuteScalar();
if (count == 1) {
@@ -197,12 +197,12 @@
using (MySqlConnection cnn = MySqlHelper.GetConnection()) {
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandText = "SELECT Disabled, LockedOutData, PasswordExpiry, Password FROM User WHERE Username = ?Username";
- cmd.Parameters.Add("Username", username);
+ cmd.Parameters.Add("?Username", username);
MySqlDataReader reader = cmd.ExecuteReader();
if (reader.Read()) {
string dbPassword = reader["Password"] as string;
- bool disabled = (bool) reader["Disabled"];
+ bool disabled = ((sbyte) reader["Disabled"] == 1) ? true : false;
DateTime passwordExpiry = (DateTime) reader["PasswordExpiry"];
// Generate a NTLM hash
Modified: NMail/branches/luke-dev/NMail.LocalStoreData.MySql/MySqlLocalStoreData.cs
===================================================================
--- NMail/branches/luke-dev/NMail.LocalStoreData.MySql/MySqlLocalStoreData.cs 2006-11-07 12:09:49 UTC (rev 74)
+++ NMail/branches/luke-dev/NMail.LocalStoreData.MySql/MySqlLocalStoreData.cs 2006-11-07 12:13:59 UTC (rev 75)
@@ -64,7 +64,7 @@
// Get the next folder message id
cmd.CommandText = "SELECT NextMessageId FROM Folder WHERE FolderId=?FolderId";
- cmd.Parameters.Add("FolderId", folder.FolderId);
+ cmd.Parameters.Add("?FolderId", folder.FolderId);
int folderMessageId = (int)cmd.ExecuteScalar();
// Update the next message id
@@ -72,8 +72,8 @@
cmd.Transaction = transaction;
cmd.Connection = cnn;
cmd.CommandText = "UPDATE Folder SET NextMessageId=?NextMessageId WHERE FolderId=?FolderId";
- cmd.Parameters.Add("FolderId", folder.FolderId);
- cmd.Parameters.Add("NextMessageId", folderMessageId + 1);
+ cmd.Parameters.Add("?FolderId", folder.FolderId);
+ cmd.Parameters.Add("?NextMessageId", folderMessageId + 1);
int count = cmd.ExecuteNonQuery();
if (count == 1) {
// Insert the message body
@@ -82,20 +82,20 @@
cmd.Connection = cnn;
cmd.CommandText = "INSERT INTO Message (FolderId, FolderMessageId, MimeMessage, Headers, Preamble, Postamble, SeenFlag, AnsweredFlag, FlaggedFlag, DeletedFlag, DraftFlag, RecentFlag, Size, InternalDate) " +
"VALUES (?FolderId, ?FolderMessageId, ?MimeMessage, ?Headers, ?Preamble, ?Postamble, ?SeenFlag, ?AnsweredFlag, ?FlaggedFlag, ?DeletedFlag, ?DraftFlag, ?RecentFlag, ?Size, ?InternalDate)";
- cmd.Parameters.Add("FolderId", folder.FolderId);
- cmd.Parameters.Add("FolderMessageId", folderMessageId);
- cmd.Parameters.Add("MimeMessage", message.MultipartBody);
- cmd.Parameters.Add("Headers", message.Headers.Data.Bytes);
- cmd.Parameters.Add("Preamble", (message.Preamble != null) ? message.Preamble.Data.Bytes : null);
- cmd.Parameters.Add("Postamble", (message.Postamble != null) ? message.Postamble.Data.Bytes : null);
- cmd.Parameters.Add("SeenFlag", false);
- cmd.Parameters.Add("AnsweredFlag", false);
- cmd.Parameters.Add("FlaggedFlag", false);
- cmd.Parameters.Add("DeletedFlag", false);
- cmd.Parameters.Add("DraftFlag", false);
- cmd.Parameters.Add("RecentFlag", true);
- cmd.Parameters.Add("Size", message.Size);
- cmd.Parameters.Add("InternalDate", DateTime.Now);
+ cmd.Parameters.Add("?FolderId", folder.FolderId);
+ cmd.Parameters.Add("?FolderMessageId", folderMessageId);
+ cmd.Parameters.Add("?MimeMessage", message.MultipartBody);
+ cmd.Parameters.Add("?Headers", message.Headers.Data.Bytes);
+ cmd.Parameters.Add("?Preamble", (message.Preamble != null) ? message.Preamble.Data.Bytes : null);
+ cmd.Parameters.Add("?Postamble", (message.Postamble != null) ? message.Postamble.Data.Bytes : null);
+ cmd.Parameters.Add("?SeenFlag", false);
+ cmd.Parameters.Add("?AnsweredFlag", false);
+ cmd.Parameters.Add("?FlaggedFlag", false);
+ cmd.Parameters.Add("?DeletedFlag", false);
+ cmd.Parameters.Add("?DraftFlag", false);
+ cmd.Parameters.Add("?RecentFlag", true);
+ cmd.Parameters.Add("?Size", message.Size);
+ cmd.Parameters.Add("?InternalDate", DateTime.Now);
count = cmd.ExecuteNonQuery();
if (count == 1) {
@@ -115,9 +115,9 @@
cmd.Connection = cnn;
cmd.CommandText = "INSERT INTO MessageData (MessageId, Part, Data) " +
"VALUES (?MessageId, ?Part, ?Data)";
- cmd.Parameters.Add("MessageId", messageId);
- cmd.Parameters.Add("Part", i + 1); // Count from 1
- cmd.Parameters.Add("Data", message.MimeParts[i].Data.Bytes);
+ cmd.Parameters.Add("?MessageId", messageId);
+ cmd.Parameters.Add("?Part", i + 1); // Count from 1
+ cmd.Parameters.Add("?Data", message.MimeParts[i].Data.Bytes);
count = cmd.ExecuteNonQuery();
if (count != 1) {
@@ -132,9 +132,9 @@
cmd.Connection = cnn;
cmd.CommandText = "INSERT INTO MessageData (MessageId, Part, Data) " +
"VALUES (?MessageId, ?Part, ?Data)";
- cmd.Parameters.Add("MessageId", messageId);
- cmd.Parameters.Add("Part", 0); // Part 0 is not counted below in GetMessageMimePartCount
- cmd.Parameters.Add("Data", message.BodyData.Bytes);
+ cmd.Parameters.Add("?MessageId", messageId);
+ cmd.Parameters.Add("?Part", 0); // Part 0 is not counted below in GetMessageMimePartCount
+ cmd.Parameters.Add("?Data", message.BodyData.Bytes);
count = cmd.ExecuteNonQuery();
if (count != 1) {
@@ -171,9 +171,9 @@
cmd.Transaction = transaction;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "GetFolderId";
- cmd.Parameters.Add("FolderId", MySqlDbType.Int32);
- cmd.Parameters.Add("Name", folder.FolderName);
- cmd.Parameters.Add("NameSpace", folder.NameSpace);
+ cmd.Parameters.Add("?FolderId", MySqlDbType.Int32);
+ cmd.Parameters.Add("?Name", folder.FolderName);
+ cmd.Parameters.Add("?NameSpace", folder.NameSpace);
cmd.Parameters["FolderId"].Direction = ParameterDirection.Output;
int count = cmd.ExecuteNonQuery();
@@ -200,12 +200,12 @@
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "GetFolder";
- cmd.Parameters.Add("FolderId", folderId);
- cmd.Parameters.Add("ParentId", MySqlDbType.Int32);
- cmd.Parameters.Add("Name", MySqlDbType.String);
- cmd.Parameters.Add("NameSpace", MySqlDbType.String);
- cmd.Parameters.Add("Children", MySqlDbType.Int32);
- cmd.Parameters.Add("Result", MySqlDbType.Int32);
+ cmd.Parameters.Add("?FolderId", folderId);
+ cmd.Parameters.Add("?ParentId", MySqlDbType.Int32);
+ cmd.Parameters.Add("?Name", MySqlDbType.VarString);
+ cmd.Parameters.Add("?NameSpace", MySqlDbType.VarString);
+ cmd.Parameters.Add("?Children", MySqlDbType.Int32);
+ cmd.Parameters.Add("?Result", MySqlDbType.Int32);
cmd.Parameters["ParentId"].Direction = ParameterDirection.Output;
cmd.Parameters["Name"].Direction = ParameterDirection.Output;
cmd.Parameters["NameSpace"].Direction = ParameterDirection.Output;
@@ -257,12 +257,12 @@
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "CreateFolder";
- cmd.Parameters.Add("ParentId", parentFolderId);
- cmd.Parameters.Add("NamespaceId", 1);
- cmd.Parameters.Add("Name", newFolder.FolderName);
- cmd.Parameters.Add("UserId", userId);
- cmd.Parameters.Add("FolderId", MySqlDbType.Int32);
- cmd.Parameters.Add("Result", MySqlDbType.Int32);
+ cmd.Parameters.Add("?ParentId", parentFolderId);
+ cmd.Parameters.Add("?NamespaceId", 1);
+ cmd.Parameters.Add("?Name", newFolder.FolderName);
+ cmd.Parameters.Add("?UserId", userId);
+ cmd.Parameters.Add("?FolderId", MySqlDbType.Int32);
+ cmd.Parameters.Add("?Result", MySqlDbType.Int32);
cmd.Parameters["FolderId"].Direction = ParameterDirection.Output;
cmd.Parameters["Result"].Direction = ParameterDirection.Output;
@@ -288,8 +288,8 @@
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "DeleteFolder";
- cmd.Parameters.Add("DeleteFolderId", folderId);
- cmd.Parameters.Add("Result", MySqlDbType.Int32);
+ cmd.Parameters.Add("?DeleteFolderId", folderId);
+ cmd.Parameters.Add("?Result", MySqlDbType.Int32);
cmd.Parameters["Result"].Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
@@ -356,7 +356,7 @@
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "GetFolderChildIds";
- cmd.Parameters.Add("FolderId", parent.FolderId);
+ cmd.Parameters.Add("?FolderId", parent.FolderId);
using (MySqlDataReader reader = cmd.ExecuteReader()) {
List<int> childIds = new List<int>();
@@ -423,7 +423,7 @@
using (MySqlConnection cnn = MySqlHelper.GetConnection()) {
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandText = "SELECT s.FolderId AS FolderId FROM User u, Subscription s WHERE s.UserId = u.UserId AND u.UserName = ?UserName";
- cmd.Parameters.Add("UserName", userName);
+ cmd.Parameters.Add("?UserName", userName);
using (MySqlDataReader reader = cmd.ExecuteReader()) {
List<int> subscribedIds = new List<int>();
@@ -451,8 +451,8 @@
using (MySqlConnection cnn = MySqlHelper.GetConnection()) {
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandText = "SELECT COUNT(*) FROM Subscription WHERE UserId = ?UserId AND FolderId = ?FolderId";
- cmd.Parameters.Add("UserId", userId);
- cmd.Parameters.Add("FolderId", folderId);
+ cmd.Parameters.Add("?UserId", userId);
+ cmd.Parameters.Add("?FolderId", folderId);
long count = (long) cmd.ExecuteScalar();
return (count > 0);
@@ -464,13 +464,13 @@
using (MySqlConnection cnn = MySqlHelper.GetConnection()) {
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandText = "SELECT UserId FROM User WHERE UserName = ?UserName";
- cmd.Parameters.Add("UserName", userName);
+ cmd.Parameters.Add("?UserName", userName);
int userId = (int) cmd.ExecuteScalar();
if (!folderSubscribed(userId, folder.FolderId)) {
cmd.CommandText = "INSERT INTO Subscription (UserId, FolderId) VALUES(?UserId, ?FolderId)";
- cmd.Parameters.Add("FolderId", folder.FolderId);
- cmd.Parameters.Add("UserId", userId);
+ cmd.Parameters.Add("?FolderId", folder.FolderId);
+ cmd.Parameters.Add("?UserId", userId);
if (cmd.ExecuteNonQuery() != 1) {
throw new System.Data.DataException("Error updating subscription.");
@@ -486,12 +486,12 @@
using (MySqlConnection cnn = MySqlHelper.GetConnection()) {
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandText = "SELECT UserId FROM User WHERE Username = ?Username";
- cmd.Parameters.Add("Username", userName);
+ cmd.Parameters.Add("?Username", userName);
int userId = (int)cmd.ExecuteScalar();
cmd.CommandText = "DELETE FROM Subscription WHERE UserId = ?UserId AND FolderId = ?FolderId";
- cmd.Parameters.Add("UserId", userId);
- cmd.Parameters.Add("FolderId", folder.FolderId);
+ cmd.Parameters.Add("?UserId", userId);
+ cmd.Parameters.Add("?FolderId", folder.FolderId);
if (cmd.ExecuteNonQuery() != 1) {
throw new System.Data.DataException("Error updating subscription.");
@@ -510,8 +510,8 @@
using (MySqlConnection cnn = MySqlHelper.GetConnection()) {
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandText = "SELECT FolderMessageId FROM Message WHERE FolderId = ?FolderId AND FolderMessageId > ?MessageId ORDER BY FolderMessageId LIMIT 1";
- cmd.Parameters.Add("FolderId", folder.FolderId);
- cmd.Parameters.Add("MessageId", messageId);
+ cmd.Parameters.Add("?FolderId", folder.FolderId);
+ cmd.Parameters.Add("?MessageId", messageId);
object o = cmd.ExecuteScalar();
return (o == null) ? 0 : (int)o;
@@ -523,7 +523,7 @@
using (MySqlConnection cnn = MySqlHelper.GetConnection()) {
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandText = "SELECT NextMessageId FROM Folder WHERE FolderId = ?FolderId";
- cmd.Parameters.Add("FolderId", folder.FolderId);
+ cmd.Parameters.Add("?FolderId", folder.FolderId);
object o = cmd.ExecuteScalar();
return (o == null) ? 0 : (int)o;
@@ -537,8 +537,8 @@
using (MySqlConnection cnn = MySqlHelper.GetConnection()) {
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandText = "SELECT FolderMessageId FROM Message WHERE FolderId = ?FolderId ORDER BY FolderMessageId LIMIT 1 OFFSET ?Offset";
- cmd.Parameters.Add("FolderId", folder.FolderId);
- cmd.Parameters.Add("Offset", messageOffset - 1);
+ cmd.Parameters.Add("?FolderId", folder.FolderId);
+ cmd.Parameters.Add("?Offset", messageOffset - 1);
return (int)cmd.ExecuteScalar();
}
}
@@ -550,8 +550,8 @@
using (MySqlConnection cnn = MySqlHelper.GetConnection()) {
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandText = "SELECT COUNT(*) FROM Message WHERE FolderId = ?FolderId AND FolderMessageId <= ?FolderMessageId";
- cmd.Parameters.Add("FolderId", folder.FolderId);
- cmd.Parameters.Add("FolderMessageId", messageId);
+ cmd.Parameters.Add("?FolderId", folder.FolderId);
+ cmd.Parameters.Add("?FolderMessageId", messageId);
return Convert.ToInt32((long)cmd.ExecuteScalar());
}
}
@@ -569,8 +569,8 @@
using (MySqlConnection cnn = MySqlHelper.GetConnection()) {
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandText = "SELECT SeenFlag, AnsweredFlag, FlaggedFlag, DeletedFlag, DraftFlag, RecentFlag FROM Message WHERE FolderId = ?FolderId AND FolderMessageId = ?FolderMessageId";
- cmd.Parameters.Add("FolderId", folder.FolderId);
- cmd.Parameters.Add("FolderMessageId", messageId);
+ cmd.Parameters.Add("?FolderId", folder.FolderId);
+ cmd.Parameters.Add("?FolderMessageId", messageId);
using (MySqlDataReader reader = cmd.ExecuteReader()) {
if (reader.Read()) {
@@ -606,14 +606,14 @@
using (MySqlConnection cnn = MySqlHelper.GetConnection()) {
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandText = "UPDATE Message SET SeenFlag = ?SeenFlag, AnsweredFlag = ?AnsweredFlag, FlaggedFlag = ?FlaggedFlag, DeletedFlag = ?DeletedFlag, DraftFlag = ?DraftFlag, RecentFlag = ?RecentFlag WHERE FolderId = ?FolderId AND FolderMessageId = ?FolderMessageId";
- cmd.Parameters.Add("FolderId", folder.FolderId);
- cmd.Parameters.Add("FolderMessageId", messageId);
- cmd.Parameters.Add("SeenFlag", ((flags & StoreMessageFlags.Seen) != StoreMessageFlags.None));
- cmd.Parameters.Add("AnsweredFlag", ((flags & StoreMessageFlags.Answered) != StoreMessageFlags.None));
- cmd.Parameters.Add("FlaggedFlag", ((flags & StoreMessageFlags.Flagged) != StoreMessageFlags.None));
- cmd.Parameters.Add("DeletedFlag", ((flags & StoreMessageFlags.Deleted) != StoreMessageFlags.None));
- cmd.Parameters.Add("DraftFlag", ((flags & StoreMessageFlags.Draft) != StoreMessageFlags.None));
- cmd.Parameters.Add("RecentFlag", ((flags & StoreMessageFlags.Recent) != StoreMessageFlags.None));
+ cmd.Parameters.Add("?FolderId", folder.FolderId);
+ cmd.Parameters.Add("?FolderMessageId", messageId);
+ cmd.Parameters.Add("?SeenFlag", ((flags & StoreMessageFlags.Seen) != StoreMessageFlags.None));
+ cmd.Parameters.Add("?AnsweredFlag", ((flags & StoreMessageFlags.Answered) != StoreMessageFlags.None));
+ cmd.Parameters.Add("?FlaggedFlag", ((flags & StoreMessageFlags.Flagged) != StoreMessageFlags.None));
+ cmd.Parameters.Add("?DeletedFlag", ((flags & StoreMessageFlags.Deleted) != StoreMessageFlags.None));
+ cmd.Parameters.Add("?DraftFlag", ((flags & StoreMessageFlags.Draft) != StoreMessageFlags.None));
+ cmd.Parameters.Add("?RecentFlag", ((flags & StoreMessageFlags.Recent) != StoreMessageFlags.None));
if (cmd.ExecuteNonQuery() != 1) {
throw new Exception("Error updating message flags.");
@@ -632,8 +632,8 @@
using (MySqlConnection cnn = MySqlHelper.GetConnection()) {
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandText = "SELECT InternalDate FROM Message WHERE FolderId = ?FolderId AND FolderMessageId = ?FolderMessageId";
- cmd.Parameters.Add("FolderId", folder.FolderId);
- cmd.Parameters.Add("FolderMessageId", messageId);
+ cmd.Parameters.Add("?FolderId", folder.FolderId);
+ cmd.Parameters.Add("?FolderMessageId", messageId);
return (DateTime)cmd.ExecuteScalar();
}
}
@@ -645,8 +645,8 @@
using (MySqlConnection cnn = MySqlHelper.GetConnection()) {
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandText = "SELECT Size FROM Message WHERE FolderId = ?FolderId AND FolderMessageId = ?FolderMessageId";
- cmd.Parameters.Add("FolderId", folder.FolderId);
- cmd.Parameters.Add("FolderMessageId", messageId);
+ cmd.Parameters.Add("?FolderId", folder.FolderId);
+ cmd.Parameters.Add("?FolderMessageId", messageId);
return (int)cmd.ExecuteScalar();
}
}
@@ -658,8 +658,8 @@
using (MySqlConnection cnn = MySqlHelper.GetConnection()) {
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandText = "SELECT Headers FROM Message WHERE FolderId = ?FolderId AND FolderMessageId = ?FolderMessageId";
- cmd.Parameters.Add("FolderId", folder.FolderId);
- cmd.Parameters.Add("FolderMessageId", messageId);
+ cmd.Parameters.Add("?FolderId", folder.FolderId);
+ cmd.Parameters.Add("?FolderMessageId", messageId);
byte[] headerBytes = (byte[]) cmd.ExecuteScalar();
if (headerBytes == null) {
@@ -677,9 +677,9 @@
using (MySqlConnection cnn = MySqlHelper.GetConnection()) {
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandText = "SELECT md.Data FROM Message m, MessageData md WHERE m.MessageId = md.MessageId AND m.FolderId = ?FolderId AND m.FolderMessageId = ?FolderMessageId AND md.Part = ?Part";
- cmd.Parameters.Add("FolderId", folder.FolderId);
- cmd.Parameters.Add("FolderMessageId", messageId);
- cmd.Parameters.Add("Part", messagePart);
+ cmd.Parameters.Add("?FolderId", folder.FolderId);
+ cmd.Parameters.Add("?FolderMessageId", messageId);
+ cmd.Parameters.Add("?Part", messagePart);
byte[] bodyDataBytes = (byte[]) cmd.ExecuteScalar();
return new SimpleBodyPart(new ByteString(bodyDataBytes, Encoding.ASCII));
}
@@ -692,8 +692,8 @@
using (MySqlConnection cnn = MySqlHelper.GetConnection()) {
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandText = "SELECT MimeMessage FROM Message WHERE FolderId = ?FolderId AND FolderMessageId = ?FolderMessageId";
- cmd.Parameters.Add("FolderId", folder.FolderId);
- cmd.Parameters.Add("FolderMessageId", messageId);
+ cmd.Parameters.Add("?FolderId", folder.FolderId);
+ cmd.Parameters.Add("?FolderMessageId", messageId);
SByte sb = (SByte) cmd.ExecuteScalar();
bool mimeMessage = (sb == 1) ? true : false;
@@ -702,8 +702,8 @@
if (mimeMessage) {
cmd.CommandText = "SELECT Preamble, Postamble FROM Message WHERE FolderId = ?FolderId AND FolderMessageId = ?FolderMessageId";
- cmd.Parameters.Add("FolderId", folder.FolderId);
- cmd.Parameters.Add("FolderMessageId", messageId);
+ cmd.Parameters.Add("?FolderId", folder.FolderId);
+ cmd.Parameters.Add("?FolderMessageId", messageId);
MySqlDataReader reader = cmd.ExecuteReader();
if (reader.Read()) {
@@ -719,8 +719,8 @@
reader.Close();
cmd.CommandText = "SELECT md.Data FROM Message m, MessageData md WHERE m.MessageId = md.MessageId AND m.FolderId = ?FolderId AND m.FolderMessageId = ?FolderMessageId ORDER BY md.Part";
- cmd.Parameters.Add("FolderId", folder.FolderId);
- cmd.Parameters.Add("FolderMessageId", messageId);
+ cmd.Parameters.Add("?FolderId", folder.FolderId);
+ cmd.Parameters.Add("?FolderMessageId", messageId);
reader = cmd.ExecuteReader();
ArrayList mimePartList = new ArrayList();
@@ -735,8 +735,8 @@
} else {
cmd.CommandText = "SELECT md.Data FROM Message m, MessageData md WHERE m.MessageId = md.MessageId AND m.FolderId = ?FolderId AND m.FolderMessageId = ?FolderMessageId AND md.Part = 0";
- cmd.Parameters.Add("FolderId", folder.FolderId);
- cmd.Parameters.Add("FolderMessageId", messageId);
+ cmd.Parameters.Add("?FolderId", folder.FolderId);
+ cmd.Parameters.Add("?FolderMessageId", messageId);
byte[] data = (byte[]) cmd.ExecuteScalar();
result = new Message(new SimpleBodyPart(headers, new ByteString(data, Encoding.ASCII))); // TODO: check if encoding is ok?
@@ -757,7 +757,7 @@
using (MySqlConnection cnn = MySqlHelper.GetConnection()) {
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandText = "SELECT COUNT(*) as MessageCount FROM Message WHERE FolderId = ?FolderId";
- cmd.Parameters.Add("FolderId", folder.FolderId);
+ cmd.Parameters.Add("?FolderId", folder.FolderId);
return Convert.ToInt32((Int64)cmd.ExecuteScalar());
}
}
@@ -769,7 +769,7 @@
using (MySqlConnection cnn = MySqlHelper.GetConnection()) {
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandText = "SELECT COUNT(*) FROM Message WHERE FolderId = ?FolderId AND RecentFlag = true";
- cmd.Parameters.Add("FolderId", folder.FolderId);
+ cmd.Parameters.Add("?FolderId", folder.FolderId);
return Convert.ToInt32((long)cmd.ExecuteScalar());
}
}
@@ -787,7 +787,7 @@
MySqlCommand cmd = cnn.CreateCommand();
cmd.Transaction = transaction;
cmd.CommandText = "SELECT FolderMessageId FROM Message WHERE FolderId = ?FolderId AND DeletedFlag = true";
- cmd.Parameters.Add("FolderId", folder.FolderId);
+ cmd.Parameters.Add("?FolderId", folder.FolderId);
// Get a list of deleted messages
MySqlDataReader reader = cmd.ExecuteReader();
@@ -803,15 +803,15 @@
cmd = cnn.CreateCommand();
cmd.Transaction = transaction;
cmd.CommandText = "SELECT MessageId FROM Message WHERE FolderId = ?FolderId AND FolderMessageId = ?FolderMessageId";
- cmd.Parameters.Add("FolderId", folder.FolderId);
- cmd.Parameters.Add("FolderMessageId", (int) folderMsgIds[i]);
+ cmd.Parameters.Add("?FolderId", folder.FolderId);
+ cmd.Parameters.Add("?FolderMessageId", (int) folderMsgIds[i]);
long messageId = (long) cmd.ExecuteScalar();
cmd = cnn.CreateCommand();
cmd.Transaction = transaction;
cmd.CommandText = "DELETE FROM Message WHERE MessageId = ?MessageId";
- cmd.Parameters.Add("FolderId", folder.FolderId);
- cmd.Parameters.Add("MessageId", messageId);
+ cmd.Parameters.Add("?FolderId", folder.FolderId);
+ cmd.Parameters.Add("?MessageId", messageId);
if (cmd.ExecuteNonQuery() != 1) {
transaction.Rollback();
@@ -835,7 +835,7 @@
using (MySqlConnection cnn = MySqlHelper.GetConnection()) {
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandText = "SELECT Data FROM AuxData WHERE `Key` = ?Key";
- cmd.Parameters.Add("Key", key);
+ cmd.Parameters.Add("?Key", key);
byte[] data = (byte[]) cmd.ExecuteScalar();
return SerializationHelper.Deserialize(data);
@@ -853,15 +853,15 @@
MySqlCommand cmd = cnn.CreateCommand();
cmd.CommandText = "DELETE FROM AuxData WHERE `Key` = ?Key";
- cmd.Parameters.Add("Key", key);
+ cmd.Parameters.Add("?Key", key);
cmd.Transaction = trans;
cmd.ExecuteNonQuery();
cmd = cnn.CreateCommand();
cmd.CommandText = "INSERT INTO AuxData (`Key`, Data) VALUES (?Key, ?Data)";
- cmd.Parameters.Add("Key", key);
- cmd.Parameters.Add("Data", SerializationHelper.Serialize(o));
+ cmd.Parameters.Add("?Key", key);
+ cmd.Parameters.Add("?Data", SerializationHelper.Serialize(o));
cmd.Transaction = trans;
if (cmd.ExecuteNonQuery() == 1) {
@@ -891,12 +891,12 @@
cmd.Transaction = transaction;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "GetUserFromName";
- cmd.Parameters.Add("Name", name);
- cmd.Parameters.Add("UserId", MySqlDbType.Int32);
- cmd.Parameters.Add("QuotaHardLimit", MySqlDbType.Int32);
- cmd.Parameters.Add("QuotaWarnLimit", MySqlDbType.Int32);
- cmd.Parameters.Add("UserFolderId", MySqlDbType.Int32);
- cmd.Parameters.Add("Result", MySqlDbType.Int32);
+ cmd.Parameters.Add("?Name", name);
+ cmd.Parameters.Add("?UserId", MySqlDbType.Int32);
+ cmd.Parameters.Add("?QuotaHardLimit", MySqlDbType.Int32);
+ cmd.Parameters.Add("?QuotaWarnLimit", MySqlDbType.Int32);
+ cmd.Parameters.Add("?UserFolderId", MySqlDbType.Int32);
+ cmd.Parameters.Add("?Result", MySqlDbType.Int32);
cmd.Parameters["UserId"].Direction = ParameterDirection.Output;
cmd.Parameters["QuotaHardLimit"].Direction = ParameterDirection.Output;
cmd.Parameters["QuotaWarnLimit"].Direction = ParameterDirection.Output;
@@ -947,12 +947,12 @@
cmd.Transaction = transaction;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "GetUserFromId";
- cmd.Parameters.Add("UserId", userId);
- cmd.Parameters.Add("Name", MySqlDbType.VarChar);
- cmd.Parameters.Add("QuotaHardLimit", MySqlDbType.Int32);
- cmd.Parameters.Add("QuotaWarnLimit", MySqlDbType.Int32);
- cmd.Parameters.Add("UserFolderId", MySqlDbType.Int32);
- cmd.Parameters.Add("Result", MySqlDbType.Int32);
+ cmd.Parameters.Add("?UserId", userId);
+ cmd.Parameters.Add("?Name", MySqlDbType.VarChar);
+ cmd.Parameters.Add("?QuotaHardLimit", MySqlDbType.Int32);
+ cmd.Parameters.Add("?QuotaWarnLimit", MySqlDbType.Int32);
+ cmd.Parameters.Add("?UserFolderId", MySqlDbType.Int32);
+ cmd.Parameters.Add("?Result", MySqlDbType.Int32);
cmd.Parameters["Name"].Direction = ParameterDirection.Output;
cmd.Parameters["QuotaHardLimit"].Direction = ParameterDirection.Output;
cmd.Parameters["QuotaWarnLimit"].Direction = ParameterDirection.Output;
@@ -1044,11 +1044,11 @@
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "CreateUser";
- cmd.Parameters.Add("Name", username);
- cmd.Parameters.Add("QuotaHardLimit", hardQuota);
- cmd.Parameters.Add("QuotaWarnLimit", warnQuota);
- cmd.Parameters.Add("UserId", MySqlDbType.Int32);
- cmd.Parameters.Add("Result", MySqlDbType.Int32);
+ cmd.Parameters.Add("?Name", username);
+ cmd.Parameters.Add("?QuotaHardLimit", hardQuota);
+ cmd.Parameters.Add("?QuotaWarnLimit", warnQuota);
+ cmd.Parameters.Add("?UserId", MySqlDbType.Int32);
+ cmd.Parameters.Add("?Result", MySqlDbType.Int32);
cmd.Parameters["UserId"].Direction = ParameterDirection.Output;
cmd.Parameters["Result"].Direction = ParameterDirection.Output;
@@ -1073,8 +1073,8 @@
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "DeleteUser";
- cmd.Parameters.Add("DeleteUserId", userId);
- cmd.Parameters.Add("Result", MySqlDbType.Int32);
+ cmd.Parameters.Add("?DeleteUserId", userId);
+ cmd.Parameters.Add("?Result", MySqlDbType.Int32);
cmd.Parameters["Result"].Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
@@ -1098,11 +1098,11 @@
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "UpdateUser";
- cmd.Parameters.Add("UserId", user.UserId);
- cmd.Parameters.Add("Name", user.Username);
- cmd.Parameters.Add("QuotaHardLimit", user.QuotaHardLimit);
- cmd.Parameters.Add("QuotaWarnLimit", user.QuotaWarnLimit);
- cmd.Parameters.Add("Result", MySqlDbType.Int32);
+ cmd.Parameters.Add("?UserId", user.UserId);
+ cmd.Parameters.Add("?Name", user.Username);
+ cmd.Parameters.Add("?QuotaHardLimit", user.QuotaHardLimit);
+ cmd.Parameters.Add("?QuotaWarnLimit", user.QuotaWarnLimit);
+ cmd.Parameters.Add("?Result", MySqlDbType.Int32);
cmd.Parameters["Result"].Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
@@ -1125,7 +1125,7 @@
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "GetUserFolders";
- cmd.Parameters.Add("UserId", userId);
+ cmd.Parameters.Add("?UserId", userId);
List<StoreFolder> folders = new List<StoreFolder>();
MySqlDataReader reader = cmd.ExecuteReader();
@@ -1166,10 +1166,10 @@
cmd.Transaction = transaction;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "GetGroupFromName";
- cmd.Parameters.Add("Name", name);
- cmd.Parameters.Add("GroupId", MySqlDbType.Int32);
+ cmd.Parameters.Add("?Name", name);
+ cmd.Parameters.Add("?GroupId", MySqlDbType.Int32);
cmd.Parameters["GroupId"].Direction = ParameterDirection.Output;
- cmd.Parameters.Add("Result", MySqlDbType.Int32);
+ cmd.Parameters.Add("?Result", MySqlDbType.Int32);
cmd.Parameters["Result"].Direction = ParameterDirection.Output;
DataSet groupData = new DataSet();
@@ -1220,10 +1220,10 @@
cmd.Transaction = transaction;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "GetGroupFromId";
- cmd.Parameters.Add("GroupId", groupId);
- cmd.Parameters.Add("Name", MySqlDbType.VarChar);
+ cmd.Parameters.Add("?GroupId", groupId);
+ cmd.Parameters.Add("?Name", MySqlDbType.VarChar);
cmd.Parameters["Name"].Direction = ParameterDirection.Output;
- cmd.Parameters.Add("Result", MySqlDbType.Int32);
+ cmd.Parameters.Add("?Result", MySqlDbType.Int32);
cmd.Parameters["Result"].Direction = ParameterDirection.Output;
DataSet groupData = new DataSet();
@@ -1311,10 +1311,10 @@
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "CreateGroup";
- cmd.Parameters.Add("Name", name);
- cmd.Parameters.Add("GroupId", MySqlDbType.Int32);
+ cmd.Parameters.Add("?Name", name);
+ cmd.Parameters.Add("?GroupId", MySqlDbType.Int32);
cmd.Parameters["GroupId"].Direction = ParameterDirection.Output;
- cmd.Parameters.Add("Result", MySqlDbType.Int32);
+ cmd.Parameters.Add("?Result", MySqlDbType.Int32);
cmd.Parameters["Result"].Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
@@ -1338,8 +1338,8 @@
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "DeleteGroup";
- cmd.Parameters.Add("DeleteGroupId", groupId);
- cmd.Parameters.Add("Result", MySqlDbType.Int32);
+ cmd.Parameters.Add("?DeleteGroupId", groupId);
+ cmd.Parameters.Add("?Result", MySqlDbType.Int32);
cmd.Parameters["Result"].Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
@@ -1363,10 +1363,10 @@
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "UpdateGroup";
- cmd.Parameters.Add("GroupId", group.GroupId);
- cmd.Parameters.Add("Name", group.Name);
- cmd.Parameters.Add("ObjectData", SerializationHelper.Serialize(group));
- cmd.Parameters.Add("Result", MySqlDbType.Int32);
+ cmd.Parameters.Add("?GroupId", group.GroupId);
+ cmd.Parameters.Add("?Name", group.Name);
+ cmd.Parameters.Add("?ObjectData", SerializationHelper.Serialize(group));
+ cmd.Parameters.Add("?Result", MySqlDbType.Int32);
cmd.Parameters["Result"].Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
@@ -1391,10 +1391,10 @@
private void setStoreFolderAce(StoreFolder folder, GenericAce<StoreFolderPrivilege> ace, MySqlConnection cnn, MySqlTransaction transaction) {
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandText = "REPLACE FolderAcl (FolderId, Identifier, Allow, Privilege) VALUES (?FolderId, ?Identifier, ?Allow, ?Privilege)";
- cmd.Parameters.Add("FolderId", folder.FolderId);
- cmd.Parameters.Add("Identifier", ace.Identifier);
- cmd.Parameters.Add("Privilege", Convert.ToUInt32(ace.Privilege));
- cmd.Parameters.Add("Allow", (ace.AceType == AcePrivilegeType.Allow));
+ cmd.Parameters.Add("?FolderId", folder.FolderId);
+ cmd.Parameters.Add("?Identifier", ace.Identifier);
+ cmd.Parameters.Add("?Privilege", Convert.ToUInt32(ace.Privilege));
+ cmd.Parameters.Add("?Allow", (ace.AceType == AcePrivilegeType.Allow));
int count = cmd.ExecuteNonQuery();
if (count != 1 && count != 2) { // Replace returns a count of 2
@@ -1409,8 +1409,8 @@
using (MySqlConnection cnn = MySqlHelper.GetConnection()) {
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandText = "DELETE FROM FolderAcl WHERE FolderId = ?FolderId AND Identifier = ?Identifier";
- cmd.Parameters.Add("FolderId", folder.FolderId);
- cmd.Parameters.Add("Identifier", identifier);
+ cmd.Parameters.Add("?FolderId", folder.FolderId);
+ cmd.Parameters.Add("?Identifier", identifier);
if (cmd.ExecuteNonQuery() != 1) {
throw new System.Data.DataException("Error deleting ACE.");
@@ -1428,7 +1428,7 @@
using (MySqlConnection cnn = MySqlHelper.GetConnection()) {
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandText = "SELECT Identifier, Allow, Privilege FROM FolderAcl WHERE FolderId = ?FolderId";
- cmd.Parameters.Add("FolderId", folder.FolderId);
+ cmd.Parameters.Add("?FolderId", folder.FolderId);
using (MySqlDataReader reader = cmd.ExecuteReader()) {
while (reader.Read()) {
@@ -1456,7 +1456,7 @@
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.Transaction = transaction;
cmd.CommandText = "SELECT ObjectData FROM MailDomain WHERE MailDomainId = ?MailDomainId";
- cmd.Parameters.Add("MailDomainId", mailDomainId);
+ cmd.Parameters.Add("?MailDomainId", mailDomainId);
MailDomain result = null;
byte[] objectData = cmd.ExecuteScalar() as byte[];
@@ -1526,11 +1526,11 @@
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "AddMailDomain";
- cmd.Parameters.Add("PrimaryHost", mailDomain.PrimaryHost.ToString());
- cmd.Parameters.Add("ObjectData", SerializationHelper.Serialize(mailDomain));
- cmd.Parameters.Add("MailDomainId", MySqlDbType.Int32);
+ cmd.Parameters.Add("?PrimaryHost", mailDomain.PrimaryHost.ToString());
+ cmd.Parameters.Add("?ObjectData", SerializationHelper.Serialize(mailDomain));
+ cmd.Parameters.Add("?MailDomainId", MySqlDbType.Int32);
cmd.Parameters["MailDomainId"].Direction = ParameterDirection.Output;
- cmd.Parameters.Add("Result", MySqlDbType.Int32);
+ cmd.Parameters.Add("?Result", MySqlDbType.Int32);
cmd.Parameters["Result"].Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
@@ -1554,8 +1554,8 @@
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "DeleteMailDomain";
- cmd.Parameters.Add("DeleteMailDomainId", mailDomainId);
- cmd.Parameters.Add("Result", MySqlDbType.Int32);
+ cmd.Parameters.Add("?DeleteMailDomainId", mailDomainId);
+ cmd.Parameters.Add("?Result", MySqlDbType.Int32);
cmd.Parameters["Result"].Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
@@ -1579,10 +1579,10 @@
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "UpdateMailDomain";
- cmd.Parameters.Add("PrimaryHost", updatedMailDomain.PrimaryHost.ToString());
- cmd.Parameters.Add("MailDomainId", updatedMailDomain.MailDomainId);
- cmd.Parameters.Add("ObjectData", SerializationHelper.Serialize(updatedMailDomain));
- cmd.Parameters.Add("Result", MySqlDbType.Int32);
+ cmd.Parameters.Add("?PrimaryHost", updatedMailDomain.PrimaryHost.ToString());
+ cmd.Parameters.Add("?MailDomainId", updatedMailDomain.MailDomainId);
+ cmd.Parameters.Add("?ObjectData", SerializationHelper.Serialize(updatedMailDomain));
+ cmd.Parameters.Add("?Result", MySqlDbType.Int32);
cmd.Parameters["Result"].Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
@@ -1607,9 +1607,9 @@
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "SetSystemAce";
- cmd.Parameters.Add("Identifier", ace.Identifier);
- cmd.Parameters.Add("Privilege", Convert.ToUInt32(ace.Privilege));
- cmd.Parameters.Add("Allow", (ace.AceType == AcePrivilegeType.Allow));
+ cmd.Parameters.Add("?Identifier", ace.Identifier);
+ cmd.Parameters.Add("?Privilege", Convert.ToUInt32(ace.Privilege));
+ cmd.Parameters.Add("?Allow", (ace.AceType == AcePrivilegeType.Allow));
cmd.ExecuteNonQuery();
}
}
@@ -1624,7 +1624,7 @@
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "RemoveSystemAce";
- cmd.Parameters.Add("Identifier", identifier);
+ cmd.Parameters.Add("?Identifier", identifier);
cmd.ExecuteNonQuery();
}
}
Modified: NMail/branches/luke-dev/NMail.LocalStoreData.MySql/MySqlUserMap.cs
===================================================================
--- NMail/branches/luke-dev/NMail.LocalStoreData.MySql/MySqlUserMap.cs 2006-11-07 12:09:49 UTC (rev 74)
+++ NMail/branches/luke-dev/NMail.LocalStoreData.MySql/MySqlUserMap.cs 2006-11-07 12:13:59 UTC (rev 75)
@@ -46,7 +46,7 @@
using (MySqlCommand cmd = cnn.CreateCommand()) {
// First check if the username matches the mailbox
cmd.CommandText = "SELECT u.UserId FROM User u WHERE u.Username LIKE ?Mailbox";
- cmd.Parameters.Add("Mailbox", mailbox);
+ cmd.Parameters.Add("?Mailbox", mailbox);
object o = cmd.ExecuteScalar();
if (o is int) {
@@ -55,7 +55,7 @@
// Next check if the mailbox maps to a user
cmd.CommandText = "SELECT u.UserId FROM User u, MailboxMapping m WHERE u.UserId = m.UserId AND m.Mailbox LIKE ?Mailbox";
- cmd.Parameters.Add("Mailbox", mailbox);
+ cmd.Parameters.Add("?Mailbox", mailbox);
o = cmd.ExecuteScalar();
if (o is int) {
@@ -72,7 +72,7 @@
using (MySqlConnection cnn = MySqlHelper.GetConnection()) {
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandText = "SELECT m.Mailbox FROM User u, MailboxMapping m WHERE u.UserId = m.UserId AND u.Username LIKE ?Username";
- cmd.Parameters.Add("Username", username);
+ cmd.Parameters.Add("?Username", username);
using (MySqlDataReader reader = cmd.ExecuteReader()) {
List<Mailbox> mailboxes = new List<Mailbox>();
Modified: NMail/branches/luke-dev/NMail.LocalStoreData.MySql/NMail.LocalStoreData.MySql.csproj
===================================================================
--- NMail/branches/luke-dev/NMail.LocalStoreData.MySql/NMail.LocalStoreData.MySql.csproj 2006-11-07 12:09:49 UTC (rev 74)
+++ NMail/branches/luke-dev/NMail.LocalStoreData.MySql/NMail.LocalStoreData.MySql.csproj 2006-11-07 12:13:59 UTC (rev 75)
@@ -78,9 +78,9 @@
<SpecificVersion>False</SpecificVersion>
<HintPath>..\References\Mono.Security.dll</HintPath>
</Reference>
- <Reference Include="MySql.Data">
- <Name>MySql.Data</Name>
- <HintPath>..\..\..\..\..\..\..\Program Files\MySQL\MySQL Connector Net 1.0.4\bin\.NET 1.1\MySql.Data.dll</HintPath>
+ <Reference Include="MySql.Data, Version=1.0.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\References\MySql.Data.dll</HintPath>
</Reference>
<Reference Include="System">
<Name>System</Name>
Modified: NMail/branches/luke-dev/NMail.SpoolData.MySql/MySqlSpoolData.cs
===================================================================
--- NMail/branches/luke-dev/NMail.SpoolData.MySql/MySqlSpoolData.cs 2006-11-07 12:09:49 UTC (rev 74)
+++ NMail/branches/luke-dev/NMail.SpoolData.MySql/MySqlSpoolData.cs 2006-11-07 12:13:59 UTC (rev 75)
@@ -65,8 +65,8 @@
MySqlCommand cmd = cnn.CreateCommand();
cmd.Transaction = transaction;
cmd.CommandText = "SELECT MessageRecipientId FROM Message m, MessageRecipient mr WHERE m.MessageGuid = ?MessageGuid AND mr.Recipient = ?Recipient AND mr.MessageId = m.MessageId";
- cmd.Parameters.Add("MessageGuid", recipient.Message.MessageId.ToByteArray());
- cmd.Parameters.Add("Recipient", recipient.ToString());
+ cmd.Parameters.Add("?MessageGuid", recipient.Message.MessageId.ToByteArray());
+ cmd.Parameters.Add("?Recipient", recipient.ToString());
int messageRecipientId = (int)cmd.ExecuteScalar();
if (result.Type == DeliveryResultType.TemporaryError) {
@@ -74,10 +74,10 @@
cmd = cnn.CreateCommand();
cmd.Transaction = transaction;
cmd.CommandText = "UPDATE MessageRecipient SET DeliveryAttempts = ?DeliveryAttempts, NextDeliveryAttempt = ?NextDeliveryAttempt, InProgress = ?InProgress WHERE MessageRecipientId = ?MessageRecipientId";
- cmd.Parameters.Add("DeliveryAttempts", recipient.DeliveryAttempts);
- cmd.Parameters.Add("NextDeliveryAttempt", recipient.NextDeliveryAttempt);
- cmd.Parameters.Add("InProgress", false);
- cmd.Parameters.Add("MessageRecipientId", messageRecipientId);
+ cmd.Parameters.Add("?DeliveryAttempts", recipient.DeliveryAttempts);
+ cmd.Parameters.Add("?NextDeliveryAttempt", recipient.NextDeliveryAttempt);
+ cmd.Parameters.Add("?InProgress", false);
+ cmd.Parameters.Add("?MessageRecipientId", messageRecipientId);
if (cmd.ExecuteNonQuery() == 1) {
transaction.Commit();
@@ -91,21 +91,21 @@
cmd = cnn.CreateCommand();
cmd.Transaction = transaction;
cmd.CommandText = "SELECT MessageId FROM MessageRecipient WHERE MessageRecipientId = ?MessageRecipientId";
- cmd.Parameters.Add("MessageRecipientId", messageRecipientId);
+ cmd.Parameters.Add("?MessageRecipientId", messageRecipientId);
int messageId = (int)cmd.ExecuteScalar();
// Either delivered successfully or permenant failure, delete the recipient
cmd = cnn.CreateCommand();
cmd.Transaction = transaction;
cmd.CommandText = "DELETE FROM MessageRecipient WHERE MessageRecipientId = ?MessageRecipientId";
- cmd.Parameters.Add("MessageRecipientId", messageRecipientId);
+ cmd.Parameters.Add("?MessageRecipientId", messageRecipientId);
if (cmd.ExecuteNonQuery() == 1) {
// Check if any recipients remain
cmd = cnn.CreateCommand();
cmd.Transaction = transaction;
cmd.CommandText = "SELECT COUNT(*) FROM MessageRecipient WHERE MessageId = ?MessageId";
- cmd.Parameters.Add("MessageId", messageId);
+ cmd.Parameters.Add("?MessageId", messageId);
long count = (long)cmd.ExecuteScalar();
if (count == 0) {
@@ -113,7 +113,7 @@
cmd = cnn.CreateCommand();
cmd.Transaction = transaction;
cmd.CommandText = "DELETE FROM Message WHERE MessageId = ?MessageId";
- cmd.Parameters.Add("MessageId", messageId);
+ cmd.Parameters.Add("?MessageId", messageId);
if (cmd.ExecuteNonQuery() != 1) {
transaction.Rollback();
@@ -142,7 +142,7 @@
MySqlTransaction trans = cnn.BeginTransaction();
cmd.Transaction = trans;
cmd.CommandText = "SELECT MessageId FROM Message WHERE MessageGuid = ?MessageGuid";
- cmd.Parameters.Add("MessageGuid", message.MessageId.ToByteArray());
+ cmd.Parameters.Add("?MessageGuid", message.MessageId.ToByteArray());
int messageId = (int)cmd.ExecuteScalar();
if (filtered) {
@@ -150,7 +150,7 @@
cmd = cnn.CreateCommand();
cmd.Transaction = trans;
cmd.CommandText = "UPDATE Message SET Filtered = true, InProgress = false WHERE MessageId = ?MessageId";
- cmd.Parameters.Add("MessageId", messageId);
+ cmd.Parameters.Add("?MessageId", messageId);
if (cmd.ExecuteNonQuery() != 1) {
trans.Rollback();
throw new Exception("Error updating filtered status.");
@@ -159,7 +159,7 @@
cmd = cnn.CreateCommand();
cmd.Transaction = trans;
cmd.CommandText = "DELETE FROM MessageRecipient WHERE MessageId = ?MessageId";
- cmd.Parameters.Add("MessageId", messageId);
+ cmd.Parameters.Add("?MessageId", messageId);
if (cmd.ExecuteNonQuery() <= 0) {
trans.Rollback();
throw new Exception("Error removing previous recipients.");
@@ -171,12 +171,12 @@
cmd = cnn.CreateCommand();
cmd.Transaction = trans;
cmd.CommandText = "INSERT INTO MessageRecipient (MessageId, Host, Recipient, NextDeliveryAttempt, DeliveryAttempts, InProgress) VALUES (?MessageId, ?Host, ?Recipient, ?NextDeliveryAttempt, ?DeliveryAttempts - 1, ?InProgress)";
- cmd.Parameters.Add("MessageId", messageId);
- cmd.Parameters.Add("Host", recipient.Host.ToString());
- cmd.Parameters.Add("Recipient", recipient.ToString());
- cmd.Parameters.Add("DeliveryAttempts", 1); // TODO: this is a fix for some NULL bug in the connector, chase it up
- cmd.Parameters.Add("NextDeliveryAttempt", deliveryTime);
- cmd.Parameters.Add("InProgress", false);
+ cmd.Parameters.Add("?MessageId", messageId);
+ cmd.Parameters.Add("?Host", recipient.Host.ToString());
+ cmd.Parameters.Add("?Recipient", recipient.ToString());
+ cmd.Parameters.Add("?DeliveryAttempts", 1); // TODO: this is a fix for some NULL bug in the connector, chase it up
+ cmd.Parameters.Add("?NextDeliveryAttempt", deliveryTime);
+ cmd.Parameters.Add("?InProgress", false);
if (cmd.ExecuteNonQuery() != 1) {
trans.Rollback();
@@ -189,14 +189,14 @@
} else {
// Delete the message
cmd.CommandText = "DELETE FROM MessageRecipient WHERE MessageId = ?MessageId";
- cmd.Parameters.Add("MessageId", messageId);
+ cmd.Parameters.Add("?MessageId", messageId);
if (cmd.ExecuteNonQuery() <= 0) {
trans.Rollback();
throw new Exception("Error removing recipients.");
}
cmd.CommandText = "DELETE FROM Message WHERE MessageId = ?MessageId";
- cmd.Parameters.Add("MessageId", messageId);
+ cmd.Parameters.Add("?MessageId", messageId);
if (cmd.ExecuteNonQuery() != 1) {
trans.Rollback();
throw new Exception("Error removing message.");
@@ -232,14 +232,14 @@
cmd = cnn.CreateCommand();
cmd.Transaction = transaction;
cmd.CommandText = "UPDATE Message SET InProgress = true WHERE MessageId = ?MessageId";
- cmd.Parameters.Add("MessageId", messageId);
+ cmd.Parameters.Add("?MessageId", messageId);
if (cmd.ExecuteNonQuery() == 1) {
// Get the recipients for the message
cmd = cnn.CreateCommand();
cmd.Transaction = transaction;
cmd.CommandText = "SELECT Recipient FROM MessageRecipient WHERE MessageId = ?MessageId";
- cmd.Parameters.Add("MessageId", messageId);
+ cmd.Parameters.Add("?MessageId", messageId);
reader = cmd.ExecuteReader();
while (reader.Read()) {
@@ -279,14 +279,14 @@
// Insert the sender details and message data
cmd.CommandText = "INSERT INTO Message (MessageGuid, MessageData, MessageEnvelope, ReportedHost, SourceAddress, Sender, InProgress, Filtered) VALUES (?MessageGuid, ?MessageData, ?MessageEnvelope, ?ReportedHost, ?SourceAddress, ?Sender, ?InProgress, ?Filtered);";
- cmd.Parameters.Add("MessageGuid", message.MessageId.ToByteArray());
- cmd.Parameters.Add("MessageData", SerializationHelper.Serialize(message.Data));
- cmd.Parameters.Add("MessageEnvelope", SerializationHelper.Serialize(message.Data.GetEnvelope()));
- cmd.Parameters.Add("ReportedHost", message.ReportedHost.ToString());
- cmd.Parameters.Add("SourceAddress", message.SourceAddress.ToString());
- cmd.Parameters.Add("Sender", message.Sender.ToString());
- cmd.Parameters.Add("InProgress", false);
- cmd.Parameters.Add("Filtered", false);
+ cmd.Parameters.Add("?MessageGuid", message.MessageId.ToByteArray());
+ cmd.Parameters.Add("?MessageData", SerializationHelper.Serialize(message.Data));
+ cmd.Parameters.Add("?MessageEnvelope", SerializationHelper.Serialize(message.Data.GetEnvelope()));
+ cmd.Parameters.Add("?ReportedHost", message.ReportedHost.ToString());
+ cmd.Parameters.Add("?SourceAddress", message.SourceAddress.ToString());
+ cmd.Parameters.Add("?Sender", message.Sender.ToString());
+ cmd.Parameters.Add("?InProgress", false);
+ cmd.Parameters.Add("?Filtered", false);
int count = cmd.ExecuteNonQuery();
if (count != 1) {
@@ -306,12 +306,12 @@
cmd.Transaction = transaction;
cmd.CommandText = "INSERT INTO MessageRecipient (MessageId, Host, Recipient, NextDeliveryAttempt, DeliveryAttempts, InProgress) VALUES (?MessageId, ?Host, ?Recipient, ?NextDeliveryAttempt, ?DeliveryAttempts - 1, ?InProgress)";
- cmd.Parameters.Add("MessageId", messageId);
- cmd.Parameters.Add("Host", recipient.Host.ToString());
- cmd.Parameters.Add("Recipient", recipient.ToString());
- cmd.Parameters.Add("DeliveryAttempts", 1); // TODO: fix for some null bug in the connector, chase it up
- cmd.Parameters.Add("NextDeliveryAttempt", deliveryTime);
- cmd.Parameters.Add("InProgress", false);
+ cmd.Parameters.Add("?MessageId", messageId);
+ cmd.Parameters.Add("?Host", recipient.Host.ToString());
+ cmd.Parameters.Add("?Recipient", recipient.ToString());
+ cmd.Parameters.Add("?DeliveryAttempts", 1); // TODO: fix for some null bug in the connector, chase it up
+ cmd.Parameters.Add("?NextDeliveryAttempt", deliveryTime);
+ cmd.Parameters.Add("?InProgress", false);
count = cmd.ExecuteNonQuery();
@@ -337,7 +337,7 @@
MySqlCommand cmd = cnn.CreateCommand();
cmd.Transaction = transaction;
cmd.CommandText = "SELECT mr.Host FROM MessageRecipient mr, Message m WHERE mr.NextDeliveryAttempt <= ?CurrentTime AND mr.InProgress = false AND m.MessageId = mr.MessageId AND m.Filtered = true AND mr.Host NOT IN (SELECT Host FROM MessageRecipient WHERE InProgress = true) ORDER BY mr.NextDeliveryAttempt ASC LIMIT 1";
- cmd.Parameters.Add("CurrentTime", DateTime.Now);
+ cmd.Parameters.Add("?CurrentTime", DateTime.Now);
object hostname = cmd.ExecuteScalar();
if (hostname is DBNull) {
@@ -356,8 +356,8 @@
cmd = cnn.CreateCommand();
cmd.Transaction = transaction;
cmd.CommandText = "SELECT mr.MessageId, LENGTH(m.MessageData) AS Size FROM Message m, MessageRecipient mr WHERE mr.MessageId = m.MessageId AND mr.InProgress = false AND m.Filtered = true AND mr.Host = ?Host ORDER BY mr.NextDeliveryAttempt LIMIT ?Limit";
- cmd.Parameters.Add("Host", host.ToString());
- cmd.Parameters.Add("Limit", messageLimit);
+ cmd.Parameters.Add("?Host", host.ToString());
+ cmd.Parameters.Add("?Limit", messageLimit);
MySqlDataReader reader = cmd.ExecuteReader();
while (reader.Read()) {
messageIdList.Add(reader.GetInt32(0));
@@ -373,7 +373,7 @@
cmd = cnn.CreateCommand();
cmd.Transaction = transaction;
cmd.CommandText = "SELECT MessageGuid, ReportedHost, SourceAddress, Sender, MessageData FROM Message WHERE MessageId = ?MessageId";
- cmd.Parameters.Add("MessageId", messageIds[i]);
+ cmd.Parameters.Add("?MessageId", messageIds[i]);
reader = cmd.ExecuteReader();
if (reader.Read()) {
@@ -389,7 +389,7 @@
cmd = cnn.CreateCommand();
cmd.Transaction = transaction;
cmd.CommandText = "SELECT MessageRecipientId, Recipient, DeliveryAttempts, NextDeliveryAttempt FROM MessageRecipient WHERE MessageId = ?MessageId AND InProgress = false";
- cmd.Parameters.Add("MessageId", messageIds[i]);
+ cmd.Parameters.Add("?MessageId", messageIds[i]);
reader = cmd.ExecuteReader();
ArrayList recipientIdList = new ArrayList();
@@ -408,7 +408,7 @@
int[] recipientIds = (int[])recipientIdList.ToArray(typeof(int));
for (int j = 0; j < recipientIds.Length; j++) {
cmd.CommandText = "UPDATE MessageRecipient SET InProgress = true WHERE MessageRecipientId = ?MessageRecipientId";
- cmd.Parameters.Add("MessageRecipientId", recipientIds[j]);
+ cmd.Parameters.Add("?MessageRecipientId", recipientIds[j]);
cmd.Transaction = transaction;
if (cmd.ExecuteNonQuery() != 1) {
@@ -493,7 +493,7 @@
using (MySqlCommand cmd = cnn.CreateCommand()) {
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "GetSpoolRecipients";
- cmd.Parameters.Add("MessageId", messageId);
+ cmd.Parameters.Add("?MessageId", messageId);
List<SpoolRecipient> result = new List<SpoolRecipient>();
MySqlDataReader reader = cmd.ExecuteReader();
Modified: NMail/branches/luke-dev/NMail.SpoolFilter/SpoolFilter.cs
===================================================================
--- NMail/branches/luke-dev/NMail.SpoolFilter/SpoolFilter.cs 2006-11-07 12:09:49 UTC (rev 74)
+++ NMail/branches/luke-dev/NMail.SpoolFilter/SpoolFilter.cs 2006-11-07 12:13:59 UTC (rev 75)
@@ -227,9 +227,12 @@
private void FilterMessage(object state) {
SmtpMessage message = (SmtpMessage)state;
+ bool passed = true;
// Pass a new message through the filter
- bool passed = this.config.FilterRule.FilterMessage(message);
+ if (this.config.FilterRule != null) {
+ passed = this.config.FilterRule.FilterMessage(message);
+ }
// Set the filtered bit in the spool data
this.data.SetFilterStatus(message, true);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|