Example #1
0
            public IEnumerable <MonetDBQueryResponseInfo> GetResults()
            {
                _temp = _stream.ReadLine();
                do
                {
                    MonetDBQueryResponseInfo ri          = new MonetDBQueryResponseInfo();
                    List <string>            header_info = new List <string>();
                    while (_temp != "." && _temp[0] != '[')
                    {
                        switch (_temp[0])
                        {
                        case '&':
                            ri = GetQueryResponseInfo(_temp);
                            break;

                        case '%':
                            header_info.Add(_temp);
                            break;

                        case '!':
                            throw new MonetDbException("Error! " + _temp.Substring(1));
                        }
                        _temp = _stream.ReadLine();
                    }

                    ri.columns = GetColumnInfo(header_info);
                    ri.data    = GetRows();
                    yield return(ri);
                } while (_temp != ".");
                _stream = null;
            }
Example #2
0
        /// <summary>
        /// Advances the data reader to the next result, when reading the results of batch SQL statements.
        /// </summary>
        /// <returns></returns>
        public bool NextResult()
        {
            bool flag = enum_ri.MoveNext();

            _ri        = enum_ri.Current;
            enumerator = _ri.data.GetEnumerator();
            return(flag);
        }
Example #3
0
 internal MonetDBQueryResponseInfo GetQueryResponseInfo(string s)
 {
     string[] s_parts = s.Substring(1).Split(new char[] { ' ' });
     switch (s_parts[0])
     {
     case "1":
     case "5":
     {
         MonetDBQueryResponseInfo qri = new MonetDBQueryResponseInfo();
         qri.id          = int.Parse(s_parts[1]);
         qri.tupleCount  = int.Parse(s_parts[2]);
         qri.columnCount = int.Parse(s_parts[3]);
         qri.rowCount    = int.Parse(s_parts[4]);
         return(qri);
     }
     }
     return(new MonetDBQueryResponseInfo());
 }
 /// <summary>
 /// Advances the data reader to the next result, when reading the results of batch SQL statements.
 /// </summary>
 /// <returns></returns>
 public bool NextResult()
 {
     bool flag = enum_ri.MoveNext();
     _ri = enum_ri.Current;
     enumerator = _ri.data.GetEnumerator();
     return flag;
 }
Example #5
0
 internal MonetDBQueryResponseInfo GetQueryResponseInfo(string s)
 {
     string[] s_parts = s.Substring(1).Split(new char[] { ' ' });
     switch (s_parts[0])
     {
         case "1":
         case "5":
             {
                 MonetDBQueryResponseInfo qri = new MonetDBQueryResponseInfo();
                 qri.id = int.Parse(s_parts[1]);
                 qri.tupleCount = int.Parse(s_parts[2]);
                 qri.columnCount = int.Parse(s_parts[3]);
                 qri.rowCount = int.Parse(s_parts[4]);
                 return qri;
             }
     }
     return new MonetDBQueryResponseInfo();
 }
Example #6
0
            public IEnumerable<MonetDBQueryResponseInfo> GetResults()
            {
                _temp = _stream.ReadLine();
                do
                {
                    MonetDBQueryResponseInfo ri = new MonetDBQueryResponseInfo();
                    List<string> header_info = new List<string>();
                    while (_temp != "." && _temp[0] != '[')
                    {
                        switch (_temp[0])
                        {
                            case '&':
                                ri = GetQueryResponseInfo(_temp);
                                break;
                            case '%':
                                header_info.Add(_temp);
                                break;
                            case '!':
                                throw new MonetDbException("Error! " + _temp.Substring(1));
                        }
                        _temp = _stream.ReadLine();
                    }

                    ri.columns = GetColumnInfo(header_info);
                    ri.data = GetRows();
                    yield return ri;
                } while (_temp != ".");
                _stream = null;
            }