Home
last modified time | relevance | path

Searched +hist:2581655 +hist:c (Results 1 - 22 of 22) sorted by relevance

/sqlalchemy/lib/sqlalchemy/testing/
H A Dasyncio.pydiff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
H A Dconfig.pydiff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
H A Dutil.pydiff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff 5b6a1a98 Sat Mar 28 04:04:44 MDT 2020 Federico Caselli <cfederico87@gmail.com> Fix typo in resultproxy.c and test compatibility with python 3.5

- Fix typo in resultproxy.c that would error on windows.
- add -Wundef to C flags when linux is detected so that undefined
symbols emit a warning
- a few adjustments for tests to succeed on python 3.5
- note minimum version still documented here as 3.4 but this should
move to at least 3.5 if not 3.6 for SQLAlchemy 1.4

Change-Id: Ia93ee1cb5c52e51e72eb0a24c100421c5157d04b
diff 5b6a1a98 Sat Mar 28 04:04:44 MDT 2020 Federico Caselli <cfederico87@gmail.com> Fix typo in resultproxy.c and test compatibility with python 3.5

- Fix typo in resultproxy.c that would error on windows.
- add -Wundef to C flags when linux is detected so that undefined
symbols emit a warning
- a few adjustments for tests to succeed on python 3.5
- note minimum version still documented here as 3.4 but this should
move to at least 3.5 if not 3.6 for SQLAlchemy 1.4

Change-Id: Ia93ee1cb5c52e51e72eb0a24c100421c5157d04b
diff 5b6a1a98 Sat Mar 28 04:04:44 MDT 2020 Federico Caselli <cfederico87@gmail.com> Fix typo in resultproxy.c and test compatibility with python 3.5

- Fix typo in resultproxy.c that would error on windows.
- add -Wundef to C flags when linux is detected so that undefined
symbols emit a warning
- a few adjustments for tests to succeed on python 3.5
- note minimum version still documented here as 3.4 but this should
move to at least 3.5 if not 3.6 for SQLAlchemy 1.4

Change-Id: Ia93ee1cb5c52e51e72eb0a24c100421c5157d04b
H A Dengines.pydiff 37414a75 Wed Apr 21 12:44:45 MDT 2021 Mike Bayer <mike_mp@zzzcomputing.com> Add new "sync once" mode for pool.connect

Fixed critical regression caused by the change in :ticket`5497` where the
connection pool "init" phase no longer occurred within mutexed isolation,
allowing other threads to proceed with the dialect uninitialized, which
could then impact the compilation of SQL statements.

This issue is essentially the same regression which was fixed many years
ago in :ticket:`2964` in dd32540dabbee0678530fb1b0868d1eb41572dca,
which was missed this time as the test suite fo
that issue only tested the pool in isolation, and assumed the
"first_connect" event would be used by the Engine. However
:ticket:`5497` stopped using "first_connect" and no test detected
the lack of mutexing, that has been resolved here through
the addition of more tests.

This fix also identifies what is probably a bug in earlier versions
of SQLAlchemy where the "first_connect" handler would be cancelled
if the initializer failed; this is evidenced by
test_explode_in_initializer which was doing a reconnect due to
c.rollback() yet wasn't hanging. We now solve this issue by
preventing the manufactured Connection from ever reconnecting
inside the first_connect handler.

Also remove the "_sqla_unwrap" test attribute; this is almost
not used anymore however we can use a more targeted
wrapper supplied by the testing.engines.proxying_engine
function.

See if we can also open up Oracle for "ad hoc engines" tests
now that we have better connection management logic.

Fixes: #6337
Change-Id: I4a3476625c4606f1a304dbc940d500325e8adc1a
diff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
H A Dfixtures.pydiff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff 24e93b06 Fri Dec 18 08:46:20 MST 2020 Mike Bayer <mike_mp@zzzcomputing.com> test fixes for oracle 18c

Change-Id: I4968aa3bde3c4d11d7fe84f18b4a846ba357d16a
/sqlalchemy/lib/sqlalchemy/pool/
H A D__init__.pydiff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
H A Dimpl.pydiff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
/sqlalchemy/lib/sqlalchemy/util/
H A Dconcurrency.pydiff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
H A D_concurrency_py3k.pydiff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
H A Dqueue.pydiff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
/sqlalchemy/test/base/
H A Dtest_concurrency_py3k.pydiff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
/sqlalchemy/lib/sqlalchemy/dialects/mysql/
H A Daiomysql.pydiff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
/sqlalchemy/
H A Dtox.inidiff 3ea321ce Sat Sep 11 14:26:59 MDT 2021 Kevin Kirsche <kevin.kirsche@one.verizon.com> Fix various lib / test / examples typos (#7017)

* fix: lib/sqlalchemy/sql/lambdas.py

* fix: lib/sqlalchemy/sql/compiler.py

* fix: lib/sqlalchemy/sql/selectable.py

* fix: lib/sqlalchemy/orm/relationships.py

* fix: lib/sqlalchemy/dialects/mssql/base.py

* fix: lib/sql/test_compiler.py

* fix: lib/sqlalchemy/testing/requirements.py

* fix: lib/sqlalchemy/orm/path_registry.py

* fix: lib/sqlalchemy/dialects/postgresql/psycopg2.py

* fix: lib/sqlalchemy/cextension/immutabledict.c

* fix: lib/sqlalchemy/cextension/resultproxy.c

* fix: ./lib/sqlalchemy/dialects/oracle/cx_oracle.py

* fix: examples/versioned_rows/versioned_rows_w_versionid.py

* fix: examples/elementtree/optimized_al.py

* fix: test/orm/test_attribute.py

* fix: test/sql/test_compare.py

* fix: test/sql/test_type_expression.py

* fix: capitalization in test/dialect/mysql/test_compiler.py

* fix: typos in test/dialect/postgresql/test_reflection.py

* fix: typo in tox.ini comment

* fix: typo in /lib/sqlalchemy/orm/decl_api.py

* fix: typo in test/orm/test_update_delete.py

* fix: self-induced typo

* fix: typo in test/orm/test_query.py

* fix: typos in test/dialect/mssql/test_types.py

* fix: typo in test/sql/test_types.py
diff 3ea321ce Sat Sep 11 14:26:59 MDT 2021 Kevin Kirsche <kevin.kirsche@one.verizon.com> Fix various lib / test / examples typos (#7017)

* fix: lib/sqlalchemy/sql/lambdas.py

* fix: lib/sqlalchemy/sql/compiler.py

* fix: lib/sqlalchemy/sql/selectable.py

* fix: lib/sqlalchemy/orm/relationships.py

* fix: lib/sqlalchemy/dialects/mssql/base.py

* fix: lib/sql/test_compiler.py

* fix: lib/sqlalchemy/testing/requirements.py

* fix: lib/sqlalchemy/orm/path_registry.py

* fix: lib/sqlalchemy/dialects/postgresql/psycopg2.py

* fix: lib/sqlalchemy/cextension/immutabledict.c

* fix: lib/sqlalchemy/cextension/resultproxy.c

* fix: ./lib/sqlalchemy/dialects/oracle/cx_oracle.py

* fix: examples/versioned_rows/versioned_rows_w_versionid.py

* fix: examples/elementtree/optimized_al.py

* fix: test/orm/test_attribute.py

* fix: test/sql/test_compare.py

* fix: test/sql/test_type_expression.py

* fix: capitalization in test/dialect/mysql/test_compiler.py

* fix: typos in test/dialect/postgresql/test_reflection.py

* fix: typo in tox.ini comment

* fix: typo in /lib/sqlalchemy/orm/decl_api.py

* fix: typo in test/orm/test_update_delete.py

* fix: self-induced typo

* fix: typo in test/orm/test_query.py

* fix: typos in test/dialect/mssql/test_types.py

* fix: typo in test/sql/test_types.py
diff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff a54a0c6e Fri Jan 03 10:10:57 MST 2020 Mike Bayer <mike_mp@zzzcomputing.com> Fix cext for Python 2; ensure C extensions build successfully

The C extensions have been broken since cc718cccc0bf8a01abdf4068c
however CI did not find this, because the build degraded to
non-C extensions without failing. Ensure that if cext is set,
there is no fallback to non-cext build if the C extension build
fails.

Repair C related issues introduced in cc718cccc0bf8a01abdf4068c.

As C extensions have been silently failing on 2.7 for some commits,
the callcounts also needed to be adjusted for recent performance-related
changes. That in turn required a fix to the profiling decorator
to use signature rewriting in order to support py.test's
fixture mechanism under Python 2, usage introduced under profiling
in 89bf6d80a9.

Fixes: #5076
Change-Id: Id968f10c85d6bf489298b1c318a1f869ad3e7d80
diff a54a0c6e Fri Jan 03 10:10:57 MST 2020 Mike Bayer <mike_mp@zzzcomputing.com> Fix cext for Python 2; ensure C extensions build successfully

The C extensions have been broken since cc718cccc0bf8a01abdf4068c
however CI did not find this, because the build degraded to
non-C extensions without failing. Ensure that if cext is set,
there is no fallback to non-cext build if the C extension build
fails.

Repair C related issues introduced in cc718cccc0bf8a01abdf4068c.

As C extensions have been silently failing on 2.7 for some commits,
the callcounts also needed to be adjusted for recent performance-related
changes. That in turn required a fix to the profiling decorator
to use signature rewriting in order to support py.test's
fixture mechanism under Python 2, usage introduced under profiling
in 89bf6d80a9.

Fixes: #5076
Change-Id: Id968f10c85d6bf489298b1c318a1f869ad3e7d80
diff a54a0c6e Fri Jan 03 10:10:57 MST 2020 Mike Bayer <mike_mp@zzzcomputing.com> Fix cext for Python 2; ensure C extensions build successfully

The C extensions have been broken since cc718cccc0bf8a01abdf4068c
however CI did not find this, because the build degraded to
non-C extensions without failing. Ensure that if cext is set,
there is no fallback to non-cext build if the C extension build
fails.

Repair C related issues introduced in cc718cccc0bf8a01abdf4068c.

As C extensions have been silently failing on 2.7 for some commits,
the callcounts also needed to be adjusted for recent performance-related
changes. That in turn required a fix to the profiling decorator
to use signature rewriting in order to support py.test's
fixture mechanism under Python 2, usage introduced under profiling
in 89bf6d80a9.

Fixes: #5076
Change-Id: Id968f10c85d6bf489298b1c318a1f869ad3e7d80
diff a54a0c6e Fri Jan 03 10:10:57 MST 2020 Mike Bayer <mike_mp@zzzcomputing.com> Fix cext for Python 2; ensure C extensions build successfully

The C extensions have been broken since cc718cccc0bf8a01abdf4068c
however CI did not find this, because the build degraded to
non-C extensions without failing. Ensure that if cext is set,
there is no fallback to non-cext build if the C extension build
fails.

Repair C related issues introduced in cc718cccc0bf8a01abdf4068c.

As C extensions have been silently failing on 2.7 for some commits,
the callcounts also needed to be adjusted for recent performance-related
changes. That in turn required a fix to the profiling decorator
to use signature rewriting in order to support py.test's
fixture mechanism under Python 2, usage introduced under profiling
in 89bf6d80a9.

Fixes: #5076
Change-Id: Id968f10c85d6bf489298b1c318a1f869ad3e7d80
diff a54a0c6e Fri Jan 03 10:10:57 MST 2020 Mike Bayer <mike_mp@zzzcomputing.com> Fix cext for Python 2; ensure C extensions build successfully

The C extensions have been broken since cc718cccc0bf8a01abdf4068c
however CI did not find this, because the build degraded to
non-C extensions without failing. Ensure that if cext is set,
there is no fallback to non-cext build if the C extension build
fails.

Repair C related issues introduced in cc718cccc0bf8a01abdf4068c.

As C extensions have been silently failing on 2.7 for some commits,
the callcounts also needed to be adjusted for recent performance-related
changes. That in turn required a fix to the profiling decorator
to use signature rewriting in order to support py.test's
fixture mechanism under Python 2, usage introduced under profiling
in 89bf6d80a9.

Fixes: #5076
Change-Id: Id968f10c85d6bf489298b1c318a1f869ad3e7d80
diff a54a0c6e Fri Jan 03 10:10:57 MST 2020 Mike Bayer <mike_mp@zzzcomputing.com> Fix cext for Python 2; ensure C extensions build successfully

The C extensions have been broken since cc718cccc0bf8a01abdf4068c
however CI did not find this, because the build degraded to
non-C extensions without failing. Ensure that if cext is set,
there is no fallback to non-cext build if the C extension build
fails.

Repair C related issues introduced in cc718cccc0bf8a01abdf4068c.

As C extensions have been silently failing on 2.7 for some commits,
the callcounts also needed to be adjusted for recent performance-related
changes. That in turn required a fix to the profiling decorator
to use signature rewriting in order to support py.test's
fixture mechanism under Python 2, usage introduced under profiling
in 89bf6d80a9.

Fixes: #5076
Change-Id: Id968f10c85d6bf489298b1c318a1f869ad3e7d80
H A Dsetup.cfgdiff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
/sqlalchemy/lib/sqlalchemy/testing/plugin/
H A Dpytestplugin.pydiff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
H A Dplugin_base.pydiff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff 24e93b06 Fri Dec 18 08:46:20 MST 2020 Mike Bayer <mike_mp@zzzcomputing.com> test fixes for oracle 18c

Change-Id: I4968aa3bde3c4d11d7fe84f18b4a846ba357d16a
/sqlalchemy/lib/sqlalchemy/dialects/postgresql/
H A Dasyncpg.pydiff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
/sqlalchemy/test/aaa_profiling/
H A Dtest_memusage.pydiff 421d5ec0 Thu Jun 24 07:12:31 MDT 2021 Mike Bayer <mike_mp@zzzcomputing.com> Use Py_TPFLAGS_HAVE_GC for Row

Fixed an issue in the C extension for the :class:`_result.Row` class which
could lead to a memory leak in the unlikely case of a :class:`_result.Row`
object which referred to an ORM object that then was mutated to refer back
to the ``Row`` itself, creating a cycle. The Python C APIs for tracking GC
cycles has been added to the native :class:`_result.Row` implementation to
accommodate for this case.

Fixes: #5348
Change-Id: I3ac32012f29fbb59f8921cf2a124fa3a7ac5f0d1
diff 421d5ec0 Thu Jun 24 07:12:31 MDT 2021 Mike Bayer <mike_mp@zzzcomputing.com> Use Py_TPFLAGS_HAVE_GC for Row

Fixed an issue in the C extension for the :class:`_result.Row` class which
could lead to a memory leak in the unlikely case of a :class:`_result.Row`
object which referred to an ORM object that then was mutated to refer back
to the ``Row`` itself, creating a cycle. The Python C APIs for tracking GC
cycles has been added to the native :class:`_result.Row` implementation to
accommodate for this case.

Fixes: #5348
Change-Id: I3ac32012f29fbb59f8921cf2a124fa3a7ac5f0d1
diff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff 6930dfc0 Mon Apr 27 10:58:12 MDT 2020 Mike Bayer <mike_mp@zzzcomputing.com> Convert execution to move through Session

This patch replaces the ORM execution flow with a
single pathway through Session.execute() for all queries,
including Core and ORM.

Currently included is full support for ORM Query,
Query.from_statement(), select(), as well as the
baked query and horizontal shard systems. Initial
changes have also been made to the dogpile caching
example, which like baked query makes use of a
new ORM-specific execution hook that replaces the
use of both QueryEvents.before_compile() as well
as Query._execute_and_instances() as the central
ORM interception hooks.

select() and Query() constructs alike can be passed to
Session.execute() where they will return ORM
results in a Results object. This API is currently
used internally by Query. Full support for
Session.execute()->results to behave in a fully
2.0 fashion will be in later changesets.

bulk update/delete with ORM support will also
be delivered via the update() and delete()
constructs, however these have not yet been adapted
to the new system and may follow in a subsequent
update.

Performance is also beginning to lag as of this
commit and some previous ones. It is hoped that
a few central functions such as the coercions
functions can be rewritten in C to re-gain
performance. Additionally, query caching
is now available and some subsequent patches
will attempt to cache more of the per-execution
work from the ORM layer, e.g. column getters
and adapters.

This patch also contains initial "turn on" of the
caching system enginewide via the query_cache_size
parameter to create_engine(). Still defaulting at
zero for "no caching". The caching system still
needs adjustments in order to gain adequate performance.

Change-Id: I047a7ebb26aa85dc01f6789fac2bff561dcd555d
diff 5448f612 Sat Mar 10 17:18:52 MST 2012 Mike Bayer <mike_mp@zzzcomputing.com> - [bug] Fixed memory leak in core which would
occur when C extensions were used with
particular types of result fetches,
in particular when orm query.count()
were called. [ticket:2427]
/sqlalchemy/test/
H A Drequirements.pydiff 37414a75 Wed Apr 21 12:44:45 MDT 2021 Mike Bayer <mike_mp@zzzcomputing.com> Add new "sync once" mode for pool.connect

Fixed critical regression caused by the change in :ticket`5497` where the
connection pool "init" phase no longer occurred within mutexed isolation,
allowing other threads to proceed with the dialect uninitialized, which
could then impact the compilation of SQL statements.

This issue is essentially the same regression which was fixed many years
ago in :ticket:`2964` in dd32540dabbee0678530fb1b0868d1eb41572dca,
which was missed this time as the test suite fo
that issue only tested the pool in isolation, and assumed the
"first_connect" event would be used by the Engine. However
:ticket:`5497` stopped using "first_connect" and no test detected
the lack of mutexing, that has been resolved here through
the addition of more tests.

This fix also identifies what is probably a bug in earlier versions
of SQLAlchemy where the "first_connect" handler would be cancelled
if the initializer failed; this is evidenced by
test_explode_in_initializer which was doing a reconnect due to
c.rollback() yet wasn't hanging. We now solve this issue by
preventing the manufactured Connection from ever reconnecting
inside the first_connect handler.

Also remove the "_sqla_unwrap" test attribute; this is almost
not used anymore however we can use a more targeted
wrapper supplied by the testing.engines.proxying_engine
function.

See if we can also open up Oracle for "ad hoc engines" tests
now that we have better connection management logic.

Fixes: #6337
Change-Id: I4a3476625c4606f1a304dbc940d500325e8adc1a
diff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff db24d2e8 Sat Jun 22 09:25:41 MDT 2013 Mike Bayer <mike_mp@zzzcomputing.com> this locale is not needed. maybe it is somewhere but the locale I have ("C", whatever that means,
cannot find meaning of this anywhere in Postgresql documentation) seems to work
diff 956c144c Sun May 26 11:08:24 MDT 2013 Mike Bayer <mike_mp@zzzcomputing.com> fix serializer tests. something is wrong with non-C pickle but for some reason py3k's pickle seems to be OK? not sure why that is, as this
is all related to http://bugs.python.org/issue998998
diff 4356741c Sat Nov 17 18:45:17 MST 2012 Mike Bayer <mike_mp@zzzcomputing.com> - hstore adjustments
diff 4f1321c3 Wed Sep 28 11:04:42 MDT 2011 Mike Bayer <mike_mp@zzzcomputing.com> - Enhanced the instrumentation in the ORM to support
Py3K's new argument style of "required kw arguments",
i.e. fn(a, b, *, c, d), fn(a, b, *args, c, d).
Argument signatures of mapped object's __init__
method will be preserved, including required kw rules.
[ticket:2237]
diff 4f1321c3 Wed Sep 28 11:04:42 MDT 2011 Mike Bayer <mike_mp@zzzcomputing.com> - Enhanced the instrumentation in the ORM to support
Py3K's new argument style of "required kw arguments",
i.e. fn(a, b, *, c, d), fn(a, b, *args, c, d).
Argument signatures of mapped object's __init__
method will be preserved, including required kw rules.
[ticket:2237]
diff a41c50ad Tue Nov 09 09:40:23 MST 2010 Mike Bayer <mike_mp@zzzcomputing.com> - Implemented sequence check capability for the C
version of RowProxy, as well as 2.7 style
"collections.Sequence" registration for RowProxy.
[ticket:1871]
/sqlalchemy/test/dialect/postgresql/
H A Dtest_types.pydiff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
/sqlalchemy/test/orm/
H A Dtest_deprecations.pydiff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
/sqlalchemy/lib/sqlalchemy/engine/
H A Ddefault.pydiff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff 2581655c Sun Aug 16 02:48:57 MDT 2020 Federico Caselli <cfederico87@gmail.com> Support testing of async drivers without fallback mode

Change-Id: I4940d184a4dc790782fcddfb9873af3cca844398
diff 6930dfc0 Mon Apr 27 10:58:12 MDT 2020 Mike Bayer <mike_mp@zzzcomputing.com> Convert execution to move through Session

This patch replaces the ORM execution flow with a
single pathway through Session.execute() for all queries,
including Core and ORM.

Currently included is full support for ORM Query,
Query.from_statement(), select(), as well as the
baked query and horizontal shard systems. Initial
changes have also been made to the dogpile caching
example, which like baked query makes use of a
new ORM-specific execution hook that replaces the
use of both QueryEvents.before_compile() as well
as Query._execute_and_instances() as the central
ORM interception hooks.

select() and Query() constructs alike can be passed to
Session.execute() where they will return ORM
results in a Results object. This API is currently
used internally by Query. Full support for
Session.execute()->results to behave in a fully
2.0 fashion will be in later changesets.

bulk update/delete with ORM support will also
be delivered via the update() and delete()
constructs, however these have not yet been adapted
to the new system and may follow in a subsequent
update.

Performance is also beginning to lag as of this
commit and some previous ones. It is hoped that
a few central functions such as the coercions
functions can be rewritten in C to re-gain
performance. Additionally, query caching
is now available and some subsequent patches
will attempt to cache more of the per-execution
work from the ORM layer, e.g. column getters
and adapters.

This patch also contains initial "turn on" of the
caching system enginewide via the query_cache_size
parameter to create_engine(). Still defaulting at
zero for "no caching". The caching system still
needs adjustments in order to gain adequate performance.

Change-Id: I047a7ebb26aa85dc01f6789fac2bff561dcd555d
diff 5b2abf4d Thu May 21 16:18:39 MDT 2020 Mike Bayer <mike_mp@zzzcomputing.com> Structural / performance refinements

* state connection schema_translate_map entirely in terms of
execution options, support for per-execution options as well

* use slots for role impls, remove superclass of the roles
themselves as this is not needed

* tighten loop in resolve, might become a C function

Change-Id: Ib98ac9b65022fbf976e49c6060e4c37573528c5f
diff fb991a44 Wed Jun 13 15:48:51 MDT 2018 Mike Bayer <mike_mp@zzzcomputing.com> Add use_nchar_for_unicode flag; don't use nchar types for generic unicode

The Oracle dialect will no longer use the NCHAR/NCLOB datatypes to
represent generic unicode strings or clob fields in conjunction with
:class:`.Unicode` and :class:`.UnicodeText` unless the flag
``use_nchar_for_unicode=True`` is passed to :func:`.create_engine`.
Additionally, string types under Oracle now coerce to unicode under Python
2 in all cases, however unlike in previous iterations, we use SQLAlchemy's
native unicode handlers which are very performant (when C extensions are
enabled; when they are not, we use cx_Oracle's handlers).

Change-Id: I3939012e9396520875bc52e69bf81f27393836ee
Fixes: #4242
diff 7827dfb6 Wed Sep 21 13:37:20 MDT 2016 Mike Bayer <mike_mp@zzzcomputing.com> Handle BaseException in all _handle_dbapi_error

Tests illustrate that exceptions like GreenletExit and
even KeyboardInterrupt can corrupt the state of a DBAPI
connection like that of pymysql and mysqlclient. Intercept
BaseException errors within the handle_error scheme and
invalidate just the connection alone in this case, but not
the whole pool.

The change is backwards-incompatible with a program that
currently intercepts ctrl-C within a database transaction
and wants to continue working on that transaction. Ensure
the event hook can be used to reverse this behavior.

Change-Id: Ifaa013c13826d123eef34e32b7e79fff74f1b21b
Fixes: #3803
diff 1f7a1f77 Thu Jan 14 16:06:26 MST 2016 Mike Bayer <mike_mp@zzzcomputing.com> - A deep improvement to the recently added :meth:`.TextClause.columns`
method, and its interaction with result-row processing, now allows
the columns passed to the method to be positionally matched with the
result columns in the statement, rather than matching on name alone.
The advantage to this includes that when linking a textual SQL statement
to an ORM or Core table model, no system of labeling or de-duping of
common column names needs to occur, which also means there's no need
to worry about how label names match to ORM columns and so-forth. In
addition, the :class:`.ResultProxy` has been further enhanced to
map column and string keys to a row with greater precision in some
cases. fixes #3501
- reorganize the initialization of ResultMetaData for readability
and complexity; use the name "cursor_description", define the
task of "merging" cursor_description with compiled column information
as its own function, and also define "name extraction" as a separate task.
- fully change the name we use in the "ambiguous column" error to be the
actual name that was ambiguous, modify the C ext also
diff b8474a4d Tue Sep 12 15:44:17 MDT 2006 Mike Bayer <mike_mp@zzzcomputing.com> moved "c.name" to "c.key" for processing defaults since bind params use column key
diff b8474a4d Tue Sep 12 15:44:17 MDT 2006 Mike Bayer <mike_mp@zzzcomputing.com> moved "c.name" to "c.key" for processing defaults since bind params use column key

Completed in 739 milliseconds