public override IEnumerable<string[][]> RunProcedure(string procedure, string[] parameters, int maxResultSize)
{
if (connection == null) {
OpenConnection(connectString);
}
//Logger.addMessage(Logger.LogType.Info, "Started RunProcedure");
if (connection != null && connection.State == System.Data.ConnectionState.Open && procedure != null)
{
MySqlCommand command = GetCommand(procedure);
if (parameters != null) // could have a procedure with no inputs
{
Logger.addMessage(Logger.LogType.Info, "Parsing parameters...");
for (int i = 0; i < parameters.Length; i++)
{
//separate out parameter name and value
string[] split = parameters[i].Split('=');
if (split.Length != 2)
Logger.addMessage(Logger.LogType.Warning, "Couldn't parse procedure, split didn't work.");
//Logger.addMessage(Logger.LogType.Info, "Adding parameter key:value " + split[0].ToString() + ":" + split[1].ToString());
command.Parameters.AddWithValue(split[0], (object)split[1]);
}
}
yield return RunOnDatabase(command, maxResultSize);
}
//Logger.addMessage(Logger.LogType.Info, "yield breaking in RunProcedure");
yield break;
}