def execute_unnamed(self, statement, vals=(), oids=(), stream=None): context = Context(stream=stream) self.send_PARSE(NULL_BYTE, statement, oids) self._write(SYNC_MSG) self._flush() self.handle_messages(context) self.send_DESCRIBE_STATEMENT(NULL_BYTE) self._write(SYNC_MSG) try: self._flush() except AttributeError as e: if self._sock is None: raise InterfaceError("connection is closed") else: raise e params = make_params(self.py_types, vals) self.send_BIND(NULL_BYTE, params) self.handle_messages(context) self.send_EXECUTE() self._write(SYNC_MSG) self._flush() self.handle_messages(context) return context
def run(self, stream=None, **params): params = make_params(self.con.py_types, self.make_vals(params)) self._context = self.con.execute_named( self.name_bin, params, self.cols, self.input_funcs ) return self._context.rows
def run(self, stream=None, **params): oids, params = make_params(self.con.py_types, self.make_vals(params)) try: name_bin, columns, input_funcs = self.name_map[oids] except KeyError: name_bin, columns, input_funcs = self.name_map[ oids] = self.con.prepare_statement(self.statement, oids) self._context = self.con.execute_named(name_bin, params, columns, input_funcs) return self._context.rows
def execute_unnamed(self, statement, vals=(), input_oids=None, stream=None): context = Context(stream=stream) if len(vals) == 0 and stream is None: self.send_QUERY(statement) self._flush() self.handle_messages(context) else: param_oids, params = make_params(self.py_types, vals) if input_oids is None: oids = param_oids else: oids = [(p if i is None else i) for p, i in zip(param_oids, input_oids)] self.send_PARSE(NULL_BYTE, statement, oids) self._write(SYNC_MSG) self._flush() self.handle_messages(context) self.send_DESCRIBE_STATEMENT(NULL_BYTE) self._write(SYNC_MSG) try: self._flush() except AttributeError as e: if self._sock is None: raise InterfaceError("connection is closed") else: raise e self.send_BIND(NULL_BYTE, params) self.handle_messages(context) self.send_EXECUTE() self._write(SYNC_MSG) self._flush() self.handle_messages(context) return context
def run(self, **vals): params = make_params(self.con.py_types, self.make_args(vals)) try: if not self.con.in_transaction and not self.con.autocommit: self.con.execute_unnamed("begin transaction") self._context = self.con.execute_named( self.name_bin, params, self.row_desc, self.input_funcs ) except AttributeError as e: if self.con is None: raise InterfaceError("Cursor closed") elif self.con._sock is None: raise InterfaceError("connection is closed") else: raise e return tuple() if self._context.rows is None else tuple(self._context.rows)
def run(self, **vals): oids, params = make_params(self.con.py_types, self.make_args(vals)) try: name_bin, row_desc, input_funcs = self.name_map[oids] except KeyError: name_bin, row_desc, input_funcs = self.name_map[ oids] = self.con.prepare_statement(self.statement, oids) try: if not self.con.in_transaction and not self.con.autocommit: self.con.execute_unnamed("begin transaction") self._context = self.con.execute_named(name_bin, params, row_desc, input_funcs) except AttributeError as e: if self.con is None: raise InterfaceError("Cursor closed") elif self.con._sock is None: raise InterfaceError("connection is closed") else: raise e return tuple(self._context.rows)