Skip to content

Commit

Permalink
Hacked Extensions.
Browse files Browse the repository at this point in the history
  • Loading branch information
cincuranet committed Mar 10, 2012
1 parent 837881a commit 51f5c0f
Show file tree
Hide file tree
Showing 9 changed files with 39 additions and 41 deletions.
2 changes: 1 addition & 1 deletion NETProvider/source/FirebirdSql/Data/Common/Charset.cs
Expand Up @@ -58,7 +58,7 @@ public static Charset GetCharset(string charsetName)
{
foreach (Charset charset in supportedCharsets)
{
if (Extensions.CultureAwareEquals(charset.Name, charsetName))
if (charset.Name.CultureAwareEquals(charsetName))
return charset;
}
return null;
Expand Down
28 changes: 13 additions & 15 deletions NETProvider/source/FirebirdSql/Data/Common/Extensions.cs
Expand Up @@ -8,11 +8,7 @@ namespace FirebirdSql.Data.Common
{
static class Extensions
{
public static bool HasFlag(
#if (!NET_20)
this
#endif
Enum e, Enum flag)
public static bool HasFlag(this Enum e, Enum flag)
{
#if (!NET_40)
return ((Convert.ToInt32(e) & Convert.ToInt32(flag)) != 0);
Expand All @@ -21,23 +17,15 @@ static class Extensions
#endif
}

public static Version ParseServerVersion(
#if (!NET_20)
this
#endif
string s)
public static Version ParseServerVersion(this string s)
{
Match m = Regex.Match(s, @"\w{2}-\w(\d+\.\d+\.\d+\.\d+) .*");
if (!m.Success)
return null;
return new Version(m.Groups[1].Value);
}

public static bool CultureAwareEquals(
#if (!NET_20)
this
#endif
string string1, string string2)
public static bool CultureAwareEquals(this string string1, string string2)
{
return CultureInfo.CurrentCulture.CompareInfo.Compare(
string1,
Expand All @@ -47,3 +35,13 @@ static class Extensions
}
}
}

#if (NET_20)
namespace System.Runtime.CompilerServices
{
[AttributeUsageAttribute(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Method)]
public class ExtensionAttribute : Attribute
{
}
}
#endif
Expand Up @@ -264,7 +264,7 @@ public Version ServerVersionNumber
if (string.IsNullOrEmpty(this.ServerVersion))
throw new InvalidOperationException("ServerVersion is not valid.");

return Extensions.ParseServerVersion(this.ServerVersion);
return this.ServerVersion.ParseServerVersion();
}
}

Expand Down
Expand Up @@ -714,7 +714,7 @@ private void UpdateRecordsAffected()

private bool IsCommandBehavior(CommandBehavior behavior)
{
return Extensions.HasFlag(this.commandBehavior, behavior);
return this.commandBehavior.HasFlag(behavior);
}

private void InitializeColumnsIndexes()
Expand Down
Expand Up @@ -68,7 +68,7 @@ internal int IndexOf(string errorMessage)
int index = 0;
foreach (FbError item in this.errors)
{
if (Extensions.CultureAwareEquals(item.Message, errorMessage))
if (item.Message.CultureAwareEquals(errorMessage))
{
return index;
}
Expand Down
Expand Up @@ -219,8 +219,8 @@ public override int IndexOf(string parameterName)
int index = 0;
foreach (FbParameter item in this.parameters)
{
if (Extensions.CultureAwareEquals(item.ParameterName, parameterName) ||
Extensions.CultureAwareEquals(item.InternalParameterName, parameterName))
if (item.ParameterName.CultureAwareEquals(parameterName) ||
item.InternalParameterName.CultureAwareEquals(parameterName))
{
return index;
}
Expand Down
Expand Up @@ -199,7 +199,7 @@ protected override string GetDbProviderManifestToken(DbConnection connection)
try
{
FbServerProperties serverProperties = new FbServerProperties() { ConnectionString = fbConnection.ConnectionString };
Version serverVersion = Extensions.ParseServerVersion(serverProperties.GetServerVersion());
Version serverVersion = serverProperties.GetServerVersion().ParseServerVersion();
return serverVersion.ToString(2);
}
catch (FbException ex)
Expand Down
Expand Up @@ -73,41 +73,41 @@ public override string ToString()
sb.AppendFormat("exclude_filter {0}", this.ExcludeFilter);
sb.AppendLine();
}
sb.AppendFormat("log_connections {0}", (Extensions.HasFlag(this.Events, FbDatabaseTraceEvents.Connections) ? "true" : "false"));
sb.AppendFormat("log_connections {0}", this.Events.HasFlag(FbDatabaseTraceEvents.Connections) ? "true" : "false");
sb.AppendLine();
sb.AppendFormat("connection_id {0}", this.ConnectionID);
sb.AppendLine();
sb.AppendFormat("log_transactions {0}", (Extensions.HasFlag(this.Events, FbDatabaseTraceEvents.Transactions) ? "true" : "false"));
sb.AppendFormat("log_transactions {0}", this.Events.HasFlag(FbDatabaseTraceEvents.Transactions) ? "true" : "false");
sb.AppendLine();
sb.AppendFormat("log_statement_prepare {0}", (Extensions.HasFlag(this.Events, FbDatabaseTraceEvents.StatementPrepare) ? "true" : "false"));
sb.AppendFormat("log_statement_prepare {0}", this.Events.HasFlag(FbDatabaseTraceEvents.StatementPrepare) ? "true" : "false");
sb.AppendLine();
sb.AppendFormat("log_statement_free {0}", (Extensions.HasFlag(this.Events, FbDatabaseTraceEvents.StatementFree) ? "true" : "false"));
sb.AppendFormat("log_statement_free {0}", this.Events.HasFlag(FbDatabaseTraceEvents.StatementFree) ? "true" : "false");
sb.AppendLine();
sb.AppendFormat("log_statement_start {0}", (Extensions.HasFlag(this.Events, FbDatabaseTraceEvents.StatementStart) ? "true" : "false"));
sb.AppendFormat("log_statement_start {0}", this.Events.HasFlag(FbDatabaseTraceEvents.StatementStart) ? "true" : "false");
sb.AppendLine();
sb.AppendFormat("log_statement_finish {0}", (Extensions.HasFlag(this.Events, FbDatabaseTraceEvents.StatementFinish) ? "true" : "false"));
sb.AppendFormat("log_statement_finish {0}", this.Events.HasFlag(FbDatabaseTraceEvents.StatementFinish) ? "true" : "false");
sb.AppendLine();
sb.AppendFormat("log_procedure_start {0}", (Extensions.HasFlag(this.Events, FbDatabaseTraceEvents.ProcedureStart) ? "true" : "false"));
sb.AppendFormat("log_procedure_start {0}", this.Events.HasFlag(FbDatabaseTraceEvents.ProcedureStart) ? "true" : "false");
sb.AppendLine();
sb.AppendFormat("log_procedure_finish {0}", (Extensions.HasFlag(this.Events, FbDatabaseTraceEvents.ProcedureFinish) ? "true" : "false"));
sb.AppendFormat("log_procedure_finish {0}", this.Events.HasFlag(FbDatabaseTraceEvents.ProcedureFinish) ? "true" : "false");
sb.AppendLine();
sb.AppendFormat("log_trigger_start {0}", (Extensions.HasFlag(this.Events, FbDatabaseTraceEvents.TriggerStart) ? "true" : "false"));
sb.AppendFormat("log_trigger_start {0}", this.Events.HasFlag(FbDatabaseTraceEvents.TriggerStart) ? "true" : "false");
sb.AppendLine();
sb.AppendFormat("log_trigger_finish {0}", (Extensions.HasFlag(this.Events, FbDatabaseTraceEvents.TriggerFinish) ? "true" : "false"));
sb.AppendFormat("log_trigger_finish {0}", this.Events.HasFlag(FbDatabaseTraceEvents.TriggerFinish) ? "true" : "false");
sb.AppendLine();
sb.AppendFormat("log_context {0}", (Extensions.HasFlag(this.Events, FbDatabaseTraceEvents.Context) ? "true" : "false"));
sb.AppendFormat("log_context {0}", this.Events.HasFlag(FbDatabaseTraceEvents.Context) ? "true" : "false");
sb.AppendLine();
sb.AppendFormat("print_plan {0}", (Extensions.HasFlag(this.Events, FbDatabaseTraceEvents.PrintPlan) ? "true" : "false"));
sb.AppendFormat("print_plan {0}", this.Events.HasFlag(FbDatabaseTraceEvents.PrintPlan) ? "true" : "false");
sb.AppendLine();
sb.AppendFormat("print_perf {0}", (Extensions.HasFlag(this.Events, FbDatabaseTraceEvents.PrintPerf) ? "true" : "false"));
sb.AppendFormat("print_perf {0}", this.Events.HasFlag(FbDatabaseTraceEvents.PrintPerf) ? "true" : "false");
sb.AppendLine();
sb.AppendFormat("log_blr_requests {0}", (Extensions.HasFlag(this.Events, FbDatabaseTraceEvents.BLRRequests) ? "true" : "false"));
sb.AppendFormat("log_blr_requests {0}", this.Events.HasFlag(FbDatabaseTraceEvents.BLRRequests) ? "true" : "false");
sb.AppendLine();
sb.AppendFormat("print_blr {0}", (Extensions.HasFlag(this.Events, FbDatabaseTraceEvents.PrintBLR) ? "true" : "false"));
sb.AppendFormat("print_blr {0}", this.Events.HasFlag(FbDatabaseTraceEvents.PrintBLR) ? "true" : "false");
sb.AppendLine();
sb.AppendFormat("log_dyn_requests {0}", (Extensions.HasFlag(this.Events, FbDatabaseTraceEvents.DYNRequests) ? "true" : "false"));
sb.AppendFormat("log_dyn_requests {0}", this.Events.HasFlag(FbDatabaseTraceEvents.DYNRequests) ? "true" : "false");
sb.AppendLine();
sb.AppendFormat("print_dyn {0}", (Extensions.HasFlag(this.Events, FbDatabaseTraceEvents.PrintDYN) ? "true" : "false"));
sb.AppendFormat("print_dyn {0}", this.Events.HasFlag(FbDatabaseTraceEvents.PrintDYN) ? "true" : "false");
sb.AppendLine();
sb.AppendFormat("time_threshold {0}", this.TimeThreshold);
sb.AppendLine();
Expand Down
Expand Up @@ -53,9 +53,9 @@ public override string ToString()
sb.AppendFormat("exclude_filter {0}", this.ExcludeFilter);
sb.AppendLine();
}
sb.AppendFormat("log_services {0}", (Extensions.HasFlag(this.Events, FbServiceTraceEvents.Services) ? "true" : "false"));
sb.AppendFormat("log_services {0}", this.Events.HasFlag(FbServiceTraceEvents.Services) ? "true" : "false");
sb.AppendLine();
sb.AppendFormat("log_service_query {0}", (Extensions.HasFlag(this.Events, FbServiceTraceEvents.ServiceQuery) ? "true" : "false"));
sb.AppendFormat("log_service_query {0}", this.Events.HasFlag(FbServiceTraceEvents.ServiceQuery) ? "true" : "false");
sb.AppendLine("</services>");
return sb.ToString();
}
Expand Down

0 comments on commit 51f5c0f

Please sign in to comment.