Found via `codespell -q 3 -L ba,crate,datas,froms,gord,hist,inh,nd,selectin,strat,ue`
.. topic:: the Python DBAPI is where autobegin actually happens
The design of "commit as you go" is intended to be complementary to the
- design of the :term:`DBAPI`, which is the underyling database interface
+ design of the :term:`DBAPI`, which is the underlying database interface
that SQLAlchemy interacts with. In the DBAPI, the ``connection`` object does
not assume changes to the database will be automatically committed, instead
requiring in the default case that the ``connection.commit()`` method is
.. note:: The above reference to a "pre-buffered" vs. "un-buffered"
:class:`_result.Result` object refers to the process by which the ORM
converts incoming raw database rows from the :term:`DBAPI` into ORM
- objects. It does not imply whether or not the underyling ``cursor``
+ objects. It does not imply whether or not the underlying ``cursor``
object itself, which represents pending results from the DBAPI, is itself
buffered or unbuffered, as this is essentially a lower layer of buffering.
For background on buffering of the ``cursor`` results itself, see the
attribute is also added which will always refer to the real driver-level
connection regardless of what API it presents.
-Accessing the underlying connnection for an asyncio driver
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Accessing the underlying connection for an asyncio driver
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
When an asyncio driver is in use, there are two changes to the above
scheme. The first is that when using an :class:`_asyncio.AsyncConnection`,
particular SQLAlchemy API has been invoked by end-user code, and *before*
some other internal aspect of that API occurs.
- Constrast this to the architecture of the asyncio extension, which takes
+ Contrast this to the architecture of the asyncio extension, which takes
place on the **exterior** of SQLAlchemy's usual flow from end-user API to
DBAPI function.
keeping the effect of such an option localized to a "sub" connection.
.. versionchanged:: 2.0 The :meth:`_engine.Connection.execution_options`
- method, in constrast to other objects with this method, modifies
+ method, in contrast to other objects with this method, modifies
the connection in-place without creating copy of it.
As discussed elsewhere, the :meth:`_engine.Connection.execution_options`
in a result row subsequent to statement execution time.
Subclasses of :class:`_types.TypeDecorator` can override this method
- to provide custom column expresion behavior for the type. This
+ to provide custom column expression behavior for the type. This
implementation will **replace** that of the underlying implementation
type.
"connection not open",
"could not receive data from server",
"could not send data to server",
- # psycopg2 client errors, psycopg2/conenction.h,
+ # psycopg2 client errors, psycopg2/connection.h,
# psycopg2/cursor.h
"connection already closed",
"cursor already closed",
ra = aliased(Report, subq)
# this test previously used select_entity_from(). the standard
- # conversion to use aliased() neds to be adjusted to be against
- # Employee, not Manger, otherwise the ORM will add the manager single
+ # conversion to use aliased() needs to be adjusted to be against
+ # Employee, not Manager, otherwise the ORM will add the manager single
# inh criteria to the outside which will break the outer join
ma = aliased(Employee, subq)
)
# note this doesn't apply to "bound" loaders since they don't seem
- # to have this ".*" featue.
+ # to have this ".*" feature.
def test_load_only_subclass_of_type(self):
s = fixture_session()
sess = fixture_session()
u1 = sess.get(User, 7)
u2 = sess.get(User, 8)
- # comparaison ops need to work
+ # comparison ops need to work
a1 = sess.query(Address).filter(Address.user == u1).one()
eq_(a1.id, 1)
a1.user = u2
@testing.provide_metadata
def test_works_two(self):
- # doesn't actually work with real FKs beacuse it creates conflicts :)
+ # doesn't actually work with real FKs because it creates conflicts :)
self._fixture_one(
add_b_a=True, add_b_a_overlaps="a_member", add_bsub1_a=True
)