please upgrade to the most recent psycopg2

On Wed, Sep 1, 2021, at 6:12 AM, Francesca L wrote:
> Thank you very much for your quick help.
> 
> Yes, you are right, I was using the: "implicit_returning=False" flag on my 
> "create_engine()".
> 
> I add the following, in case it can be useful to you:
> I removed the flag as suggested, and that's what I get now for the same code 
> example (with sqlalchemy 1.4):
> 
> 
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File "C:\Python36\lib\site-packages\sqlalchemy\orm\session.py", line 3298, 
> in flush
>     self._flush(objects)
>   File "C:\Python36\lib\site-packages\sqlalchemy\orm\session.py", line 3438, 
> in _flush
>     transaction.rollback(_capture_exception=True)
>   File "C:\Python36\lib\site-packages\sqlalchemy\util\langhelpers.py", line 
> 72, in __exit__
>     with_traceback=exc_tb,
>   File "C:\Python36\lib\site-packages\sqlalchemy\util\compat.py", line 207, 
> in raise_
>     raise exception
>   File "C:\Python36\lib\site-packages\sqlalchemy\orm\session.py", line 3398, 
> in _flush
>     flush_context.execute()
>   File "C:\Python36\lib\site-packages\sqlalchemy\orm\unitofwork.py", line 
> 456, in execute
>     rec.execute(self)
>   File "C:\Python36\lib\site-packages\sqlalchemy\orm\unitofwork.py", line 
> 633, in execute
>     uow,
>   File "C:\Python36\lib\site-packages\sqlalchemy\orm\persistence.py", line 
> 247, in save_obj
>     insert,
>   File "C:\Python36\lib\site-packages\sqlalchemy\orm\persistence.py", line 
> 1154, in _emit_insert_statements
>     statement, multiparams, execution_options=execution_options
>   File "C:\Python36\lib\site-packages\sqlalchemy\engine\base.py", line 1583, 
> in _execute_20
>     return meth(self, args_10style, kwargs_10style, execution_options)
>   File "C:\Python36\lib\site-packages\sqlalchemy\sql\elements.py", line 324, 
> in _execute_on_connection
>     self, multiparams, params, execution_options
>   File "C:\Python36\lib\site-packages\sqlalchemy\engine\base.py", line 1462, 
> in _execute_clauseelement
>     cache_hit=cache_hit,
>   File "C:\Python36\lib\site-packages\sqlalchemy\engine\base.py", line 1815, 
> in _execute_context
>     e, statement, parameters, cursor, context
>   File "C:\Python36\lib\site-packages\sqlalchemy\engine\base.py", line 1999, 
> in _handle_dbapi_exception
>     util.raise_(exc_info[1], with_traceback=exc_info[2])
>   File "C:\Python36\lib\site-packages\sqlalchemy\util\compat.py", line 207, 
> in raise_
>     raise exception
>   File "C:\Python36\lib\site-packages\sqlalchemy\engine\base.py", line 1752, 
> in _execute_context
>     cursor, statement, parameters, context
>   File 
> "C:\Python36\lib\site-packages\sqlalchemy\dialects\postgresql\psycopg2.py", 
> line 968, in do_executemany
>     **kwargs
> TypeError: execute_values() got an unexpected keyword argument 'fetch'
> On Tuesday, August 31, 2021 at 4:24:24 PM UTC+2 Mike Bayer wrote:
>> __
>> Hi -
>> 
>> Your test case is omitting a critical detail which we would assume is you 
>> are using the "implicit_returning=False" flag on your create_engine().    
>> dont use this flag as it serves no useful purpose and that will fix your 
>> issue here, we will be deprecating and removing this flag.
>> 
>> will try to fix the immediate issue if possible.
>> 
>> 
>> On Tue, Aug 31, 2021, at 3:29 AM, Francesca L wrote:
>>> Hi group, 
>>> 
>>> I am tring to migrate from version *1.3.24* to *1.4.23* of SqlAlchemy, 
>>> using *PostgreSQL 10*.
>>> 
>>> I found that the following code example works with 1.3, but triggers a 
>>> traceback with 1.4.
>>> 
>>> import sqlalchemy
>>> 
>>> session = ...
>>> metadata = sqlalchemy.MetaData()
>>> s_items = sqlalchemy.Sequence('s_items', start=1, increment=1, 
>>> metadata=metadata)
>>> t_items = sqlalchemy.Table('t_items', metadata,
>>>     sqlalchemy.Column('id', sqlalchemy.Integer, s_items, primary_key = 
>>> True),
>>> )
>>> metadata.drop_all(bind=session.bind)
>>> metadata.create_all(bind=session.bind)
>>> 
>>> class Item(object):
>>>     pass
>>> 
>>> sqlalchemy.orm.mapper(Item, t_items)
>>> 
>>> item1 = Item()
>>> item2 = Item()
>>> session.add_all([item1, item2])
>>> session.flush()
>>> 
>>> This code, with 1.4 only, triggers the following traceback:
>>> 
>>> Traceback (most recent call last):
>>>   File "C:\Python36\lib\site-packages\sqlalchemy\engine\base.py", line 
>>> 1672, in _execute_context
>>>     dialect, self, conn, execution_options, *args, **kw
>>>   File "C:\Python36\lib\site-packages\sqlalchemy\engine\default.py", line 
>>> 999, in _init_compiled
>>>     self._process_executemany_defaults()
>>>   File "C:\Python36\lib\site-packages\sqlalchemy\engine\default.py", line 
>>> 1838, in _process_executemany_defaults
>>>     if c.default and c.default.is_scalar:
>>> AttributeError: 'Sequence' object has no attribute 'is_scalar'
>>> 
>>> The only way I found to work around this with version 1.4, is to call 
>>> *flush *after each single *add*:
>>> 
>>> item1 = Item()
>>> session.add(item1)
>>> session.flush()
>>> item2 = Item()
>>> session.add(item2)
>>> session.flush()
>>> 
>>> But this seems weird, to me. 
>>> Am I doing anything wrong?
>>> Thank you very much for any suggestion.
>>> 
>>> Francesca Leon 
>>> 
>>> 
>>> -- 
>>> SQLAlchemy - 
>>> The Python SQL Toolkit and Object Relational Mapper
>>>  
>>> http://www.sqlalchemy.org/
>>>  
>>> To post example code, please provide an MCVE: Minimal, Complete, and 
>>> Verifiable Example. See http://stackoverflow.com/help/mcve for a full 
>>> description.
>>> --- 
>>> You received this message because you are subscribed to the Google Groups 
>>> "sqlalchemy" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to sqlalchemy+...@googlegroups.com.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/sqlalchemy/c049bcf1-ff1c-4d78-b38f-6f2dba1a87e1n%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/sqlalchemy/c049bcf1-ff1c-4d78-b38f-6f2dba1a87e1n%40googlegroups.com?utm_medium=email&utm_source=footer>.
>> 
> 
> 
> -- 
> SQLAlchemy - 
> The Python SQL Toolkit and Object Relational Mapper
>  
> http://www.sqlalchemy.org/
>  
> To post example code, please provide an MCVE: Minimal, Complete, and 
> Verifiable Example. See http://stackoverflow.com/help/mcve for a full 
> description.
> --- 
> You received this message because you are subscribed to the Google Groups 
> "sqlalchemy" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to sqlalchemy+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sqlalchemy/3af62c7e-9b82-4f5e-ab40-e94e5fd21619n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/sqlalchemy/3af62c7e-9b82-4f5e-ab40-e94e5fd21619n%40googlegroups.com?utm_medium=email&utm_source=footer>.

-- 
SQLAlchemy - 
The Python SQL Toolkit and Object Relational Mapper

http://www.sqlalchemy.org/

To post example code, please provide an MCVE: Minimal, Complete, and Verifiable 
Example.  See  http://stackoverflow.com/help/mcve for a full description.
--- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sqlalchemy/5813e1dd-4d97-48cd-8877-a996a4b38d9b%40www.fastmail.com.

Reply via email to