Exemplo n.º 1
0
 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;
 }
Exemplo n.º 3
0
 public SqliteDataMigrator(string connectionString,
                           IDataInfoProvider infoProvider,
                           IEnumerable <IDataMigratorInfoProvider> providers)
 {
     _connectionString = connectionString;
     _infoProvider     = infoProvider;
     _providers        = providers;
 }
Exemplo n.º 4
0
 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);
 }
Exemplo n.º 10
0
 public void Init()
 {
     _mockRequestManager = new Mock <IRequestManager>();
     _dataInfoProvider   = new DataInfoProvider(_mockRequestManager.Object);
 }