Premiere commit - Omika
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
namespace Omika.HfSqlProbe;
|
||||
|
||||
internal static class ProbeArgumentParser
|
||||
{
|
||||
public static ProbeOptions Parse(ReadOnlySpan<string> args)
|
||||
{
|
||||
var options = new ProbeOptions();
|
||||
for (int i = 0; i < args.Length; i++)
|
||||
{
|
||||
string arg = args[i];
|
||||
if (arg == "--connection-string" && i + 1 < args.Length)
|
||||
options.ConnectionString = args[++i];
|
||||
else if (arg == "--allow-write-probe")
|
||||
options.AllowWriteProbe = true;
|
||||
else if (arg == "--table" && i + 1 < args.Length)
|
||||
options.Table = args[++i];
|
||||
else if (arg == "--id-column" && i + 1 < args.Length)
|
||||
options.IdColumn = args[++i];
|
||||
else if (arg == "--marker-column" && i + 1 < args.Length)
|
||||
options.MarkerColumn = args[++i];
|
||||
else if (arg == "--schema" && i + 1 < args.Length)
|
||||
options.Schema = args[++i];
|
||||
else if (arg == "--database-name" && i + 1 < args.Length)
|
||||
options.DatabaseName = args[++i];
|
||||
else if (arg == "--use-client-table")
|
||||
options.UseClientTable = true;
|
||||
}
|
||||
return options;
|
||||
}
|
||||
|
||||
public static string NormalizeCommand(ReadOnlySpan<string> args)
|
||||
{
|
||||
if (args.Length == 0) return "";
|
||||
return args[0].ToLowerInvariant();
|
||||
}
|
||||
|
||||
public static bool IsWriteCommand(string command)
|
||||
=> command is "transaction" or "returning" or "client-insert" or "client-graph";
|
||||
|
||||
public static bool IsValidCommand(string command)
|
||||
=> command is "capabilities" or "audit" or "transaction" or "returning" or "omika-guid"
|
||||
or "client-insert" or "client-graph" or "table-exists" or "protected-access" or "--help";
|
||||
}
|
||||
Reference in New Issue
Block a user