ORM wave 2: 10 new defects — Active Record +3, Exposed +3, SeaORM +4 (167 sites, 64 ecosystems)
rails-0009: FilterAttributeHandler filter_parameters Array O(A×F) → Set (450×) rails-0010: Encryption::AutoFilteredParameters two Array scans → Set (250×) rails-0011: TimeZoneConversion skip_list Array O(M×C×S) → Set (20×) exposed-0001: SchemaUtilityApi mapMissingColumnStatements O(N×M) → map (118×) exposed-0002: IdentifierManagerApi isAKeyword O(K) linear → HashSet (144×) exposed-0003: Table.clone consParams.map fresh List → hoisted HashSet (6×) seaorm-0001: active_model establish_links leftover.any O(N²) → HashSet (501×) seaorm-0002: rbac engine group_permissions .values().find() → HashMap by ID (502×) seaorm-0003: schema builder sorted_tables Vec::contains → HashSet (500×) seaorm-0004: TopologicalSort from_iter seen Vec O(N²) → BTreeSet (28×) Unit tests: RailsTest 11/11, ExposedTest 3/3, SeaORMTest 4/4 PASS Whitepaper: 157→167 sites, 62→64 ecosystems; §13.12 ORM Wave 2 added
This commit is contained in:
parent
d4ed2dff91
commit
547a9f5738
37 changed files with 2043 additions and 26 deletions
|
|
@ -78,6 +78,8 @@ SUPPORT_ALL := support/TarjanAlgorithm.java \
|
|||
unit-efcore unit-diesel \
|
||||
unit-sqlalchemy unit-peewee unit-sequelize \
|
||||
unit-typeorm unit-doctrine unit-gorm \
|
||||
unit-exposed unit-seaorm \
|
||||
unit-activerecord \
|
||||
bench-mc-server bench-max bench-gumyum bench-everything bench-loadsim bench-elytra \
|
||||
bench-unpatched bench-mitigated bench-enriched bench-three-tier \
|
||||
play-unpatched play-mitigated play-enriched \
|
||||
|
|
@ -114,7 +116,9 @@ unit: unit-tarjan unit-findnode unit-closure unit-toposort unit-deplist unit-bou
|
|||
unit-hibernate unit-mybatis \
|
||||
unit-efcore unit-diesel \
|
||||
unit-sqlalchemy unit-peewee unit-sequelize \
|
||||
unit-typeorm unit-doctrine unit-gorm
|
||||
unit-typeorm unit-doctrine unit-gorm \
|
||||
unit-exposed unit-seaorm \
|
||||
unit-activerecord
|
||||
|
||||
unit-tarjan: unit/TarjanComplexityTest.class
|
||||
@echo ""
|
||||
|
|
@ -592,7 +596,7 @@ unit/RailsTest.class: ../defects/rails/unit/RailsTest.java
|
|||
|
||||
unit-rails: unit/RailsTest.class
|
||||
@echo ""
|
||||
@echo "=== UNIT rails-0001..0008: Rails preloader(210x) callbacks(51x) enumerable(475x) schema(130x) ==="
|
||||
@echo "=== UNIT rails-0001..0011: Rails Active Record CWE-407 (1000x/475x/450x/251x/210x...) ==="
|
||||
$(JAVA) -ea -cp . unit.RailsTest
|
||||
|
||||
unit/DjangoTest.class: ../defects/django/unit/DjangoTest.java
|
||||
|
|
@ -691,6 +695,24 @@ unit-gorm: unit/GORMTest.class
|
|||
@echo "=== UNIT gorm-0001: GORM sortCallbacks getRIndex→map (194x) ==="
|
||||
$(JAVA) -ea -cp . unit.GORMTest
|
||||
|
||||
unit/ExposedTest.class: ../defects/exposed/unit/ExposedTest.java
|
||||
$(JAVAC) -cp . -d . ../defects/exposed/unit/ExposedTest.java
|
||||
|
||||
unit-exposed: unit/ExposedTest.class
|
||||
@echo ""
|
||||
@echo "=== UNIT exposed-0001..0003: Exposed ORM schemaMigration/isAKeyword/clone (118x/144x/6x) ==="
|
||||
$(JAVA) -ea -cp . unit.ExposedTest
|
||||
|
||||
unit/SeaORMTest.class: ../defects/seaorm/unit/SeaORMTest.java
|
||||
$(JAVAC) -cp . -d . ../defects/seaorm/unit/SeaORMTest.java
|
||||
|
||||
unit-seaorm: unit/SeaORMTest.class
|
||||
@echo ""
|
||||
@echo "=== UNIT seaorm-0001..0004: SeaORM establish_links/permissions/sorted_tables/topo (501x/502x/500x/28x) ==="
|
||||
$(JAVA) -ea -cp . unit.SeaORMTest
|
||||
|
||||
unit-activerecord: unit/RailsTest.class
|
||||
|
||||
# ── Integration ───────────────────────────────────────────────────────────────
|
||||
# Runs against the installed JDK's compiled GraphUtils.
|
||||
# Proves real timing growth and confirms algorithm correctness.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue