Skip to content

Conversation

@elprans
Copy link
Member

@elprans elprans commented Nov 7, 2021

This adds a check that elements of sequence passed to executemany()
are proper sequences themselves and notes the offending sequence element
number in the exception message. For example:

await self.con.executemany( "INSERT INTO exmany (b) VALUES($1)" [(0,), ("bad",)], ) DataError: invalid input for query argument $1 in element #1 of executemany() sequence: 'bad' ('str' object cannot be interpreted as an integer) 

Fixes: #807

This adds a check that elements of sequence passed to `executemany()` are proper sequences themselves and notes the offending sequence element number in the exception message. For example: await self.con.executemany( "INSERT INTO exmany (b) VALUES($1)" [(0,), ("bad",)], ) DataError: invalid input for query argument $1 in element #1 of executemany() sequence: 'bad' ('str' object cannot be interpreted as an integer) Fixes: #807
@elprans elprans force-pushed the improve-exmany-data-errors branch from 2e4f0b6 to b3f5c5c Compare November 16, 2021 06:16
@elprans elprans merged commit a8fc21e into master Nov 16, 2021
@elprans elprans deleted the improve-exmany-data-errors branch November 16, 2021 15:32
elprans added a commit that referenced this pull request Nov 16, 2021
Changes ------- * Improve SSL option compatibility in URIs (by @fantix in 383c711 for #827) * Add `Pool` methods to determine its min, max, current and idle size (by @elprans in 603e386 for #849) * Make it possible to specify a statement name in `Connection.prepare()` (by @elprans in 03a3d18 for #846) * Implement support for `multirange` types (by @elprans in d64a44a for #851) Fixes ----- * Make sure timeout callbacks always get cleaned up (by @elprans in dad2691 for #831) * Update `__all__` statements to a simpler form that is better supported by typecheckers (by @bschnurr in 0a3ae7f for #828) * Fix `test_timetz_encoding` on Python 3.10 (by @elprans in 3a90fef) * Fix a bunch of `ResourceWarnings` in the test suite (by @elprans in 2f4fe53) * Fix `SSLContext` deprecation warnings (by @elprans in 4d39a05) * Fix the description of the database argument to `connect()` (by @elprans in a2a9237 for #847) * Fix parsing of IPv6 addresses in the connection URI (by @elprans in f900b73 for #845) * Improve diagnostics of invalid `executemany()` input (by @elprans in a8fc21e for #848)
@elprans elprans mentioned this pull request Nov 16, 2021
elprans added a commit that referenced this pull request Nov 16, 2021
Changes ------- * Improve SSL option compatibility in URIs (by @fantix in 383c711 for #827) * Add `Pool` methods to determine its min, max, current and idle size (by @elprans in 603e386 for #849) * Make it possible to specify a statement name in `Connection.prepare()` (by @elprans in 03a3d18 for #846) * Implement support for `multirange` types (by @elprans in d64a44a for #851) Fixes ----- * Make sure timeout callbacks always get cleaned up (by @elprans in dad2691 for #831) * Update `__all__` statements to a simpler form that is better supported by typecheckers (by @bschnurr in 0a3ae7f for #828) * Fix `test_timetz_encoding` on Python 3.10 (by @elprans in 3a90fef) * Fix a bunch of `ResourceWarnings` in the test suite (by @elprans in 2f4fe53) * Fix `SSLContext` deprecation warnings (by @elprans in 4d39a05) * Fix the description of the database argument to `connect()` (by @elprans in a2a9237 for #847) * Fix parsing of IPv6 addresses in the connection URI (by @elprans in f900b73 for #845) * Improve diagnostics of invalid `executemany()` input (by @elprans in a8fc21e for #848)
elprans added a commit that referenced this pull request Nov 16, 2021
Changes ------- * Improve SSL option compatibility in URIs (by @fantix in 383c711 for #827) * Add `Pool` methods to determine its min, max, current and idle size (by @elprans in 603e386 for #849) * Make it possible to specify a statement name in `Connection.prepare()` (by @elprans in 03a3d18 for #846) * Implement support for `multirange` types (by @elprans in d64a44a for #851) Fixes ----- * Make sure timeout callbacks always get cleaned up (by @elprans in dad2691 for #831) * Update `__all__` statements to a simpler form that is better supported by typecheckers (by @bschnurr in 0a3ae7f for #828) * Fix `test_timetz_encoding` on Python 3.10 (by @elprans in 3a90fef) * Fix a bunch of `ResourceWarnings` in the test suite (by @elprans in 2f4fe53) * Fix `SSLContext` deprecation warnings (by @elprans in 4d39a05) * Fix the description of the database argument to `connect()` (by @elprans in a2a9237 for #847) * Fix parsing of IPv6 addresses in the connection URI (by @elprans in f900b73 for #845) * Improve diagnostics of invalid `executemany()` input (by @elprans in a8fc21e for #848)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

3 participants