public SqliteFetcherProvider(string slot, string connectionString, IDataInfoProvider provider, ILogger <SqlObjectFetchStore> logger = null) { _slot = slot; _connectionString = connectionString; _provider = provider; _logger = logger; }
public SqlObjectAppendStore(string connectionString, ISqlDialect dialect, IDataInfoProvider provider, ILogger <SqlObjectAppendStore> logger = null, params IFieldTransform[] transforms) { _connectionString = connectionString; _dialect = dialect; _transforms = transforms; _provider = provider; _logger = logger; }
public SqliteDataMigrator(string connectionString, IDataInfoProvider infoProvider, IEnumerable <IDataMigratorInfoProvider> providers) { _connectionString = connectionString; _infoProvider = infoProvider; _providers = providers; }
public SqliteAppenderProvider(string slot, string connectionString, IDataInfoProvider dataInfoProvider) { _slot = slot; _connectionString = connectionString; _dataInfoProvider = dataInfoProvider; }
private static bool IsSaved(IDataInfoProvider provider, AccessorMember member) => provider == null || provider.IsSaved(member);
public static IReadOnlyDictionary <AccessorMember, object> ToHash(this AccessorMembers members, object @object, string[] fields, IDataInfoProvider provider, IEnumerable <IFieldTransform> transforms) { var accessor = ReadAccessor.Create(@object, members.Types, members.Scope); var usePool = fields.Length > 0 || provider != null; // FIXME: remove AsList call var include = usePool ? Pooling.ListPool <AccessorMember> .Get() : members.AsList(); try { if (fields.Length > 0) { foreach (var field in fields) { if (members.TryGetValue(field, out var member) && !IsIgnored(provider, member) && IsSaved(provider, member)) { include.Add(member); } } } else { foreach (var member in members) { if (IsIgnored(provider, member)) { include.Remove(member); continue; } if (IsSaved(provider, member)) { include.Add(member); } } } return(members.ToDictionary(k => k, v => ResolveValue(@object, transforms, accessor, v))); } finally { if (usePool) { Pooling.ListPool <AccessorMember> .Return((List <AccessorMember>) include); } } }
public static string Up(this ISqlDialect d, AccessorMembers members, long sequence, IDataInfoProvider provider) { return(Pooling.StringBuilderPool.Scoped(sb => { AppendCreateIfNotExists(d, members, provider, sb); })); }
private static void AppendCreateIfNotExists(ISqlDialect d, AccessorMembers members, IDataInfoProvider provider, StringBuilder sb) { sb.Append($"CREATE TABLE IF NOT EXISTS {d.StartIdentifier}{d.ResolveTableName(members)}{d.EndIdentifier}"); sb.Append("("); var columns = 0; foreach (var member in members) { if (provider.IsIgnored(member)) { continue; } if (provider.IsSaved(member)) { columns++; } } var count = 0; foreach (var member in members) { if (provider.IsIgnored(member)) { continue; } if (provider.IsSaved(member)) { sb.Append($"{d.StartIdentifier}{d.ResolveColumnName(member)}{d.EndIdentifier}") .Append(' ') .Append(d.ResolveColumnTypeName(member)) .Append(d.ResolveColumnLimit(member)) .Append(' ') .Append(d.ResolveColumnNullability(member)); if (++count < columns) { sb.Append(", "); } } } sb.AppendLine(");"); }
public void Init() { _mockRequestManager = new Mock<IRequestManager>(); _dataInfoProvider = new DataInfoProvider(_mockRequestManager.Object); }
public void Init() { _mockRequestManager = new Mock <IRequestManager>(); _dataInfoProvider = new DataInfoProvider(_mockRequestManager.Object); }