Esempio n. 1
0
        protected override async Task HandleMessage(PgTransaction transaction, MessageBuilder messageBuilder, PipeWriter writer, CancellationToken token)
        {
            // TODO: Maybe support multiple SELECT statements in one query - requires parsing the SQL
            using var query = PgQuery.CreateInstance(QueryString, null, transaction.DocumentDatabase);

            var schema = await query.Init(true);

            if (schema.Count != 0)
            {
                await writer.WriteAsync(messageBuilder.RowDescription(schema), token);
            }

            await query.Execute(messageBuilder, writer, token);

            await writer.WriteAsync(messageBuilder.ReadyForQuery(transaction.State), token);
        }
Esempio n. 2
0
File: Sync.cs Progetto: ikvm/ravendb
 protected override async Task HandleMessage(PgTransaction transaction, MessageBuilder messageBuilder, PipeWriter writer, CancellationToken token)
 {
     transaction.Sync();
     await writer.WriteAsync(messageBuilder.ReadyForQuery(transaction.State), token);
 }
Esempio n. 3
0
        public override async Task HandleError(PgErrorException e, PgTransaction transaction, MessageBuilder messageBuilder, PipeWriter writer, CancellationToken token)
        {
            await base.HandleError(e, transaction, messageBuilder, writer, token);

            await writer.WriteAsync(messageBuilder.ReadyForQuery(transaction.State), token);
        }