The Database Toolkit for Python
This report summarizes scanner evidence for sqlalchemy/sqlalchemy, a Python project with 12,227 GitHub stars. SynthScan examined 645,612 lines of code across 690 source files, recording 11467 pattern matches distributed across 18 syntactic categories. The legacy adjusted pattern signal is 17.0 (Elevated pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 9186 finding(s).
Are imports declared and package/API names verified? 1925 finding(s).
Are wrappers, guards, and repeated structures necessary? 8615 finding(s).
Which changes need focused human review? 11467 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 11467 distinct pattern matches across 18 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | noxfile.py | 277 | def _remove_generated_cython_files(session: nox.Session) -> None: | CODE |
| LOW | tools/generate_sql_functions.py | 22 | def _fns_in_deterministic_order(): | CODE |
| LOW | tools/profiles.py | 51 | def _load_profiles_file_module() -> ModuleType: | CODE |
| LOW⚡ | test/requirements.py | 108 | def foreign_keys_reflect_as_index(self): | CODE |
| LOW⚡ | test/requirements.py | 112 | def unique_index_reflect_as_unique_constraints(self): | CODE |
| LOW⚡ | test/requirements.py | 116 | def unique_constraints_reflect_as_index(self): | CODE |
| LOW⚡ | test/requirements.py | 120 | def foreign_key_constraint_name_reflection(self): | CODE |
| LOW⚡ | test/requirements.py | 128 | def update_returning_dialect_not_supported(self): | CODE |
| LOW⚡ | test/requirements.py | 203 | def foreign_key_constraint_option_reflection_ondelete(self): | CODE |
| LOW⚡ | test/requirements.py | 209 | def fk_constraint_option_reflection_ondelete_restrict(self): | CODE |
| LOW⚡ | test/requirements.py | 213 | def fk_constraint_option_reflection_ondelete_noaction(self): | CODE |
| LOW⚡ | test/requirements.py | 217 | def foreign_key_constraint_option_reflection_onupdate(self): | CODE |
| LOW⚡ | test/requirements.py | 221 | def fk_constraint_option_reflection_onupdate_restrict(self): | CODE |
| LOW⚡ | test/requirements.py | 225 | def temp_table_comment_reflection(self): | CODE |
| LOW⚡ | test/requirements.py | 233 | def comment_reflection_full_unicode(self): | CODE |
| LOW⚡ | test/requirements.py | 237 | def constraint_comment_reflection(self): | CODE |
| LOW⚡ | test/requirements.py | 241 | def column_collation_reflection(self): | CODE |
| LOW⚡ | test/requirements.py | 551 | def sequences_as_server_defaults(self): | CODE |
| LOW⚡ | test/requirements.py | 560 | def sql_expressions_inserted_as_primary_key(self): | CODE |
| LOW⚡ | test/requirements.py | 564 | def computed_columns_on_update_returning(self): | CODE |
| LOW⚡ | test/requirements.py | 710 | def default_schema_name_switch(self): | CODE |
| LOW⚡ | test/requirements.py | 714 | def unique_constraint_reflection(self): | CODE |
| LOW⚡ | test/requirements.py | 720 | def unique_constraint_reflection_no_index_overlap(self): | CODE |
| LOW⚡ | test/requirements.py | 729 | def inline_check_constraint_reflection(self): | CODE |
| LOW⚡ | test/requirements.py | 739 | def check_constraint_reflection(self): | CODE |
| LOW⚡ | test/requirements.py | 750 | def indexes_check_column_order(self): | CODE |
| LOW⚡ | test/requirements.py | 758 | def reflect_indexes_with_expressions(self): | CODE |
| LOW⚡ | test/requirements.py | 762 | def reflect_indexes_with_ascdesc_as_expression(self): | CODE |
| LOW⚡ | test/requirements.py | 2053 | def _mysql_check_constraints_exist(self, config): | CODE |
| LOW⚡ | test/requirements.py | 2060 | def _mysql_check_constraints_dont_exist(self, config): | CODE |
| LOW⚡ | test/requirements.py | 2065 | def _mysql_expression_defaults(self, config): | CODE |
| LOW⚡ | test/requirements.py | 2071 | def mysql_expression_defaults(self): | CODE |
| LOW⚡ | test/requirements.py | 2227 | def sequences_in_other_clauses(self): | CODE |
| LOW⚡ | test/requirements.py | 2232 | def supports_lastrowid_for_expressions(self): | CODE |
| LOW⚡ | test/requirements.py | 2237 | def supports_sequence_for_autoincrement_column(self): | CODE |
| LOW⚡ | test/requirements.py | 2242 | def supports_autoincrement_w_composite_pk(self): | CODE |
| LOW⚡ | test/requirements.py | 2252 | def multiple_identity_columns(self): | CODE |
| LOW⚡ | test/requirements.py | 2256 | def identity_columns_standard(self): | CODE |
| LOW⚡ | test/requirements.py | 2260 | def index_reflects_included_columns(self): | CODE |
| LOW⚡ | test/requirements.py | 2291 | def fetch_offset_with_options(self): | CODE |
| LOW⚡ | test/requirements.py | 2301 | def autoincrement_without_sequence(self): | CODE |
| LOW⚡ | test/requirements.py | 2305 | def reflect_tables_no_columns(self): | CODE |
| LOW | test/requirements.py | 33 | def deferrable_or_no_constraints(self): | CODE |
| LOW | test/requirements.py | 51 | def enforces_check_constraints(self): | CODE |
| LOW | test/requirements.py | 66 | def implicitly_named_constraints(self): | CODE |
| LOW | test/requirements.py | 78 | def foreign_key_cycles_w_cascade(self): | CODE |
| LOW | test/requirements.py | 82 | def repeated_column_foreign_keys(self): | CODE |
| LOW | test/requirements.py | 95 | def repeated_remote_col_foreign_keys(self): | CODE |
| LOW | test/requirements.py | 264 | def non_native_boolean_unconstrained(self): | CODE |
| LOW | test/requirements.py | 289 | def expression_server_defaults(self): | CODE |
| LOW | test/requirements.py | 337 | def no_quoting_special_bind_names(self): | CODE |
| LOW | test/requirements.py | 353 | def temp_table_reflect_indexes(self): | CODE |
| LOW | test/requirements.py | 357 | def reflectable_autoincrement(self): | CODE |
| LOW | test/requirements.py | 429 | def cursor_works_post_rollback(self): | CODE |
| LOW | test/requirements.py | 508 | def updateable_autoincrement_pks(self): | CODE |
| LOW | test/requirements.py | 630 | def update_where_target_in_subquery(self): | CODE |
| LOW | test/requirements.py | 691 | def cross_schema_fk_reflection(self): | CODE |
| LOW | test/requirements.py | 810 | def unusual_column_name_characters(self): | CODE |
| LOW | test/requirements.py | 890 | def mod_operator_as_percent_sign(self): | CODE |
| LOW | test/requirements.py | 949 | def parens_in_union_contained_select_w_limit_offset(self): | CODE |
| 8115 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 1 | CODE | |
| LOW | setup.py | 14 | CODE | |
| LOW | noxfile.py | 3 | CODE | |
| LOW | tools/generate_proxy_methods.py | 46 | CODE | |
| LOW | tools/generate_tuple_map_overloads.py | 22 | CODE | |
| LOW | tools/generate_sql_functions.py | 5 | CODE | |
| LOW | tools/trace_orm_adapter.py | 30 | CODE | |
| LOW | tools/toxnox.py | 11 | CODE | |
| LOW | tools/sync_test_files.py | 6 | CODE | |
| LOW | tools/profiles.py | 29 | CODE | |
| LOW | test/conftest.py | 59 | CODE | |
| LOW | test/ext/test_associationproxy.py | 1 | CODE | |
| LOW | test/ext/test_mutable.py | 1 | CODE | |
| LOW | test/ext/test_hybrid.py | 1 | CODE | |
| LOW | test/ext/declarative/test_reflection.py | 1 | CODE | |
| LOW | test/ext/asyncio/test_session.py | 1 | CODE | |
| LOW | test/typing/plain_files/ext/indexable.py | 1 | CODE | |
| LOW | …yping/plain_files/ext/orderinglist/orderinglist_one.py | 1 | CODE | |
| LOW | …n_files/ext/association_proxy/association_proxy_two.py | 1 | CODE | |
| LOW | …files/ext/association_proxy/association_proxy_three.py | 1 | CODE | |
| LOW | …t/typing/plain_files/ext/asyncio/async_sessionmaker.py | 6 | CODE | |
| LOW | test/typing/plain_files/ext/hybrid/hybrid_four.py | 1 | CODE | |
| LOW | test/typing/plain_files/ext/hybrid/hybrid_one.py | 1 | CODE | |
| LOW | test/typing/plain_files/ext/hybrid/hybrid_two.py | 1 | CODE | |
| LOW | test/typing/plain_files/ext/hybrid/hybrid_three.py | 1 | CODE | |
| LOW | test/typing/plain_files/orm/dataclass_transforms_one.py | 1 | CODE | |
| LOW | test/typing/plain_files/orm/orm_querying.py | 1 | CODE | |
| LOW | test/typing/plain_files/orm/relationship.py | 3 | CODE | |
| LOW | test/typing/plain_files/orm/write_only.py | 1 | CODE | |
| LOW | test/typing/plain_files/orm/session.py | 1 | CODE | |
| LOW | test/typing/plain_files/orm/dynamic_rel.py | 1 | CODE | |
| LOW | test/typing/plain_files/orm/typed_froms_orm_interop.py | 1 | CODE | |
| LOW | test/typing/plain_files/orm/typed_queries.py | 1 | CODE | |
| LOW | test/typing/plain_files/sql/lambda_stmt.py | 1 | CODE | |
| LOW | test/typing/plain_files/sql/common_sql_element.py | 9 | CODE | |
| LOW | test/typing/plain_files/sql/typed_results.py | 1 | CODE | |
| LOW | test/typing/plain_files/sql/operators.py | 2 | CODE | |
| LOW | test/typing/plain_files/sql/operators.py | 10 | CODE | |
| LOW | test/typing/plain_files/sql/dml.py | 1 | CODE | |
| LOW | test/orm/test_transaction.py | 1 | CODE | |
| LOW | test/orm/test_relationship_criteria.py | 1 | CODE | |
| LOW | test/orm/test_session.py | 1 | CODE | |
| LOW | test/orm/test_collection.py | 1 | CODE | |
| LOW | test/orm/test_deferred.py | 1 | CODE | |
| LOW | test/orm/test_syntax_extensions.py | 1 | CODE | |
| LOW | test/orm/dml/test_bulk_statements.py | 1 | CODE | |
| LOW | test/orm/dml/test_orm_upd_del_assorted.py | 1 | CODE | |
| LOW | test/orm/dml/test_orm_upd_del_inheritance.py | 1 | CODE | |
| LOW | test/orm/dml/test_orm_upd_del_basic.py | 1 | CODE | |
| LOW | test/orm/inheritance/test_assorted_poly.py | 6 | CODE | |
| LOW | test/orm/inheritance/test_single.py | 1 | CODE | |
| LOW | test/orm/declarative/test_tm_future_annotations.py | 9 | CODE | |
| LOW | test/orm/declarative/test_abs_import_only.py | 7 | CODE | |
| LOW | test/orm/declarative/test_tm_future_annotations_sync.py | 8 | CODE | |
| LOW | test/dialect/test_suite.py | 1 | CODE | |
| LOW | test/perf/compiled_extensions/command.py | 10 | CODE | |
| LOW | test/perf/compiled_extensions/command.py | 11 | CODE | |
| LOW | test/perf/compiled_extensions/command.py | 12 | CODE | |
| LOW | test/perf/compiled_extensions/command.py | 13 | CODE | |
| LOW | test/perf/compiled_extensions/command.py | 14 | CODE | |
| 1727 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/normalize_file_headers.py | 21 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | test/orm/test_events.py | 4506 | # Create a simple mapped class to trigger configuration | COMMENT |
| MEDIUM | test/sql/test_operators.py | 4731 | # Create a custom type with UNSPECIFIED operator_classes | COMMENT |
| MEDIUM | test/sql/test_quote.py | 467 | # Create the same table with quotes set to True now | COMMENT |
| MEDIUM | test/sql/test_quote.py | 491 | # Create the same table with quotes set to False now | COMMENT |
| MEDIUM | test/sql/test_quote.py | 515 | # Create the same table with quotes set to False now | COMMENT |
| MEDIUM | test/sql/test_quote.py | 542 | # Create the same table with quotes set to False now | COMMENT |
| MEDIUM | test/sql/test_quote.py | 569 | # Create the same table with quotes set to False now | COMMENT |
| MEDIUM | test/sql/test_quote.py | 607 | # Create the same table with quotes set to False now | COMMENT |
| MEDIUM | lib/sqlalchemy/log.py | 6 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/events.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/__init__.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/types.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/inspection.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/exc.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/schema.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/connectors/asyncio.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/connectors/__init__.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/connectors/aioodbc.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/connectors/pyodbc.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/util/queue.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/util/topological.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/util/cython.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/util/_immutabledict_cy.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/util/_has_cython.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/util/compat.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/util/preloaded.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/util/concurrency.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/util/__init__.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/util/deprecations.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/util/_collections.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/util/_collections_cy.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/util/langhelpers.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/util/typing.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/util/tool_support.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/ext/instrumentation.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/ext/compiler.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/ext/orderinglist.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/ext/hybrid.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/ext/__init__.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/ext/indexable.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/ext/serializer.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/ext/baked.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/ext/automap.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/ext/horizontal_shard.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/ext/mutable.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/ext/associationproxy.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/ext/declarative/__init__.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/ext/declarative/extensions.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/ext/asyncio/scoping.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/ext/asyncio/session.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/ext/asyncio/__init__.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/ext/asyncio/result.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/ext/asyncio/engine.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/ext/asyncio/exc.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/ext/asyncio/base.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/testing/pickleable.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/testing/exclusions.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/testing/config.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| MEDIUM | lib/sqlalchemy/testing/engines.py | 5 | # This module is part of SQLAlchemy and is released under | COMMENT |
| 210 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | test/orm/test_subquery_relations.py | 0 | tests that a regular mapper select on a single table can order by a relationship to a second table | STRING |
| HIGH | test/orm/test_selectin_relations.py | 0 | tests that a regular mapper select on a single table can order by a relationship to a second table | STRING |
| HIGH | test/orm/test_eager_relations.py | 0 | tests that a regular mapper select on a single table can order by a relationship to a second table | STRING |
| HIGH | test/orm/test_lazy_relations.py | 0 | tests that a regular mapper select on a single table can order by a relationship to a second table | STRING |
| HIGH | test/orm/test_subquery_relations.py | 0 | a circular eager relationship breaks the cycle with a lazy loader | STRING |
| HIGH | test/orm/test_selectin_relations.py | 0 | a circular eager relationship breaks the cycle with a lazy loader | STRING |
| HIGH | test/orm/test_eager_relations.py | 0 | a circular eager relationship breaks the cycle with a lazy loader | STRING |
| HIGH | test/orm/test_subquery_relations.py | 0 | eager loading with two relationships simultaneously, from the same table, using aliases. | STRING |
| HIGH | test/orm/test_selectin_relations.py | 0 | eager loading with two relationships simultaneously, from the same table, using aliases. | STRING |
| HIGH | test/orm/test_eager_relations.py | 0 | eager loading with two relationships simultaneously, from the same table, using aliases. | STRING |
| HIGH | test/orm/test_subquery_relations.py | 0 | test limit operations combined with lazy-load relationships. | STRING |
| HIGH | test/orm/test_selectin_relations.py | 0 | test limit operations combined with lazy-load relationships. | STRING |
| HIGH | test/orm/test_eager_relations.py | 0 | test limit operations combined with lazy-load relationships. | STRING |
| HIGH | test/orm/test_lazy_relations.py | 0 | test limit operations combined with lazy-load relationships. | STRING |
| HIGH | test/orm/test_subquery_relations.py | 0 | test that multiple rows received by a uselist=false raises a warning. | STRING |
| HIGH | test/orm/test_selectin_relations.py | 0 | test that multiple rows received by a uselist=false raises a warning. | STRING |
| HIGH | test/orm/test_lazy_relations.py | 0 | test that multiple rows received by a uselist=false raises a warning. | STRING |
| HIGH | test/orm/test_eager_relations.py | 0 | test that multiple rows received by a uselist=false raises a warning. | STRING |
| HIGH | test/orm/test_subquery_relations.py | 0 | test that loaders from a base query fully populate. | STRING |
| HIGH | test/orm/test_selectin_relations.py | 0 | test that loaders from a base query fully populate. | STRING |
| HIGH | test/orm/test_eager_relations.py | 0 | test that loaders from a base query fully populate. | STRING |
| HIGH | test/orm/declarative/test_typed_mapping.py | 0 | test example in the relationship docs will derive uselist=false correctly | STRING |
| HIGH | …orm/declarative/test_dc_transforms_future_anno_sync.py | 0 | test example in the relationship docs will derive uselist=false correctly | STRING |
| HIGH | test/orm/declarative/test_tm_future_annotations_sync.py | 0 | test example in the relationship docs will derive uselist=false correctly | STRING |
| HIGH | test/orm/declarative/test_dc_transforms.py | 0 | test example in the relationship docs will derive uselist=false correctly | STRING |
| HIGH | examples/sharding/separate_tables.py | 0 | shard chooser. this is primarily invoked at persistence time. looks at the given instance and returns a shard id note th | STRING |
| HIGH | examples/sharding/asyncio.py | 0 | shard chooser. this is primarily invoked at persistence time. looks at the given instance and returns a shard id note th | STRING |
| HIGH | examples/sharding/separate_databases.py | 0 | shard chooser. this is primarily invoked at persistence time. looks at the given instance and returns a shard id note th | STRING |
| HIGH | examples/sharding/separate_schema_translates.py | 0 | shard chooser. this is primarily invoked at persistence time. looks at the given instance and returns a shard id note th | STRING |
| HIGH | examples/sharding/separate_tables.py | 0 | identity chooser. given a primary key, returns a list of shards to search. here, we don't have any particular informatio | STRING |
| HIGH | examples/sharding/asyncio.py | 0 | identity chooser. given a primary key, returns a list of shards to search. here, we don't have any particular informatio | STRING |
| HIGH | examples/sharding/separate_databases.py | 0 | identity chooser. given a primary key, returns a list of shards to search. here, we don't have any particular informatio | STRING |
| HIGH | examples/sharding/separate_tables.py | 0 | statement execution chooser. this also returns a list of shard ids, which can just be all of them. but here we'll search | STRING |
| HIGH | examples/sharding/asyncio.py | 0 | statement execution chooser. this also returns a list of shard ids, which can just be all of them. but here we'll search | STRING |
| HIGH | examples/sharding/separate_databases.py | 0 | statement execution chooser. this also returns a list of shard ids, which can just be all of them. but here we'll search | STRING |
| HIGH | examples/sharding/separate_tables.py | 0 | search a select or query object for binary expressions. returns expressions which match a column against one or more lit | STRING |
| HIGH | examples/sharding/asyncio.py | 0 | search a select or query object for binary expressions. returns expressions which match a column against one or more lit | STRING |
| HIGH | examples/sharding/separate_databases.py | 0 | search a select or query object for binary expressions. returns expressions which match a column against one or more lit | STRING |
| HIGH | examples/generic_associations/table_per_related.py | 0 | base class which provides automated table name and surrogate primary key column. | STRING |
| HIGH | examples/generic_associations/table_per_association.py | 0 | base class which provides automated table name and surrogate primary key column. | STRING |
| HIGH | examples/generic_associations/generic_fk.py | 0 | base class which provides automated table name and surrogate primary key column. | STRING |
| HIGH | …s/generic_associations/discriminator_on_association.py | 0 | base class which provides automated table name and surrogate primary key column. | STRING |
| HIGH | examples/generic_associations/table_per_association.py | 0 | the address class. this represents all address records in a single table. | STRING |
| HIGH | examples/generic_associations/generic_fk.py | 0 | the address class. this represents all address records in a single table. | STRING |
| HIGH | …s/generic_associations/discriminator_on_association.py | 0 | the address class. this represents all address records in a single table. | STRING |
| HIGH | lib/sqlalchemy/util/_immutabledict_cy.py | 0 | utility function to indicate if this module is compiled or not. | STRING |
| HIGH | lib/sqlalchemy/util/_collections_cy.py | 0 | utility function to indicate if this module is compiled or not. | STRING |
| HIGH | lib/sqlalchemy/engine/_processors_cy.py | 0 | utility function to indicate if this module is compiled or not. | STRING |
| HIGH | lib/sqlalchemy/engine/_util_cy.py | 0 | utility function to indicate if this module is compiled or not. | STRING |
| HIGH | lib/sqlalchemy/engine/_result_cy.py | 0 | utility function to indicate if this module is compiled or not. | STRING |
| HIGH | lib/sqlalchemy/engine/_row_cy.py | 0 | utility function to indicate if this module is compiled or not. | STRING |
| HIGH | lib/sqlalchemy/sql/_util_cy.py | 0 | utility function to indicate if this module is compiled or not. | STRING |
| HIGH | lib/sqlalchemy/sql/_cache_key_cy.py | 0 | utility function to indicate if this module is compiled or not. | STRING |
| HIGH | lib/sqlalchemy/ext/hybrid.py | 0 | return a callable that will process a bulk insert value | STRING |
| HIGH | lib/sqlalchemy/orm/interfaces.py | 0 | return a callable that will process a bulk insert value | STRING |
| HIGH | lib/sqlalchemy/orm/attributes.py | 0 | return a callable that will process a bulk insert value | STRING |
| HIGH | lib/sqlalchemy/ext/asyncio/scoping.py | 0 | return true if the instance is associated with this session. .. container:: class_bases proxied for the :class:`_orm.ses | STRING |
| HIGH | lib/sqlalchemy/ext/asyncio/session.py | 0 | return true if the instance is associated with this session. .. container:: class_bases proxied for the :class:`_orm.ses | STRING |
| HIGH | lib/sqlalchemy/orm/scoping.py | 0 | return true if the instance is associated with this session. .. container:: class_bases proxied for the :class:`_orm.ses | STRING |
| HIGH | lib/sqlalchemy/ext/asyncio/scoping.py | 0 | iterate over all pending or persistent instances within this session. .. container:: class_bases proxied for the :class: | STRING |
| 57 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | test/orm/test_transaction.py | 2058 | except: | CODE |
| HIGH | test/orm/test_transaction.py | 2114 | except: | CODE |
| HIGH | test/orm/test_transaction.py | 2137 | except: | CODE |
| HIGH | test/orm/test_transaction.py | 2161 | except: | CODE |
| HIGH | test/orm/test_transaction.py | 2185 | except: | CODE |
| HIGH | test/orm/test_transaction.py | 1270 | except: | CODE |
| HIGH | test/orm/test_transaction.py | 1292 | except: | CODE |
| HIGH | test/orm/test_dataclasses.py | 24 | except ImportError: | CODE |
| HIGH | test/orm/test_query.py | 5418 | except StopIteration: | CODE |
| HIGH | test/orm/test_query.py | 739 | except (NotImplementedError, AttributeError): | CODE |
| HIGH | test/orm/test_unitofworkv2.py | 2295 | except AvoidReferencialError: | CODE |
| HIGH | test/orm/declarative/test_abs_import_only.py | 19 | except NameError: | CODE |
| HIGH | test/dialect/oracle/test_reflection.py | 1767 | except: | CODE |
| HIGH | test/dialect/oracle/test_reflection.py | 1771 | except: | CODE |
| HIGH | test/dialect/oracle/test_reflection.py | 1757 | except: | CODE |
| HIGH | test/dialect/oracle/test_reflection.py | 1481 | except: | CODE |
| HIGH | test/dialect/mssql/test_query.py | 489 | except: | CODE |
| HIGH | test/engine/test_transaction.py | 721 | except: | CODE |
| HIGH | test/engine/test_transaction.py | 734 | except: | CODE |
| HIGH | test/engine/test_parseconnect.py | 1089 | except ModuleNotFoundError: | CODE |
| HIGH | test/engine/test_pool.py | 1862 | except tsa.exc.DBAPIError: | CODE |
| HIGH | test/engine/test_pool.py | 1201 | except tsa.exc.TimeoutError: | CODE |
| HIGH | test/base/test_utils.py | 162 | except KeyError: | CODE |
| HIGH | test/base/test_utils.py | 170 | except TypeError: | CODE |
| HIGH | test/sql/test_types.py | 653 | except NotImplementedError: | CODE |
| HIGH | test/sql/test_types.py | 151 | except Exception: | CODE |
| HIGH | examples/dynamic_dict/dynamic_dict.py | 37 | except KeyError: | CODE |
| HIGH | examples/performance/__init__.py | 336 | except ImportError: | CODE |
| HIGH | lib/sqlalchemy/connectors/pyodbc.py | 184 | except ValueError: | CODE |
| HIGH | lib/sqlalchemy/util/_collections.py | 626 | except KeyError: | CODE |
| HIGH | lib/sqlalchemy/util/_collections.py | 656 | except AttributeError: | CODE |
| HIGH | lib/sqlalchemy/util/_collections_cy.py | 305 | except KeyError: | CODE |
| HIGH | lib/sqlalchemy/util/langhelpers.py | 448 | except AttributeError: | CODE |
| HIGH | lib/sqlalchemy/util/langhelpers.py | 1167 | except AttributeError: | CODE |
| HIGH | lib/sqlalchemy/util/langhelpers.py | 1001 | except Exception: | CODE |
| HIGH | lib/sqlalchemy/util/langhelpers.py | 1010 | except Exception: | CODE |
| HIGH | lib/sqlalchemy/util/typing.py | 302 | except KeyError: | CODE |
| HIGH | lib/sqlalchemy/ext/orderinglist.py | 226 | except TypeError: | CODE |
| HIGH | lib/sqlalchemy/ext/associationproxy.py | 889 | except AttributeError: | CODE |
| HIGH | lib/sqlalchemy/ext/associationproxy.py | 1218 | except AttributeError: | CODE |
| HIGH | lib/sqlalchemy/ext/associationproxy.py | 1188 | except exc.NoInspectionAvailable: | CODE |
| HIGH | lib/sqlalchemy/ext/associationproxy.py | 1198 | except KeyError: | CODE |
| HIGH | lib/sqlalchemy/ext/asyncio/engine.py | 606 | except GeneratorExit: | CODE |
| HIGH | lib/sqlalchemy/ext/asyncio/base.py | 128 | except KeyError: | CODE |
| HIGH | lib/sqlalchemy/testing/cancellation.py | 302 | except exc.SQLAlchemyError: | CODE |
| HIGH | lib/sqlalchemy/testing/provision.py | 315 | except NotImplementedError: | CODE |
| HIGH | lib/sqlalchemy/testing/provision.py | 327 | except NotImplementedError: | CODE |
| HIGH | lib/sqlalchemy/testing/schema.py | 193 | except (AttributeError, ValueError): | CODE |
| HIGH | lib/sqlalchemy/testing/suite/test_reflection.py | 2627 | except NotImplementedError: | CODE |
| HIGH | lib/sqlalchemy/dialects/oracle/provision.py | 217 | except: | CODE |
| HIGH | lib/sqlalchemy/dialects/sqlite/aiosqlite.py | 214 | except ValueError: | CODE |
| HIGH | lib/sqlalchemy/dialects/sqlite/pysqlcipher.py | 116 | except ImportError: | CODE |
| HIGH | lib/sqlalchemy/dialects/mysql/mysqlconnector.py | 209 | except Exception: | CODE |
| HIGH | lib/sqlalchemy/dialects/mysql/provision.py | 67 | except Exception: | CODE |
| HIGH | lib/sqlalchemy/dialects/mysql/pyodbc.py | 115 | except exc.DBAPIError: | CODE |
| HIGH | lib/sqlalchemy/dialects/mssql/pyodbc.py | 633 | except ValueError: | CODE |
| HIGH | lib/sqlalchemy/dialects/mssql/base.py | 2009 | except Exception: | CODE |
| HIGH | lib/sqlalchemy/orm/interfaces.py | 1158 | except KeyError: | CODE |
| HIGH | lib/sqlalchemy/orm/interfaces.py | 1251 | except KeyError: | CODE |
| HIGH | lib/sqlalchemy/orm/loading.py | 146 | except: | CODE |
| 37 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL⚡ | test/orm/test_bundle.py | 514 | .filter(b1.c.b2.c.d2.between("d4d2", "d6d2")) | CODE |
| CRITICAL⚡ | test/orm/test_bundle.py | 532 | .filter(b1.c.b2.c.d2.between("d4d2", "d5d2")) | CODE |
| CRITICAL⚡ | test/orm/test_bundle.py | 538 | .filter(b1.c.b2.c.d2.between("d5d2", "d6d2")) | CODE |
| CRITICAL | test/orm/test_relationships.py | 2973 | primaryjoin=self.tables.a.c.foo.op( | CODE |
| CRITICAL | test/orm/test_relationships.py | 3000 | primaryjoin=self.tables.a.c.foo.bool_op("&*")( | CODE |
| CRITICAL | …orm/declarative/test_dc_transforms_future_anno_sync.py | 520 | is_true(User.__table__.c.name_plain.default.arg.compare(func.foo())) | CODE |
| CRITICAL | …orm/declarative/test_dc_transforms_future_anno_sync.py | 521 | is_true(User.__table__.c.name_no_init.default.arg.compare(func.foo())) | CODE |
| CRITICAL | test/orm/declarative/test_dc_transforms.py | 507 | is_true(User.__table__.c.name_plain.default.arg.compare(func.foo())) | CODE |
| CRITICAL | test/orm/declarative/test_dc_transforms.py | 508 | is_true(User.__table__.c.name_no_init.default.arg.compare(func.foo())) | CODE |
| CRITICAL⚡ | test/dialect/postgresql/test_dialect.py | 993 | assert testing.db.dialect.dbapi.__version__.startswith( | CODE |
| CRITICAL⚡ | test/dialect/postgresql/test_dialect.py | 1000 | assert testing.db.dialect.dbapi.__version__.startswith( | CODE |
| CRITICAL⚡ | test/dialect/postgresql/test_types.py | 4323 | proc = self.test_table.c.hash.type._cached_bind_processor(dialect) | CODE |
| CRITICAL⚡ | test/dialect/postgresql/test_types.py | 4331 | proc = self.test_table.c.hash.type._cached_bind_processor(dialect) | CODE |
| CRITICAL⚡ | test/dialect/postgresql/test_types.py | 4336 | proc = self.test_table.c.hash.type._cached_result_processor( | CODE |
| CRITICAL⚡ | test/dialect/postgresql/test_types.py | 4350 | proc = self.test_table.c.hash.type._cached_result_processor( | CODE |
| CRITICAL⚡ | test/dialect/postgresql/test_types.py | 4360 | proc = self.test_table.c.hash.type._cached_result_processor( | CODE |
| CRITICAL⚡ | test/dialect/postgresql/test_types.py | 4370 | proc = self.test_table.c.hash.type._cached_result_processor( | CODE |
| CRITICAL⚡ | test/dialect/postgresql/test_types.py | 4380 | proc = self.test_table.c.hash.type._cached_bind_processor(dialect) | CODE |
| CRITICAL⚡ | test/dialect/postgresql/test_types.py | 4385 | proc = self.test_table.c.hash.type._cached_bind_processor(dialect) | CODE |
| CRITICAL | test/dialect/postgresql/test_types.py | 4396 | proc = self.test_table.c.hash.type._cached_result_processor( | CODE |
| CRITICAL | test/dialect/postgresql/test_types.py | 4403 | proc = self.test_table.c.hash.type._cached_result_processor( | CODE |
| CRITICAL | test/engine/test_execute.py | 4393 | self.tables.users.c.user_name.in_(["x", "y", "z"]) | CODE |
| CRITICAL⚡ | test/sql/test_type_expressions.py | 454 | self.tables.test_table.c.x.label("xbar"), | CODE |
| CRITICAL⚡ | test/sql/test_type_expressions.py | 455 | self.tables.test_table.c.y.label("ybar"), | CODE |
| CRITICAL⚡ | test/sql/test_types.py | 3343 | proc = self.test_table.c.test_column.type._cached_bind_processor( | CODE |
| CRITICAL⚡ | test/sql/test_types.py | 3352 | proc = self.test_table.c.test_column.type._cached_bind_processor( | CODE |
| CRITICAL⚡ | test/sql/test_types.py | 3363 | proc = self.test_table.c.test_column.type._cached_bind_processor( | CODE |
| CRITICAL⚡ | test/sql/test_types.py | 3369 | proc = self.test_table.c.test_column.type._cached_result_processor( | CODE |
| CRITICAL⚡ | test/sql/test_types.py | 3378 | proc = self.test_table.c.test_column.type._cached_result_processor( | CODE |
| CRITICAL⚡ | test/sql/test_types.py | 3384 | proc = self.test_table.c.test_column.type._cached_result_processor( | CODE |
| CRITICAL | lib/sqlalchemy/testing/suite/test_results.py | 100 | self.tables.plain_pk.c.data.label("data"), | CODE |
| CRITICAL | lib/sqlalchemy/testing/suite/test_select.py | 87 | self.tables.some_table.c.data.collate(collation).asc() | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/format_docs_code.py | 149 | CODE | |
| LOW | tools/generate_proxy_methods.py | 260 | CODE | |
| LOW | tools/generate_proxy_methods.py | 377 | CODE | |
| LOW | tools/generate_tuple_map_overloads.py | 40 | CODE | |
| LOW | tools/generate_sql_functions.py | 31 | CODE | |
| LOW | tools/toxnox.py | 27 | CODE | |
| LOW | tools/toxnox.py | 93 | CODE | |
| LOW | tools/profiles.py | 215 | CODE | |
| LOW | tools/profiles.py | 335 | CODE | |
| LOW | test/ext/test_horizontal_shard.py | 103 | CODE | |
| LOW | test/ext/test_horizontal_shard.py | 273 | CODE | |
| LOW | test/ext/test_horizontal_shard.py | 322 | CODE | |
| LOW | test/ext/test_horizontal_shard.py | 710 | CODE | |
| LOW | test/ext/test_horizontal_shard.py | 129 | CODE | |
| LOW | test/ext/test_horizontal_shard.py | 728 | CODE | |
| LOW | test/ext/test_horizontal_shard.py | 135 | CODE | |
| LOW | test/ext/test_horizontal_shard.py | 732 | CODE | |
| LOW | test/ext/test_associationproxy.py | 855 | CODE | |
| LOW | test/ext/test_baked.py | 657 | CODE | |
| LOW | test/ext/test_baked.py | 813 | CODE | |
| LOW | test/ext/test_mutable.py | 161 | CODE | |
| LOW | test/ext/declarative/test_reflection.py | 155 | CODE | |
| LOW | test/ext/asyncio/test_engine.py | 66 | CODE | |
| LOW | test/ext/asyncio/test_engine.py | 912 | CODE | |
| LOW | test/ext/asyncio/test_engine.py | 74 | CODE | |
| LOW | test/ext/asyncio/test_session.py | 173 | CODE | |
| LOW | test/aaa_profiling/test_threading.py | 265 | CODE | |
| LOW | test/aaa_profiling/test_threading.py | 273 | CODE | |
| LOW | test/aaa_profiling/test_memusage.py | 1526 | CODE | |
| LOW | test/aaa_profiling/test_memusage.py | 1545 | CODE | |
| LOW | test/orm/test_transaction.py | 127 | CODE | |
| LOW | test/orm/test_transaction.py | 1283 | CODE | |
| LOW | test/orm/test_transaction.py | 2208 | CODE | |
| LOW | test/orm/test_transaction.py | 2249 | CODE | |
| LOW | test/orm/test_transaction.py | 2641 | CODE | |
| LOW | test/orm/test_loading.py | 98 | CODE | |
| LOW | test/orm/test_relationship_criteria.py | 2721 | CODE | |
| LOW | test/orm/test_session.py | 258 | CODE | |
| LOW | test/orm/test_session.py | 648 | CODE | |
| LOW | test/orm/test_session.py | 806 | CODE | |
| LOW | test/orm/test_session.py | 2865 | CODE | |
| LOW | test/orm/test_scoping.py | 182 | CODE | |
| LOW | test/orm/test_collection.py | 2865 | CODE | |
| LOW | test/orm/test_collection.py | 2868 | CODE | |
| LOW | test/orm/test_of_type.py | 1301 | CODE | |
| LOW | test/orm/test_froms.py | 4249 | CODE | |
| LOW | test/orm/test_froms.py | 4252 | CODE | |
| LOW | test/orm/test_inspect.py | 454 | CODE | |
| LOW | test/orm/test_inspect.py | 468 | CODE | |
| LOW | test/orm/test_query.py | 5454 | CODE | |
| LOW | test/orm/test_query.py | 5843 | CODE | |
| LOW | test/orm/test_relationships.py | 2300 | CODE | |
| LOW | test/orm/test_relationships.py | 2599 | CODE | |
| LOW | test/orm/test_relationships.py | 6579 | CODE | |
| LOW | test/orm/test_joins.py | 239 | CODE | |
| LOW | test/orm/test_events.py | 501 | CODE | |
| LOW | test/orm/test_events.py | 1251 | CODE | |
| LOW | test/orm/test_events.py | 1897 | CODE | |
| LOW | test/orm/test_events.py | 4326 | CODE | |
| LOW | test/orm/test_events.py | 4365 | CODE | |
| 476 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | test/ext/test_hybrid.py | 584 | "a.firstname || :firstname_1 || a.lastname AS name FROM a) " | CODE |
| HIGH⚡ | test/ext/test_hybrid.py | 598 | ":firstname_1 || a.lastname AS name FROM a", | CODE |
| HIGH | test/ext/test_hybrid.py | 516 | "SELECT a.id, a.firstname || :firstname_1 || a.lastname AS name " | CODE |
| HIGH | test/typing/plain_files/orm/mapped_column.py | 27 | # these are fine - pk, column is not null, have the attribute be | COMMENT |
| HIGH | test/orm/test_collection.py | 1690 | direct.push(e) | CODE |
| HIGH | test/orm/test_collection.py | 1704 | direct.push(e) | CODE |
| HIGH | test/orm/test_collection.py | 1865 | direct.push(e3) | CODE |
| HIGH | test/orm/test_relationships.py | 7194 | "FROM a JOIN b ON a.b_ids LIKE (:id_1 || b.id || :param_1)) " | CODE |
| HIGH | test/orm/test_relationships.py | 7213 | "FROM a JOIN b ON a.b_ids LIKE (:id_1 || b.id || :param_1)) " | CODE |
| HIGH | test/orm/test_relationships.py | 7243 | "LIKE (:id_1 || b.id || :param_1)) AS anon_1 " | CODE |
| HIGH | test/orm/test_assorted_eager.py | 180 | # if someoption is false or they haven't specified it yet (null) | COMMENT |
| HIGH | test/orm/declarative/test_basic.py | 1965 | "user_1.firstname || :firstname_1 || user_1.lastname", | CODE |
| HIGH | test/dialect/postgresql/test_compiler.py | 3253 | "x[%(x_1)s::TEXT] || %(param_1)s::VARCHAR || x[%(x_2)s::TEXT]", | CODE |
| HIGH | test/dialect/postgresql/test_reflection.py | 627 | "(not_nullable_domain_col nullable_domain not null," | CODE |
| HIGH | test/dialect/postgresql/test_reflection.py | 1991 | "create index idx1 on party ((id || name), (other || id::text))" | STRING |
| HIGH | test/dialect/postgresql/test_reflection.py | 2014 | "(id::text || name::text)", | STRING |
| HIGH | test/dialect/postgresql/test_reflection.py | 2015 | "(other::text || id::text)", | STRING |
| HIGH⚡ | test/dialect/postgresql/test_types.py | 2451 | "SELECT x || ARRAY[%(param_1)s::INTEGER, %(param_2)s::INTEGER] AS" | CODE |
| HIGH | test/dialect/postgresql/test_types.py | 2406 | "SELECT x && ARRAY[%(param_1)s::INTEGER, %(param_2)s::INTEGER," | CODE |
| HIGH | test/dialect/postgresql/test_types.py | 2415 | "SELECT x && ANY (ARRAY[%(param_1)s::INTEGER," | CODE |
| HIGH | test/dialect/postgresql/test_types.py | 2742 | "bar": sa.text("""array['[{"x": 1}]'::json, null]"""), | CODE |
| HIGH | test/dialect/postgresql/test_types.py | 4543 | "test_table.hash || hstore(CAST(test_table.id AS TEXT), " | CODE |
| HIGH | test/dialect/postgresql/test_types.py | 4624 | "(test_table.hash || test_table.hash)[%(param_1)s::VARCHAR] AS" | CODE |
| HIGH | test/dialect/oracle/test_reflection.py | 1032 | (("group" || col), col || other desc)""") | CODE |
| HIGH | test/sql/test_operators.py | 405 | select(expr), "SELECT (d1 || d2) + i1 + i2 AS anon_1" | CODE |
| HIGH | test/sql/test_operators.py | 411 | select(expr), "SELECT i1 + i2 + (d1 || d2) AS anon_1" | CODE |
| HIGH | test/sql/test_update.py | 629 | "mytable.name = (:param_2 || mytable.name || :param_3)", | CODE |
| HIGH | test/sql/test_update.py | 707 | "mytable.name = (:param_2 || mytable.name || :param_3)", | CODE |
| HIGH | test/sql/test_update.py | 737 | "mytable.name = (:param_2 || mytable.name || :param_3)", | CODE |
| HIGH | test/sql/test_update.py | 807 | "mytable.name = (:param_2 || mytable.name || :param_3)", | CODE |
| HIGH | test/sql/test_lambdas.py | 1519 | expr, ":x_1 || users.name", checkparams={"x_1": "foo"} | CODE |
| HIGH | test/sql/test_lambdas.py | 1525 | expr, ":x_1 || users.name", checkparams={"x_1": "bar"} | CODE |
| HIGH | lib/sqlalchemy/testing/config.py | 396 | cls.push( | STRING |
| HIGH | lib/sqlalchemy/testing/plugin/plugin_base.py | 791 | config._current.push(config_obj, testing) | CODE |
| HIGH | lib/sqlalchemy/dialects/mssql/pyodbc.py | 453 | If the value is null, return a pyodbc-specific BinaryNull | CODE |
| HIGH | lib/sqlalchemy/orm/strategies.py | 314 | # the column. If it's sql.null, we don't need to render | COMMENT |
| HIGH | lib/sqlalchemy/orm/strategies.py | 318 | not c.compare(null) for c in self.parent_property.columns | CODE |
| HIGH | lib/sqlalchemy/sql/functions.py | 952 | {printsql}my_string(:my_string_1) || :my_string_2 || my_string(:my_string_3) | CODE |
| HIGH⚡ | lib/sqlalchemy/sql/compiler.py | 3453 | # case is handled using the form "(col NOT IN (null) OR 1 = 1)". | COMMENT |
| HIGH | lib/sqlalchemy/sql/_typing.py | 453 | a column can be null, for example due to an outer join:: | STRING |
| HIGH | lib/sqlalchemy/sql/_typing.py | 491 | a column cannot be null, for example due to a where condition on a | STRING |
| HIGH | lib/sqlalchemy/sql/_elements_constructors.py | 2098 | {printsql}someint + :someint_1 || somestr{stop} | CODE |
| HIGH | lib/sqlalchemy/sql/sqltypes.py | 2687 | Python value ``None`` continues to refer to SQL null, and not | CODE |
| HIGH | lib/sqlalchemy/sql/operators.py | 882 | In a column context, produces the clause ``a || b``, | STRING |
| HIGH | lib/sqlalchemy/sql/operators.py | 2036 | produces the concatenation operator, ``a || b`` - | CODE |
| HIGH | lib/sqlalchemy/sql/dml.py | 783 | RETURNING some_table.first_name || :first_name_1 || some_table.last_name AS fullname | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/format_docs_code.py | 87 | except Exception as e: | CODE |
| LOW | test/ext/test_associationproxy.py | 885 | except Exception: | CODE |
| LOW | test/ext/test_associationproxy.py | 895 | except Exception: | CODE |
| LOW | test/ext/test_associationproxy.py | 923 | except Exception: | CODE |
| LOW | test/ext/test_associationproxy.py | 933 | except Exception: | CODE |
| LOW | test/ext/asyncio/test_engine.py | 310 | except Exception as err: | CODE |
| LOW | test/ext/asyncio/test_engine.py | 962 | except Exception as possibly_emulated_error: | CODE |
| LOW | test/aaa_profiling/test_threading.py | 43 | except Exception as e: | CODE |
| LOW | test/dialect/sqlite/test_dialect.py | 808 | except Exception: | CODE |
| LOW | test/perf/many_table_reflection.py | 574 | except Exception: | CODE |
| LOW | test/perf/invalidate_stresstest.py | 34 | except Exception: | CODE |
| LOW | test/perf/compiled_extensions/command.py | 53 | except Exception: | CODE |
| MEDIUM | test/perf/compiled_extensions/command.py | 47 | def find_git_sha(): | CODE |
| LOW | test/perf/compiled_extensions/base.py | 51 | except Exception as e: | CODE |
| MEDIUM | test/perf/compiled_extensions/base.py | 52 | print(f"Error loading {fn}: {e!r}") | CODE |
| LOW | test/perf/compiled_extensions/base.py | 112 | except Exception as e: | CODE |
| MEDIUM | test/perf/compiled_extensions/base.py | 48 | def _load(cls, fn): | CODE |
| LOW | test/engine/test_transaction.py | 95 | except Exception as e: | CODE |
| LOW | test/sql/test_types.py | 151 | except Exception: | CODE |
| LOW | lib/sqlalchemy/exc.py | 773 | except Exception as e: | CODE |
| LOW | lib/sqlalchemy/connectors/asyncio.py | 186 | except Exception as error: | CODE |
| LOW | lib/sqlalchemy/connectors/asyncio.py | 257 | except Exception as error: | CODE |
| LOW | lib/sqlalchemy/connectors/asyncio.py | 269 | except Exception as error: | CODE |
| LOW | lib/sqlalchemy/connectors/asyncio.py | 377 | except Exception as error: | CODE |
| LOW | lib/sqlalchemy/connectors/asyncio.py | 417 | except Exception as error: | CODE |
| LOW | lib/sqlalchemy/connectors/asyncio.py | 423 | except Exception as error: | CODE |
| MEDIUM | lib/sqlalchemy/connectors/asyncio.py | 414 | def rollback(self) -> None: | CODE |
| MEDIUM | lib/sqlalchemy/connectors/asyncio.py | 420 | def commit(self) -> None: | CODE |
| MEDIUM | lib/sqlalchemy/util/langhelpers.py | 518 | def _inspect_func_args(fn): | CODE |
| LOW | lib/sqlalchemy/util/langhelpers.py | 193 | except Exception: | CODE |
| LOW | lib/sqlalchemy/util/langhelpers.py | 1001 | except Exception: | CODE |
| LOW | lib/sqlalchemy/util/langhelpers.py | 1010 | except Exception: | CODE |
| LOW | lib/sqlalchemy/util/langhelpers.py | 1966 | except Exception: | CODE |
| LOW | lib/sqlalchemy/util/typing.py | 268 | except Exception as err: | CODE |
| LOW | lib/sqlalchemy/ext/associationproxy.py | 665 | except Exception as err: | STRING |
| LOW | lib/sqlalchemy/testing/exclusions.py | 130 | except Exception as ex: | CODE |
| LOW | lib/sqlalchemy/testing/exclusions.py | 163 | except Exception as ex: | CODE |
| LOW | lib/sqlalchemy/testing/engines.py | 66 | except Exception as e: | CODE |
| LOW | lib/sqlalchemy/testing/engines.py | 280 | except Exception as e: | CODE |
| MEDIUM | lib/sqlalchemy/testing/engines.py | 63 | def _safe(self, fn): | CODE |
| MEDIUM | lib/sqlalchemy/testing/engines.py | 277 | def _safe(self, fn): | CODE |
| LOW | lib/sqlalchemy/testing/plugin/pytestplugin.py | 505 | except Exception as e: | CODE |
| LOW | lib/sqlalchemy/testing/suite/test_types.py | 2075 | except Exception: | CODE |
| LOW | lib/sqlalchemy/dialects/postgresql/asyncpg.py | 617 | except Exception as error: | STRING |
| LOW | lib/sqlalchemy/dialects/postgresql/asyncpg.py | 652 | except Exception as error: | STRING |
| LOW | lib/sqlalchemy/dialects/postgresql/asyncpg.py | 863 | except Exception as error: | STRING |
| LOW | lib/sqlalchemy/dialects/postgresql/asyncpg.py | 895 | except Exception as error: | STRING |
| LOW⚡ | lib/sqlalchemy/dialects/postgresql/asyncpg.py | 914 | except Exception as error: | STRING |
| LOW⚡ | lib/sqlalchemy/dialects/postgresql/asyncpg.py | 923 | except Exception as error: | STRING |
| MEDIUM | lib/sqlalchemy/dialects/postgresql/asyncpg.py | 860 | def ping(self): | CODE |
| LOW | lib/sqlalchemy/dialects/sqlite/aiosqlite.py | 194 | except Exception as error: | STRING |
| LOW | lib/sqlalchemy/dialects/sqlite/aiosqlite.py | 200 | except Exception as error: | STRING |
| LOW | lib/sqlalchemy/dialects/sqlite/aiosqlite.py | 224 | except Exception as error: | STRING |
| MEDIUM | lib/sqlalchemy/dialects/sqlite/aiosqlite.py | 211 | def close(self) -> None: | CODE |
| LOW | lib/sqlalchemy/dialects/mysql/mysqlconnector.py | 209 | except Exception: | CODE |
| LOW | lib/sqlalchemy/dialects/mysql/asyncmy.py | 109 | except Exception as error: | STRING |
| MEDIUM | lib/sqlalchemy/dialects/mysql/asyncmy.py | 102 | def _do_ping(self) -> None: | CODE |
| LOW | lib/sqlalchemy/dialects/mysql/provision.py | 67 | except Exception: | CODE |
| LOW | lib/sqlalchemy/dialects/mssql/base.py | 2009 | except Exception: | CODE |
| LOW | lib/sqlalchemy/orm/loading.py | 135 | except Exception: | CODE |
| 8 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/orm/test_relationship_criteria.py | 2057 | CODE | |
| LOW | test/orm/test_relationship_criteria.py | 2122 | CODE | |
| LOW | test/orm/test_relationship_criteria.py | 2181 | CODE | |
| LOW | test/orm/test_relationship_criteria.py | 2254 | CODE | |
| LOW | test/orm/test_relationship_criteria.py | 2316 | CODE | |
| LOW | test/orm/test_relationship_criteria.py | 2443 | CODE | |
| LOW | test/orm/test_relationship_criteria.py | 2517 | CODE | |
| LOW | test/base/test_typing_utils.py | 25 | CODE | |
| LOW | test/base/test_typing_utils.py | 38 | CODE | |
| LOW | test/sql/test_resultset.py | 511 | CODE | |
| LOW | lib/sqlalchemy/util/compat.py | 186 | CODE | |
| LOW | lib/sqlalchemy/ext/automap.py | 1116 | CODE | |
| LOW | lib/sqlalchemy/ext/associationproxy.py | 86 | CODE | |
| LOW | lib/sqlalchemy/ext/associationproxy.py | 375 | CODE | |
| LOW | lib/sqlalchemy/ext/asyncio/scoping.py | 1269 | CODE | |
| LOW | lib/sqlalchemy/ext/asyncio/engine.py | 418 | CODE | |
| LOW | lib/sqlalchemy/testing/assertions.py | 510 | CODE | |
| LOW | lib/sqlalchemy/testing/suite/test_reflection.py | 975 | CODE | |
| LOW | lib/sqlalchemy/testing/suite/test_reflection.py | 1006 | CODE | |
| LOW | lib/sqlalchemy/testing/suite/test_reflection.py | 1042 | CODE | |
| LOW | lib/sqlalchemy/testing/suite/test_reflection.py | 1138 | CODE | |
| LOW | lib/sqlalchemy/testing/suite/test_reflection.py | 1190 | CODE | |
| LOW | lib/sqlalchemy/testing/suite/test_reflection.py | 1282 | CODE | |
| LOW | lib/sqlalchemy/testing/suite/test_reflection.py | 1408 | CODE | |
| LOW | lib/sqlalchemy/testing/suite/test_reflection.py | 1543 | CODE | |
| LOW | lib/sqlalchemy/dialects/oracle/base.py | 2169 | CODE | |
| LOW | lib/sqlalchemy/dialects/mysql/mysqlconnector.py | 116 | CODE | |
| LOW | lib/sqlalchemy/dialects/mssql/base.py | 2775 | CODE | |
| LOW | lib/sqlalchemy/dialects/mssql/base.py | 3201 | CODE | |
| LOW | lib/sqlalchemy/orm/loading.py | 496 | CODE | |
| LOW | lib/sqlalchemy/orm/loading.py | 535 | CODE | |
| LOW | lib/sqlalchemy/orm/query.py | 1723 | CODE | |
| LOW | lib/sqlalchemy/orm/properties.py | 148 | CODE | |
| LOW | lib/sqlalchemy/orm/util.py | 595 | CODE | |
| LOW | lib/sqlalchemy/orm/util.py | 736 | CODE | |
| LOW | lib/sqlalchemy/orm/util.py | 1121 | CODE | |
| LOW | lib/sqlalchemy/orm/mapper.py | 195 | CODE | |
| LOW | lib/sqlalchemy/orm/session.py | 1537 | CODE | |
| LOW | lib/sqlalchemy/orm/_orm_constructors.py | 99 | CODE | |
| LOW | lib/sqlalchemy/orm/_orm_constructors.py | 461 | CODE | |
| LOW | lib/sqlalchemy/orm/_orm_constructors.py | 635 | CODE | |
| LOW | lib/sqlalchemy/orm/_orm_constructors.py | 661 | CODE | |
| LOW | lib/sqlalchemy/orm/_orm_constructors.py | 686 | CODE | |
| LOW | lib/sqlalchemy/orm/_orm_constructors.py | 710 | CODE | |
| LOW | lib/sqlalchemy/orm/_orm_constructors.py | 1076 | CODE | |
| LOW | lib/sqlalchemy/orm/_orm_constructors.py | 1990 | CODE | |
| LOW | lib/sqlalchemy/orm/_orm_constructors.py | 2244 | CODE | |
| LOW | lib/sqlalchemy/orm/_orm_constructors.py | 2540 | CODE | |
| LOW | lib/sqlalchemy/orm/descriptor_props.py | 219 | CODE | |
| LOW | lib/sqlalchemy/orm/decl_api.py | 572 | CODE | |
| LOW | lib/sqlalchemy/orm/decl_api.py | 1046 | CODE | |
| LOW | lib/sqlalchemy/orm/decl_api.py | 2174 | CODE | |
| LOW | lib/sqlalchemy/orm/decl_api.py | 2264 | CODE | |
| LOW | lib/sqlalchemy/orm/decl_api.py | 2279 | CODE | |
| LOW | lib/sqlalchemy/orm/decl_api.py | 629 | CODE | |
| LOW | lib/sqlalchemy/orm/decl_api.py | 1714 | CODE | |
| LOW | lib/sqlalchemy/orm/decl_api.py | 1729 | CODE | |
| LOW | lib/sqlalchemy/orm/relationships.py | 404 | CODE | |
| LOW | lib/sqlalchemy/orm/relationships.py | 2376 | CODE | |
| LOW | lib/sqlalchemy/engine/create.py | 50 | CODE | |
| 24 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | lib/sqlalchemy/util/queue.py | 38 | __all__ = ["Empty", "Full", "Queue"] | CODE |
| LOW | lib/sqlalchemy/util/topological.py | 27 | __all__ = ["sort", "sort_as_subsets", "find_cycles"] | CODE |
| LOW | lib/sqlalchemy/util/langhelpers.py | 1420 | def _set_memoized_attribute(self, key: str, value: Any) -> None: | CODE |
| LOW | lib/sqlalchemy/util/langhelpers.py | 1946 | def set_creation_order(instance: Any) -> None: | CODE |
| LOW | lib/sqlalchemy/ext/orderinglist.py | 152 | __all__ = ["ordering_list"] | CODE |
| LOW | lib/sqlalchemy/ext/orderinglist.py | 328 | def _set_order_value(self, entity: _T, value: Any) -> None: | CODE |
| LOW | lib/sqlalchemy/ext/hybrid.py | 1033 | def _set_start(self, value: Point) -> None: | CODE |
| LOW | lib/sqlalchemy/ext/hybrid.py | 1042 | def _set_end(self, value: Point) -> None: | CODE |
| LOW | lib/sqlalchemy/ext/indexable.py | 246 | __all__ = ["index_property"] | CODE |
| LOW | lib/sqlalchemy/ext/serializer.py | 85 | __all__ = ["Serializer", "Deserializer", "dumps", "loads"] | CODE |
| LOW | lib/sqlalchemy/ext/horizontal_shard.py | 74 | __all__ = ["ShardedSession", "ShardedQuery"] | CODE |
| LOW | lib/sqlalchemy/ext/mutable.py | 767 | def _setup_composite_listener() -> None: | CODE |
| LOW | lib/sqlalchemy/ext/declarative/__init__.py | 54 | __all__ = [ | CODE |
| LOW | lib/sqlalchemy/ext/asyncio/engine.py | 1195 | def update_execution_options(self, **opt: Any) -> None: | STRING |
| LOW | lib/sqlalchemy/testing/schema.py | 21 | __all__ = ["Table", "Column"] | CODE |
| LOW | lib/sqlalchemy/dialects/sqlite/pysqlite.py | 729 | def set_regexp(dbapi_connection: DBAPIConnection) -> None: | STRING |
| LOW | lib/sqlalchemy/dialects/mysql/_mariadb_shim.py | 120 | def _set_mariadb(self) -> None: | CODE |
| LOW | lib/sqlalchemy/orm/interfaces.py | 628 | def set_parent(self, parent: Mapper[Any], init: bool) -> None: | CODE |
| LOW | lib/sqlalchemy/orm/decl_base.py | 393 | def _setup_inheritance(self, mapper_kw: _MapperKwArgs) -> None: | CODE |
| LOW | lib/sqlalchemy/orm/decl_base.py | 1743 | def _setup_table(self, table: Optional[FromClause] = None) -> None: | CODE |
| LOW | lib/sqlalchemy/orm/decl_base.py | 1824 | def _setup_inheriting_mapper(self) -> None: | CODE |
| LOW | lib/sqlalchemy/orm/decl_base.py | 1857 | def _setup_inheriting_columns(self) -> None: | CODE |
| LOW | lib/sqlalchemy/orm/query.py | 157 | __all__ = ["Query", "QueryContext"] | CODE |
| LOW | lib/sqlalchemy/orm/attributes.py | 2747 | def set_committed_value(instance: object, key: str, value: Any) -> None: | CODE |
| LOW | lib/sqlalchemy/orm/properties.py | 92 | __all__ = [ | CODE |
| LOW | lib/sqlalchemy/orm/mapper.py | 1482 | def _set_dispose_flags(self) -> None: | CODE |
| LOW | lib/sqlalchemy/orm/scoping.py | 102 | __all__ = ["scoped_session"] | CODE |
| LOW | lib/sqlalchemy/orm/session.py | 142 | __all__ = [ | CODE |
| LOW | lib/sqlalchemy/orm/session.py | 646 | def update_execution_options(self, **opts: Any) -> None: | CODE |
| LOW | lib/sqlalchemy/orm/collections.py | 148 | __all__ = [ | CODE |
| LOW⚡ | lib/sqlalchemy/orm/descriptor_props.py | 587 | def _setup_arguments_on_columns(self) -> None: | CODE |
| LOW | lib/sqlalchemy/orm/descriptor_props.py | 606 | def _setup_event_handlers(self) -> None: | CODE |
| LOW | lib/sqlalchemy/orm/descriptor_props.py | 1152 | def set_parent(self, parent: Mapper[Any], init: bool) -> None: | CODE |
| LOW | lib/sqlalchemy/orm/decl_api.py | 538 | def _setup_declarative_base(cls: Type[Any]) -> None: | CODE |
| LOW | lib/sqlalchemy/orm/decl_api.py | 1421 | def _set_depends_on(self, registry: RegistryType) -> None: | CODE |
| LOW | lib/sqlalchemy/orm/relationships.py | 3176 | def _setup_pairs(self) -> None: | CODE |
| LOW⚡ | lib/sqlalchemy/orm/relationships.py | 1735 | def _setup_registry_dependencies(self) -> None: | STRING |
| LOW | lib/sqlalchemy/orm/relationships.py | 1936 | def _setup_entity(self, __argument: Any = None, /) -> None: | STRING |
| LOW | lib/sqlalchemy/orm/relationships.py | 1983 | def _setup_join_conditions(self) -> None: | STRING |
| LOW | lib/sqlalchemy/orm/relationships.py | 2048 | def _set_cascade(self, cascade_arg: Union[str, CascadeOptions]) -> None: | STRING |
| LOW | lib/sqlalchemy/engine/base.py | 2994 | def update_execution_options(self, **opt: Any) -> None: | CODE |
| LOW | lib/sqlalchemy/engine/base.py | 3330 | def update_execution_options(self, **opt: Any) -> None: | STRING |
| LOW | lib/sqlalchemy/engine/base.py | 3356 | def update_execution_options(self, **opt: Any) -> None: | STRING |
| LOW | lib/sqlalchemy/event/attr.py | 211 | def update_subclass(self, target: Type[_ET]) -> None: | CODE |
| LOW | lib/sqlalchemy/event/attr.py | 432 | def _set_asyncio(self) -> None: | CODE |
| LOW | lib/sqlalchemy/sql/visitors.py | 48 | __all__ = [ | CODE |
| LOW | lib/sqlalchemy/sql/selectable.py | 943 | def _setup_collections(self) -> None: | STRING |
| LOW⚡ | lib/sqlalchemy/sql/base.py | 1403 | def _set_syntax_extensions(self, **extensions: SyntaxExtension) -> None: | CODE |
| LOW | lib/sqlalchemy/sql/base.py | 1833 | def _set_parent(self, parent: SchemaEventTarget, **kw: Any) -> None: | CODE |
| LOW⚡ | lib/sqlalchemy/sql/schema.py | 4665 | def _set_parent(self, parent: SchemaEventTarget, **kw: Any) -> None: | CODE |
| LOW⚡ | lib/sqlalchemy/sql/schema.py | 4670 | def _set_table(self, column: Column[Any], table: Table) -> None: | CODE |
| LOW⚡ | lib/sqlalchemy/sql/schema.py | 4673 | def _set_metadata(self, metadata: MetaData) -> None: | CODE |
| LOW | lib/sqlalchemy/sql/schema.py | 2719 | def _setup_on_memoized_fks(self, fn: Callable[..., Any]) -> None: | CODE |
| LOW | lib/sqlalchemy/sql/schema.py | 3837 | def _set_target_column(self, column: Column[Any]) -> None: | CODE |
| LOW | lib/sqlalchemy/sql/schema.py | 3847 | def set_type(fk: ForeignKey) -> None: | CODE |
| LOW | lib/sqlalchemy/sql/schema.py | 3911 | def _set_parent(self, parent: SchemaEventTarget, **kw: Any) -> None: | CODE |
| LOW | lib/sqlalchemy/sql/schema.py | 3922 | def _set_remote_table(self, table: Table) -> None: | CODE |
| LOW | lib/sqlalchemy/sql/schema.py | 3937 | def _set_table(self, column: Column[Any], table: Table) -> None: | CODE |
| LOW | lib/sqlalchemy/sql/schema.py | 4029 | def _set_parent(self, parent: SchemaEventTarget, **kw: Any) -> None: | CODE |
| LOW | lib/sqlalchemy/sql/schema.py | 4194 | def _set_parent(self, parent: SchemaEventTarget, **kw: Any) -> None: | CODE |
| 13 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.cfg | 1 | COMMENT | |
| LOW | test/profiles.txt | 1 | # SQLAlchemy call count profiles. | COMMENT |
| LOW | test/ext/test_mutable.py | 841 | # MutableList to implement a __reduce_ex__ method. Which means we | COMMENT |
| LOW | test/orm/test_collection.py | 361 | # currently a no-op, issue #4990 | COMMENT |
| LOW | test/orm/test_text.py | 521 | def test_order_by_w_eager_one(self): | COMMENT |
| LOW | test/orm/test_joins.py | 2441 | Node = self.classes.Node | COMMENT |
| LOW | test/orm/test_load_on_fks.py | 341 | # auto-expire of 'parent' when c1.parent_id | COMMENT |
| LOW | test/orm/test_unitofworkv2.py | 2261 | # so, having switched target's primary key, | COMMENT |
| LOW | test/orm/inheritance/test_polymorphic_rel.py | 1921 | .join(Company.employees) | COMMENT |
| LOW | test/orm/declarative/test_mixin.py | 2681 | COMMENT | |
| LOW | test/engine/test_transaction.py | 281 | with connection.begin_nested() as sp: | COMMENT |
| LOW | test/sql/test_compiler.py | 921 | # 4. The disambiguating label generated in #2 also has to be deduped. | COMMENT |
| LOW | test/sql/test_compiler.py | 7621 | self.assert_compile( | COMMENT |
| LOW | examples/versioned_history/history_meta.py | 281 | COMMENT | |
| LOW | lib/sqlalchemy/util/_collections.py | 681 | # def has_dupes(sequence, target): | COMMENT |
| LOW | lib/sqlalchemy/util/_collections_cy.py | 61 | # In case passing an hashfunc is required in the future two version were | COMMENT |
| LOW | lib/sqlalchemy/util/langhelpers.py | 1341 | _memoized_property.reset(obj, self.__name__) | COMMENT |
| LOW | lib/sqlalchemy/ext/__init__.py | 1 | # ext/__init__.py | COMMENT |
| LOW | lib/sqlalchemy/ext/asyncio/base.py | 221 | return False | COMMENT |
| LOW | lib/sqlalchemy/testing/cancellation.py | 281 | try: | COMMENT |
| LOW | lib/sqlalchemy/testing/profiles_file.py | 61 | # This file is written out on a per-environment basis. | COMMENT |
| LOW | lib/sqlalchemy/testing/plugin/__init__.py | 1 | # testing/plugin/__init__.py | COMMENT |
| LOW | lib/sqlalchemy/testing/plugin/pytestplugin.py | 621 | COMMENT | |
| LOW | lib/sqlalchemy/testing/suite/test_results.py | 541 | COMMENT | |
| LOW | lib/sqlalchemy/dialects/oracle/provision.py | 201 | # this was meant to work around this issue: | COMMENT |
| LOW | lib/sqlalchemy/dialects/oracle/cx_oracle.py | 1341 | # sources: | COMMENT |
| LOW | lib/sqlalchemy/dialects/oracle/cx_oracle.py | 1401 | def detect_autocommit_setting(self, dbapi_conn) -> bool: | COMMENT |
| LOW | lib/sqlalchemy/dialects/mysql/reserved_words.py | 1 | # dialects/mysql/reserved_words.py | COMMENT |
| LOW | lib/sqlalchemy/orm/interfaces.py | 321 | # it's Mapped[], but there's no "element", which means declarative | COMMENT |
| LOW | lib/sqlalchemy/orm/decl_base.py | 661 | f"dataclass for {self.cls.__name__!r}: " | COMMENT |
| LOW | lib/sqlalchemy/orm/decl_base.py | 1661 | ) | COMMENT |
| LOW | lib/sqlalchemy/orm/loading.py | 621 | for key in refresh_state_prokeys.difference(only_load_props) | COMMENT |
| LOW | lib/sqlalchemy/orm/loading.py | 641 | "proceeding with a refresh" | COMMENT |
| LOW | lib/sqlalchemy/orm/loading.py | 841 | compile_state = context.compile_state | COMMENT |
| LOW | lib/sqlalchemy/orm/loading.py | 921 | # note there is still an issue where this codepath | COMMENT |
| LOW | lib/sqlalchemy/orm/loading.py | 1361 | state.expired_attributes.add(key) | COMMENT |
| LOW | lib/sqlalchemy/orm/path_registry.py | 641 | ): | COMMENT |
| LOW | lib/sqlalchemy/orm/path_registry.py | 661 | # # as in test_relationship->JoinedloadWPolyOfTypeContinued | COMMENT |
| LOW | lib/sqlalchemy/orm/path_registry.py | 761 | ): | COMMENT |
| LOW | lib/sqlalchemy/orm/path_registry.py | 781 | # | COMMENT |
| LOW | lib/sqlalchemy/orm/query.py | 521 | # .statement can return the direct future.Select() construct here, as | COMMENT |
| LOW | lib/sqlalchemy/orm/query.py | 1961 | # selectable in the _from_obj collection, they also set up | COMMENT |
| LOW | lib/sqlalchemy/orm/strategies.py | 1561 | leftmost_mapper, | COMMENT |
| LOW | lib/sqlalchemy/orm/strategies.py | 1601 | # are the 'local_cols' of the property). This will remove other | COMMENT |
| LOW | lib/sqlalchemy/orm/strategies.py | 2741 | # entity_inside_join_structure=join_obj._left_memo | COMMENT |
| LOW | lib/sqlalchemy/orm/strategies.py | 2761 | # a test condition where this test is true looks like: | COMMENT |
| LOW | lib/sqlalchemy/orm/strategies.py | 3321 | orig_query = context.compile_state.select_statement | COMMENT |
| LOW | lib/sqlalchemy/orm/strategy_options.py | 2041 | orig_query = context.compile_state.select_statement | COMMENT |
| LOW | lib/sqlalchemy/orm/util.py | 2381 | # stacks we want to rewrite, that is, quote the last entry which | COMMENT |
| LOW | lib/sqlalchemy/orm/mapper.py | 1801 | # polymorphic_on is a Column or SQL expression and | COMMENT |
| LOW | lib/sqlalchemy/orm/mapper.py | 2641 | COMMENT | |
| LOW | lib/sqlalchemy/orm/mapper.py | 2661 | # these tests actually adapt the polymorphic selectable (like, the | COMMENT |
| LOW | lib/sqlalchemy/orm/session.py | 2261 | if _add_event: | COMMENT |
| LOW | lib/sqlalchemy/orm/context.py | 2221 | # join(RightEntity, LeftEntity.right) | COMMENT |
| LOW | lib/sqlalchemy/orm/context.py | 2421 | COMMENT | |
| LOW | lib/sqlalchemy/orm/decl_api.py | 1481 | ) | COMMENT |
| LOW | lib/sqlalchemy/orm/bulk_persistence.py | 601 | # since we are splicing result sets together, make sure there | COMMENT |
| LOW | lib/sqlalchemy/orm/unitofwork.py | 181 | self.mappers = util.defaultdict(set) | COMMENT |
| LOW | lib/sqlalchemy/orm/relationships.py | 1341 | # | COMMENT |
| LOW | lib/sqlalchemy/orm/relationships.py | 3241 | # we would like to detect if we are synchronizing any column | COMMENT |
| 15 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …orm/declarative/test_dc_transforms_future_anno_sync.py | 998 | """robust tests for the annotation replace/restore feature under | STRING |
| MEDIUM | test/orm/declarative/test_dc_transforms.py | 985 | """robust tests for the annotation replace/restore feature under | STRING |
| LOW | test/dialect/postgresql/test_types.py | 5704 | # so lets just use them as such | COMMENT |
| LOW | test/dialect/postgresql/test_types.py | 6253 | # so lets just use them as such | COMMENT |
| MEDIUM | test/engine/test_execute.py | 1238 | # more robust fixture for this | COMMENT |
| MEDIUM | test/sql/test_selectable.py | 1173 | # and we don't have a fully comprehensive approach for this to always | COMMENT |
| MEDIUM | test/sql/test_compiler.py | 936 | # robust behavior when dupes are present is still very useful. | COMMENT |
| LOW | test/sql/test_compiler.py | 2256 | # not supported by dialect, should just use update | COMMENT |
| MEDIUM | test/sql/test_functions.py | 683 | # TODO: the test/sql package lacks a comprehensive pickling | COMMENT |
| MEDIUM | test/sql/test_functions.py | 700 | # TODO: the test/sql package lacks a comprehensive pickling | COMMENT |
| LOW | examples/sharding/separate_tables.py | 64 | # one easy way would be to just use a composite primary key, where one value | COMMENT |
| LOW | examples/sharding/asyncio.py | 64 | # one easy way would be to just use a composite primary key, where one value | COMMENT |
| LOW | examples/sharding/separate_databases.py | 50 | # one easy way would be to just use a composite primary key, where one value | COMMENT |
| LOW | lib/sqlalchemy/exc.py | 685 | # Don't ever wrap these, just return them directly as if | COMMENT |
| LOW | lib/sqlalchemy/dialects/postgresql/psycopg.py | 621 | # Normal cursor just call _close() in a non-sync way. | COMMENT |
| MEDIUM | lib/sqlalchemy/dialects/postgresql/base.py | 3362 | # us to check against, so this is not a robust check, but | COMMENT |
| LOW | lib/sqlalchemy/dialects/oracle/cx_oracle.py | 1419 | # simplify the whole thing and just use the method that we were | STRING |
| LOW | lib/sqlalchemy/dialects/oracle/base.py | 2302 | # so it seems easier to just use bind param in this case | COMMENT |
| LOW | lib/sqlalchemy/dialects/mysql/base.py | 1816 | # No offset provided, so just use the limit | COMMENT |
| LOW | lib/sqlalchemy/orm/decl_base.py | 1012 | # and while it seems like we could just set these on Field as we | COMMENT |
| LOW | lib/sqlalchemy/orm/loading.py | 652 | # So here, we just add the PK cols if that | COMMENT |
| MEDIUM | lib/sqlalchemy/orm/path_registry.py | 786 | # also make use of of_type() or other intricate polymorphic | COMMENT |
| LOW | lib/sqlalchemy/orm/query.py | 1973 | # just return self._from_obj[0] if present, because there is no | STRING |
| LOW | lib/sqlalchemy/orm/strategies.py | 778 | # get() clause. then we can just use mapper.get() | COMMENT |
| LOW | lib/sqlalchemy/orm/strategies.py | 2318 | # just return it | COMMENT |
| LOW | lib/sqlalchemy/orm/util.py | 852 | # "self"; so just return a new method with the same function and | STRING |
| LOW | lib/sqlalchemy/orm/context.py | 768 | # if the col is from some other mapper, just return it, assume the | COMMENT |
| LOW | lib/sqlalchemy/orm/context.py | 3190 | # the resulting callable is entirely cacheable so just return | COMMENT |
| LOW | lib/sqlalchemy/orm/bulk_persistence.py | 613 | # Since we have cols_to_return, just return what we asked | COMMENT |
| LOW | lib/sqlalchemy/engine/create.py | 763 | # since "on_connect" is virtually always present, just use | COMMENT |
| LOW | lib/sqlalchemy/engine/cursor.py | 511 | # no compiled objects to map, just create keymap by primary string | COMMENT |
| LOW | lib/sqlalchemy/engine/cursor.py | 892 | # conflicting keyname - just add the column-linked objects | COMMENT |
| LOW | lib/sqlalchemy/sql/compiler.py | 4432 | # or this is the same CTE. just return the name. | COMMENT |
| MEDIUM | lib/sqlalchemy/sql/type_api.py | 711 | r"""Produce a copy of this type object that will utilize the given | CODE |
| LOW | lib/sqlalchemy/sql/type_api.py | 2470 | # couldn't adapt - so just return the type itself | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/ext/test_extendedattr.py | 269 | u.email_address = "foo@bar.com" | CODE |
| LOW | test/ext/test_extendedattr.py | 272 | eq_(u.email_address, "foo@bar.com") | CODE |
| LOW | test/orm/test_pickled.py | 1109 | eu = EmailUser(name="user1", email_address="foo@bar.com") | CODE |
| LOW | test/orm/test_pickled.py | 1120 | eq_(eu2.email_address, "foo@bar.com") | CODE |
| LOW | test/orm/test_expire.py | 1318 | u.addresses = [Address(id=10, email_address="foo@bar.com")] | CODE |
| LOW | test/orm/test_expire.py | 1328 | assert u.addresses[0].email_address == "foo@bar.com" | CODE |
| LOW | test/orm/test_expire.py | 1376 | u.addresses = [Address(id=10, email_address="foo@bar.com")] | CODE |
| LOW | test/orm/test_expire.py | 1384 | assert u.addresses[0].email_address == "foo@bar.com" | CODE |
| LOW | test/orm/test_session.py | 1797 | schema="placeholder", | CODE |
| LOW | test/orm/test_session.py | 1815 | "schema_translate_map": {"placeholder": config.test_schema}, | CODE |
| LOW | test/orm/test_session.py | 1835 | schema_translate_map={"placeholder": config.test_schema} | CODE |
| LOW | test/orm/test_session.py | 1853 | schema_translate_map={"placeholder": config.test_schema} | CODE |
| LOW | test/orm/test_core_compilation.py | 3283 | .filter_by(email_address="foo@bar.com") | CODE |
| LOW | test/orm/test_validators.py | 75 | a1 = Address(id=15, email_address="foo@bar.com") | CODE |
| LOW | test/orm/test_validators.py | 84 | name="edward", addresses=[Address(email_address="foo@bar.com")] | CODE |
| LOW | test/orm/test_merge.py | 480 | a1 = Address(email_address="foo@bar.com") | CODE |
| LOW | test/orm/test_merge.py | 494 | Address(email_address="foo@bar.com"), | CODE |
| LOW | test/orm/test_merge.py | 505 | Address(email_address="foo@bar.com"), | CODE |
| LOW | test/orm/test_merge.py | 521 | Address(email_address="foo@bar.com"), | CODE |
| LOW | test/orm/test_merge.py | 612 | u1.addresses["foo@bar.com"] = Address(email_address="foo@bar.com") | CODE |
| LOW | test/orm/test_merge.py | 616 | assert list(u1.addresses.keys()) == ["foo@bar.com"] | CODE |
| LOW | test/orm/test_merge.py | 648 | Address(email_address="foo@bar.com"), | CODE |
| LOW | test/orm/test_merge.py | 663 | Address(email_address="foo@bar.com"), | CODE |
| LOW | test/orm/test_merge.py | 687 | Address(email_address="foo@bar.com"), | CODE |
| LOW | test/orm/test_merge.py | 705 | Address(email_address="foo@bar.com"), | CODE |
| LOW | test/orm/test_merge.py | 1028 | a1.email_address = "foo@bar.com" | CODE |
| LOW | test/orm/test_merge.py | 1070 | address=Address(id=1, email_address="foo@bar.com"), | CODE |
| LOW | test/orm/test_merge.py | 1187 | a1.email_address = "foo@bar.com" | CODE |
| LOW | test/orm/test_merge.py | 1268 | a1.email_address = "foo@bar.com" | CODE |
| LOW | test/orm/test_merge.py | 1323 | a1.email_address = "foo@bar.com" | CODE |
| LOW | test/orm/test_dynamic.py | 1192 | u1.addresses.add(Address(email_address="foo@bar.com")) | CODE |
| LOW | test/orm/test_dynamic.py | 1203 | Address(email_address="foo@bar.com"), | CODE |
| LOW | test/orm/test_dynamic.py | 1279 | a = Address(email_address="foo@bar.com") | CODE |
| LOW | test/orm/test_mapper.py | 587 | User.addresses.any(Address.email_address == "foo@bar.com") | CODE |
| LOW | test/orm/test_cascade.py | 638 | a = Address(email_address="foo@bar.com") | CODE |
| LOW | test/orm/test_attributes.py | 261 | u.email_address = "foo@bar.com" | CODE |
| LOW | test/orm/test_attributes.py | 265 | and u.email_address == "foo@bar.com" | CODE |
| LOW | test/orm/test_attributes.py | 577 | a.email_address = "foo@bar.com" | CODE |
| LOW | test/orm/test_attributes.py | 583 | eq_(u.addresses[1].email_address, "foo@bar.com") | CODE |
| LOW | test/orm/inheritance/test_manytomany.py | 116 | email="foo@bar.com", | CODE |
| LOW⚡ | test/sql/test_resultset.py | 219 | ("john", "foo@bar.com", 1), | CODE |
| LOW⚡ | test/sql/test_resultset.py | 224 | eq_(rows[0].address, "foo@bar.com") | CODE |
| LOW⚡ | test/sql/test_resultset.py | 229 | ("john", "foo@bar.com"), | CODE |
| LOW⚡ | test/sql/test_resultset.py | 233 | eq_(rows[0].address, "foo@bar.com") | CODE |
| LOW⚡ | test/sql/test_resultset.py | 238 | ("john", 1, 1, "foo@bar.com", 1), | CODE |
| LOW⚡ | test/sql/test_resultset.py | 677 | dict(address_id=1, user_id=2, address="foo@bar.com"), | CODE |
| LOW⚡ | test/sql/test_resultset.py | 683 | [{"address_id": 1, "user_id": 2, "address": "foo@bar.com"}], | CODE |
| LOW | test/sql/test_resultset.py | 182 | dict(address_id=1, user_id=1, address="foo@bar.com"), | CODE |
| LOW | test/sql/test_resultset.py | 183 | dict(address_id=2, user_id=2, address="foo@bar.com"), | CODE |
| LOW | test/sql/test_resultset.py | 201 | dict(address_id=1, user_id=1, address="foo@bar.com"), | CODE |
| LOW | test/sql/test_resultset.py | 661 | dict(address_id=1, user_id=2, address="foo@bar.com"), | CODE |
| LOW | test/sql/test_resultset.py | 666 | eq_(r[1:], (2, "foo@bar.com")) | CODE |
| LOW | lib/sqlalchemy/ext/automap.py | 61 | session.add(Address(email_address="foo@bar.com", user=User(name="foo"))) | CODE |
| LOW | lib/sqlalchemy/ext/automap.py | 369 | u1 = User(addresses=[Address(email="foo@bar.com")]) | CODE |
| LOW | lib/sqlalchemy/orm/query.py | 2404 | User.addresses.and_(Address.email_address != "foo@bar.com") | CODE |
| LOW | lib/sqlalchemy/orm/_orm_constructors.py | 2671 | .filter(Address.email_address == "foo@bar.com") | CODE |
| LOW | lib/sqlalchemy/orm/_orm_constructors.py | 2680 | .filter(Address.email_address == "foo@bar.com") | CODE |
| LOW | lib/sqlalchemy/engine/cursor.py | 2009 | ("john", 1, 1, "foo@bar.com", 1), | STRING |
| LOW | lib/sqlalchemy/sql/_elements_constructors.py | 570 | "placeholder" value in a SQL expression, the value of which is | CODE |
| LOW | lib/sqlalchemy/sql/_elements_constructors.py | 577 | a "placeholder" for eventual population, but also as a means of | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | lib/sqlalchemy/sql/functions.py | 110 | # Check if a function with the same identifier is registered. | COMMENT |
| LOW | lib/sqlalchemy/sql/functions.py | 1633 | # Set _register to True to register child classes by default | STRING |
| LOW | lib/sqlalchemy/sql/base.py | 616 | # Check if user explicitly set it. | STRING |
| LOW | lib/sqlalchemy/sql/base.py | 2828 | # Check if the attribute exists | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | test/orm/test_events.py | 3236 | def do_something(session, previous_transaction): | CODE |
| LOW | test/orm/test_mapper.py | 1878 | def test_function(self): | CODE |
| LOW | test/dialect/mssql/test_compiler.py | 1023 | def test_function(self): | CODE |
| LOW | lib/sqlalchemy/ext/asyncio/base.py | 286 | def helper(*args: Any, **kwds: Any) -> GeneratorStartableContext[_T_co]: | CODE |
| LOW | lib/sqlalchemy/orm/events.py | 1916 | def do_something(session, previous_transaction): | CODE |
| LOW | lib/sqlalchemy/orm/collections.py | 335 | def do_stuff(self, thing, entity=None): ... | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | test/orm/test_query.py | 5563 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | lib/sqlalchemy/dialects/oracle/provision.py | 68 | # NOTE: make sure you've run "ALTER DATABASE default tablespace users" or | COMMENT |