Skip to content

Commit 7051dc5

Browse files
committed
detect {opensql} and {stop} sections
this so that I can still have {opensql} and {stop} sections in non-console python. this isn't the norm but I would prefer if I dont have to be 100% strict about it also maintaining {sql} / {stop} being at the start of a code line. this is more prevalent in 1.4. Change-Id: Iaf748b7ff1120e21f729c2fd794d9b8a33d83170
1 parent 04a72ff commit 7051dc5

8 files changed

Lines changed: 139 additions & 71 deletions

File tree

doc/build/core/constraints.rst

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -372,17 +372,16 @@ MySQL.
372372
from sqlalchemy import CheckConstraint
373373

374374
metadata_obj = MetaData()
375-
mytable = Table('mytable', metadata_obj,
376-
375+
mytable = Table(
376+
"mytable",
377+
metadata_obj,
377378
# per-column CHECK constraint
378-
Column('col1', Integer, CheckConstraint('col1>5')),
379-
380-
Column('col2', Integer),
381-
Column('col3', Integer),
382-
379+
Column("col1", Integer, CheckConstraint("col1>5")),
380+
Column("col2", Integer),
381+
Column("col3", Integer),
383382
# table level CHECK constraint. 'name' is optional.
384-
CheckConstraint('col2 > col3 + 5', name='check1')
385-
)
383+
CheckConstraint("col2 > col3 + 5", name="check1"),
384+
)
386385

387386
{sql}mytable.create(engine)
388387
CREATE TABLE mytable (
@@ -852,25 +851,24 @@ INDEX" is issued right after the create statements for the table:
852851
.. sourcecode:: python+sql
853852

854853
metadata_obj = MetaData()
855-
mytable = Table('mytable', metadata_obj,
854+
mytable = Table(
855+
"mytable",
856+
metadata_obj,
856857
# an indexed column, with index "ix_mytable_col1"
857-
Column('col1', Integer, index=True),
858-
858+
Column("col1", Integer, index=True),
859859
# a uniquely indexed column with index "ix_mytable_col2"
860-
Column('col2', Integer, index=True, unique=True),
861-
862-
Column('col3', Integer),
863-
Column('col4', Integer),
864-
865-
Column('col5', Integer),
866-
Column('col6', Integer),
867-
)
860+
Column("col2", Integer, index=True, unique=True),
861+
Column("col3", Integer),
862+
Column("col4", Integer),
863+
Column("col5", Integer),
864+
Column("col6", Integer),
865+
)
868866

869867
# place an index on col3, col4
870-
Index('idx_col34', mytable.c.col3, mytable.c.col4)
868+
Index("idx_col34", mytable.c.col3, mytable.c.col4)
871869

872870
# place a unique index on col5, col6
873-
Index('myindex', mytable.c.col5, mytable.c.col6, unique=True)
871+
Index("myindex", mytable.c.col5, mytable.c.col6, unique=True)
874872

875873
{sql}mytable.create(engine)
876874
CREATE TABLE mytable (
@@ -910,7 +908,7 @@ The :class:`~sqlalchemy.schema.Index` object also supports its own ``create()``
910908

911909
.. sourcecode:: python+sql
912910

913-
i = Index('someindex', mytable.c.col5)
911+
i = Index("someindex", mytable.c.col5)
914912
{sql}i.create(engine)
915913
CREATE INDEX someindex ON mytable (col5){stop}
916914

doc/build/core/ddl.rst

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -99,27 +99,29 @@ first looking within the PostgreSQL catalogs to see if it exists:
9999

100100
def should_create(ddl, target, connection, **kw):
101101
row = connection.execute(
102-
"select conname from pg_constraint where conname='%s'" %
103-
ddl.element.name).scalar()
102+
"select conname from pg_constraint where conname='%s'" % ddl.element.name
103+
).scalar()
104104
return not bool(row)
105105
106+
106107
def should_drop(ddl, target, connection, **kw):
107108
return not should_create(ddl, target, connection, **kw)
108109
110+
109111
event.listen(
110112
users,
111113
"after_create",
112114
DDL(
113115
"ALTER TABLE users ADD CONSTRAINT "
114116
"cst_user_name_length CHECK (length(user_name) >= 8)"
115-
).execute_if(callable_=should_create)
117+
).execute_if(callable_=should_create),
116118
)
117119
event.listen(
118120
users,
119121
"before_drop",
120-
DDL(
121-
"ALTER TABLE users DROP CONSTRAINT cst_user_name_length"
122-
).execute_if(callable_=should_drop)
122+
DDL("ALTER TABLE users DROP CONSTRAINT cst_user_name_length").execute_if(
123+
callable_=should_drop
124+
),
123125
)
124126

125127
{sql}users.create(engine)

doc/build/core/metadata.rst

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -174,22 +174,26 @@ will issue the CREATE statements:
174174

175175
.. sourcecode:: python+sql
176176

177-
engine = create_engine('sqlite:///:memory:')
177+
engine = create_engine("sqlite:///:memory:")
178178

179179
metadata_obj = MetaData()
180180

181-
user = Table('user', metadata_obj,
182-
Column('user_id', Integer, primary_key=True),
183-
Column('user_name', String(16), nullable=False),
184-
Column('email_address', String(60), key='email'),
185-
Column('nickname', String(50), nullable=False)
181+
user = Table(
182+
"user",
183+
metadata_obj,
184+
Column("user_id", Integer, primary_key=True),
185+
Column("user_name", String(16), nullable=False),
186+
Column("email_address", String(60), key="email"),
187+
Column("nickname", String(50), nullable=False),
186188
)
187189

188-
user_prefs = Table('user_prefs', metadata_obj,
189-
Column('pref_id', Integer, primary_key=True),
190-
Column('user_id', Integer, ForeignKey("user.user_id"), nullable=False),
191-
Column('pref_name', String(40), nullable=False),
192-
Column('pref_value', String(100))
190+
user_prefs = Table(
191+
"user_prefs",
192+
metadata_obj,
193+
Column("pref_id", Integer, primary_key=True),
194+
Column("user_id", Integer, ForeignKey("user.user_id"), nullable=False),
195+
Column("pref_name", String(40), nullable=False),
196+
Column("pref_value", String(100)),
193197
)
194198

195199
{sql}metadata_obj.create_all(engine)
@@ -225,14 +229,16 @@ default issue the CREATE or DROP regardless of the table being present:
225229

226230
.. sourcecode:: python+sql
227231

228-
engine = create_engine('sqlite:///:memory:')
232+
engine = create_engine("sqlite:///:memory:")
229233

230234
metadata_obj = MetaData()
231235

232-
employees = Table('employees', metadata_obj,
233-
Column('employee_id', Integer, primary_key=True),
234-
Column('employee_name', String(60), nullable=False, key='name'),
235-
Column('employee_dept', Integer, ForeignKey("departments.department_id"))
236+
employees = Table(
237+
"employees",
238+
metadata_obj,
239+
Column("employee_id", Integer, primary_key=True),
240+
Column("employee_name", String(60), nullable=False, key="name"),
241+
Column("employee_dept", Integer, ForeignKey("departments.department_id")),
236242
)
237243
{sql}employees.create(engine)
238244
CREATE TABLE employees(

doc/build/orm/mapped_attributes.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,7 @@ that is, from the ``EmailAddress`` class directly:
182182

183183
from sqlalchemy.orm import Session
184184
from sqlalchemy import select
185+
185186
session = Session()
186187

187188
{sql}address = session.scalars(
@@ -193,7 +194,7 @@ that is, from the ``EmailAddress`` class directly:
193194
('address@example.com',)
194195
{stop}
195196

196-
address.email = 'otheraddress@example.com'
197+
address.email = "otheraddress@example.com"
197198
{sql}session.commit()
198199
UPDATE address SET email=? WHERE address.id = ?
199200
('otheraddress@example.com', 1)

doc/build/orm/queryguide/inheritance.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -861,7 +861,7 @@ the ``Engineer`` entity is performed::
861861
WHERE employee.type IN (?) ORDER BY employee.id
862862
[...] ('engineer',)
863863
{stop}>>> for obj in objects:
864-
... print(f"{obj}")
864+
... print(f"{obj}")
865865
Engineer('SpongeBob')
866866
Engineer('Squidward')
867867

@@ -917,7 +917,7 @@ efficient for single-inheritance mappers::
917917
FROM employee ORDER BY employee.id
918918
[...] ()
919919
{stop}>>> for obj in objects:
920-
... print(f"{obj}")
920+
... print(f"{obj}")
921921
Manager('Mr. Krabs')
922922
Engineer('SpongeBob')
923923
Engineer('Squidward')

doc/build/orm/queryguide/relationships.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1117,9 +1117,9 @@ the specific :func:`_orm.aliased` construct to be passed:
11171117
# construct a statement which expects the "addresses" results
11181118

11191119
stmt = (
1120-
select(User).
1121-
outerjoin(User.addresses.of_type(adalias)).
1122-
options(contains_eager(User.addresses.of_type(adalias)))
1120+
select(User)
1121+
.outerjoin(User.addresses.of_type(adalias))
1122+
.options(contains_eager(User.addresses.of_type(adalias)))
11231123
)
11241124

11251125
# get results normally

doc/build/orm/self_referential.rst

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -179,13 +179,12 @@ configured via :paramref:`~.relationships.join_depth`:
179179
.. sourcecode:: python+sql
180180

181181
class Node(Base):
182-
__tablename__ = 'node'
182+
__tablename__ = "node"
183183
id = mapped_column(Integer, primary_key=True)
184-
parent_id = mapped_column(Integer, ForeignKey('node.id'))
184+
parent_id = mapped_column(Integer, ForeignKey("node.id"))
185185
data = mapped_column(String(50))
186-
children = relationship("Node",
187-
lazy="joined",
188-
join_depth=2)
186+
children = relationship("Node", lazy="joined", join_depth=2)
187+
189188

190189
session.scalars(select(Node)).all()
191190
{opensql}SELECT node_1.id AS node_1_id,

0 commit comments

Comments
 (0)