예제 #1
0
        public override Transform GetTransformReader(Table table, bool previewMode = false)
        {
            var flatFile = (FlatFile)table;
            var reader   = new ReaderFlatFile(this, flatFile, previewMode);

            return(reader);
        }
예제 #2
0
        public override async Task <object> ExecuteScalar(Table table, SelectQuery query, CancellationToken cancellationToken)
        {
            var timer = Stopwatch.StartNew();

            var flatFile = (FlatFile)table;

            using (var reader = new ReaderFlatFile(this, flatFile, true))
            {
                var openResult = await reader.Open(0, query, cancellationToken);

                if (!openResult)
                {
                    throw new ConnectionException($"Failed to run execute scalar on {table.Name}.  The reader failed to open.");
                }

                var row = await reader.ReadAsync(cancellationToken);

                if (row)
                {
                    var value = reader[query.Columns[0].Column.Name];
                    return(value);
                }
                else
                {
                    return(null);
                }
            }
        }