Esempio n. 1
0
        public void SetTextSize(int textSize)
        {
            //todo: may need to remove this, user scripts could change the textsize value
            if (_environment.TextSize == textSize)
            {
                return;
            }

            SendPacket(new NormalPacket(OptionCommandToken.CreateSetTextSize(textSize)));

            var envChangeTokenHandler = new EnvChangeTokenHandler(_environment, _parameters.Charset);
            var messageHandler        = new MessageTokenHandler(EventNotifier);
            var dataReaderHandler     = new DataReaderTokenHandler();
            var doneHandler           = new DoneTokenHandler();

            ReceiveTokens(
                envChangeTokenHandler,
                messageHandler,
                dataReaderHandler,
                doneHandler);

            messageHandler.AssertNoErrors();

            _environment.TextSize = textSize;
        }
        private void InternalExecuteQueryAsync(AseCommand command, AseTransaction transaction, TaskCompletionSource <DbDataReader> readerSource, CommandBehavior behavior)
        {
            AssertExecutionStart();

            try
            {
                SendPacket(new NormalPacket(BuildCommandTokens(command, behavior)));

                var envChangeTokenHandler         = new EnvChangeTokenHandler(_environment, _parameters.Charset);
                var doneHandler                   = new DoneTokenHandler();
                var messageHandler                = new MessageTokenHandler(EventNotifier);
                var dataReaderHandler             = new DataReaderTokenHandler();
                var responseParameterTokenHandler = new ResponseParameterTokenHandler(command.AseParameters);

                ReceiveTokens(
                    envChangeTokenHandler,
                    doneHandler,
                    messageHandler,
                    dataReaderHandler,
                    responseParameterTokenHandler);

                AssertExecutionCompletion(doneHandler);

                if (transaction != null && doneHandler.TransactionState == TranState.TDS_TRAN_ABORT)
                {
                    transaction.MarkAborted();
                }

                messageHandler.AssertNoErrors();

                if (doneHandler.Canceled)
                {
                    readerSource.TrySetCanceled(); // If we have already begun returning data, then this will get lost.
                }
                else
                {
#if ENABLE_SYSTEM_DATA_COMMON_EXTENSIONS
                    readerSource.TrySetResult(new AseDataReader(dataReaderHandler.Results(), command, behavior));
#else
                    readerSource.TrySetResult(new AseDataReader(dataReaderHandler.Results(), behavior));
#endif
                }
            }
            catch (Exception ex)
            {
                readerSource.TrySetException(ex); // If we have already begun returning data, then this will get lost.
            }
        }
Esempio n. 3
0
        public void GetTextSize()
        {
            SendPacket(new NormalPacket(OptionCommandToken.CreateGet(OptionCommandToken.OptionType.TDS_OPT_TEXTSIZE)));

            var doneHandler       = new DoneTokenHandler();
            var messageHandler    = new MessageTokenHandler();
            var dataReaderHandler = new DataReaderTokenHandler();

            ReceiveTokens(
                new EnvChangeTokenHandler(_environment),
                messageHandler,
                dataReaderHandler,
                doneHandler);

            messageHandler.AssertNoErrors();
        }