コード例 #1
0
 def escape_args(self, parameters):
     if isinstance(parameters, dict):
         return {k: self.escape_item(v) for k, v in parameters.items()}
     elif isinstance(parameters, (list, tuple)):
         return tuple(self.escape_item(x) for x in parameters)
     else:
         raise exc.ProgrammingError("Unsupported param format: {}".format(parameters))
コード例 #2
0
 def escape_item(self, item):
     if isinstance(item, (int, long, float)):
         return self.escape_number(item)
     elif isinstance(item, basestring):
         return self.escape_string(item)
     else:
         raise exc.ProgrammingError("Unsupported object {}".format(item))
コード例 #3
0
ファイル: common.py プロジェクト: Python3pkg/PyHive
 def escape_item(self, item):
     if item is None:
         return 'NULL'
     elif isinstance(item, (int, float)):
         return self.escape_number(item)
     elif isinstance(item, str):
         return self.escape_string(item)
     elif isinstance(item, collections.Iterable):
         return self.escape_sequence(item)
     else:
         raise exc.ProgrammingError("Unsupported object {}".format(item))
コード例 #4
0
 def escape_item(self, item):
     if item is None:
         return 'NULL'
     elif isinstance(item, (int, float)):
         return self.escape_number(item)
     elif isinstance(item, basestring):
         return self.escape_string(item)
     elif isinstance(item, collections.Iterable):
         return self.escape_sequence(item)
     elif isinstance(item, datetime.datetime):
         return self.escape_datetime(item, self._DATETIME_FORMAT)
     elif isinstance(item, datetime.date):
         return self.escape_datetime(item, self._DATE_FORMAT)
     else:
         raise exc.ProgrammingError("Unsupported object {}".format(item))
コード例 #5
0
    def fetchone(self):
        """Fetch the next row of a query result set, returning a single sequence, or ``None`` when
        no more data is available.

        An :py:class:`~pyhive.exc.Error` (or subclass) exception is raised if the previous call to
        :py:meth:`execute` did not produce any result set or no call was issued yet.
        """
        if self._state == self._STATE_NONE:
            raise exc.ProgrammingError("No query yet")

        # Sleep until we're done or we have some data to return
        self._fetch_while(lambda: not self._data and self._state != self._STATE_FINISHED)

        if not self._data:
            return None
        else:
            self._rownumber += 1
            return self._data.popleft()