ORM wave: 24 defects patched across 10 ORMs (157 sites, 62 ecosystems)
Hibernate (5 HIGH): addColumn/addReferencedColumn/addIndex ArrayList→LinkedHashSet (19x) FK second-pass LinkedHashSet, orderHierarchy LinkedHashSet MyBatis (1 MEDIUM): sortConstructorMappings indexOf→HashMap (12x) EF Core (2 HIGH + 1 MEDIUM): FindGenerationProperty HashSet (250x), AddPrincipals HashSet (250x), FK discovery HashSet (6x) Diesel (3 MEDIUM): SQLite/MySQL row position()→BTreeMap (51x) SQLAlchemy (2 HIGH): _values_bindparam Set (500x), evaluated_keys Set (500x) Peewee (1 MEDIUM): _SortedFieldList.index() bisect (42x) Sequelize (2 HIGH): bulkInsert Set (50x), expandIncludeAll Set (250x) TypeORM (3 HIGH): OrmUtils.uniq Map (500x), diffColumns Set (125x), updatedColumns Set (100x) Doctrine ORM (1 HIGH + 2 MEDIUM): hydrator discriminator (26x), addSubClass (250x), SqlWalker partial (130x) GORM (1 MEDIUM): sortCallbacks getRIndex→map (194x) SQLite: SqliteTest unit proof 4/4 PASS (101x) Unit tests: all PASS — Hibernate/MyBatis/EfCore/Diesel/SQLAlchemy/Peewee/ Sequelize/TypeORM/Doctrine/GORM Whitepaper: 157 sites, 62 ecosystems; PDF 752K
This commit is contained in:
parent
db2986ae44
commit
d4ed2dff91
49 changed files with 4025 additions and 7 deletions
100
tests/Makefile
100
tests/Makefile
|
|
@ -73,6 +73,11 @@ SUPPORT_ALL := support/TarjanAlgorithm.java \
|
|||
unit-bottle \
|
||||
unit-rails \
|
||||
unit-django \
|
||||
unit-sqlite \
|
||||
unit-hibernate unit-mybatis \
|
||||
unit-efcore unit-diesel \
|
||||
unit-sqlalchemy unit-peewee unit-sequelize \
|
||||
unit-typeorm unit-doctrine unit-gorm \
|
||||
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 \
|
||||
|
|
@ -104,7 +109,12 @@ unit: unit-tarjan unit-findnode unit-closure unit-toposort unit-deplist unit-bou
|
|||
unit-pyramid \
|
||||
unit-bottle \
|
||||
unit-rails \
|
||||
unit-django
|
||||
unit-django \
|
||||
unit-sqlite \
|
||||
unit-hibernate unit-mybatis \
|
||||
unit-efcore unit-diesel \
|
||||
unit-sqlalchemy unit-peewee unit-sequelize \
|
||||
unit-typeorm unit-doctrine unit-gorm
|
||||
|
||||
unit-tarjan: unit/TarjanComplexityTest.class
|
||||
@echo ""
|
||||
|
|
@ -593,6 +603,94 @@ unit-django: unit/DjangoTest.class
|
|||
@echo "=== UNIT django-0001..0004: Django from_db(21x) serializer(10x) check(125x) raw(101x) ==="
|
||||
$(JAVA) -ea -cp . unit.DjangoTest
|
||||
|
||||
unit/SqliteTest.class: ../defects/sqlite/unit/SqliteTest.java
|
||||
$(JAVAC) -cp . -d . ../defects/sqlite/unit/SqliteTest.java
|
||||
|
||||
unit-sqlite: unit/SqliteTest.class
|
||||
@echo ""
|
||||
@echo "=== UNIT sqlite-0001: SQLite checkColumnOverlap list-scan (101x) ==="
|
||||
$(JAVA) -ea -cp . unit.SqliteTest
|
||||
|
||||
unit/HibernateConstraintColumnTest.class: ../defects/hibernate/unit/HibernateConstraintColumnTest.java
|
||||
$(JAVAC) -cp . -d . ../defects/hibernate/unit/HibernateConstraintColumnTest.java
|
||||
|
||||
unit-hibernate: unit/HibernateConstraintColumnTest.class
|
||||
@echo ""
|
||||
@echo "=== UNIT hibernate-0001..0005: Hibernate addColumn(ArrayList→LinkedHashSet) (19x) ==="
|
||||
$(JAVA) -ea -cp . unit.HibernateConstraintColumnTest
|
||||
|
||||
unit/MyBatisConstructorSortTest.class: ../defects/mybatis/unit/MyBatisConstructorSortTest.java
|
||||
$(JAVAC) -cp . -d . ../defects/mybatis/unit/MyBatisConstructorSortTest.java
|
||||
|
||||
unit-mybatis: unit/MyBatisConstructorSortTest.class
|
||||
@echo ""
|
||||
@echo "=== UNIT mybatis-0001: MyBatis sortConstructorMappings indexOf→HashMap (12x) ==="
|
||||
$(JAVA) -ea -cp . unit.MyBatisConstructorSortTest
|
||||
|
||||
unit/EfCoreTest.class: ../defects/efcore/unit/EfCoreTest.java
|
||||
$(JAVAC) -cp . -d . ../defects/efcore/unit/EfCoreTest.java
|
||||
|
||||
unit-efcore: unit/EfCoreTest.class
|
||||
@echo ""
|
||||
@echo "=== UNIT efcore-0001..0003: EF Core BFS/principal/FK-discovery List→HashSet (250x/250x/6x) ==="
|
||||
$(JAVA) -ea -cp . unit.EfCoreTest
|
||||
|
||||
unit/DieselTest.class: ../defects/diesel/unit/DieselTest.java
|
||||
$(JAVAC) -cp . -d . ../defects/diesel/unit/DieselTest.java
|
||||
|
||||
unit-diesel: unit/DieselTest.class
|
||||
@echo ""
|
||||
@echo "=== UNIT diesel-0001..0003: Diesel SQLite/MySQL row position()→BTreeMap (51x) ==="
|
||||
$(JAVA) -ea -cp . unit.DieselTest
|
||||
|
||||
unit/SQLAlchemyTest.class: ../defects/sqlalchemy/unit/SQLAlchemyTest.java
|
||||
$(JAVAC) -cp . -d . ../defects/sqlalchemy/unit/SQLAlchemyTest.java
|
||||
|
||||
unit-sqlalchemy: unit/SQLAlchemyTest.class
|
||||
@echo ""
|
||||
@echo "=== UNIT sqlalchemy-0001..0002: SQLAlchemy bindparam/evaluated_keys List→Set (500x) ==="
|
||||
$(JAVA) -ea -cp . unit.SQLAlchemyTest
|
||||
|
||||
unit/PeeweeTest.class: ../defects/peewee/unit/PeeweeTest.java
|
||||
$(JAVAC) -cp . -d . ../defects/peewee/unit/PeeweeTest.java
|
||||
|
||||
unit-peewee: unit/PeeweeTest.class
|
||||
@echo ""
|
||||
@echo "=== UNIT peewee-0001: Peewee _SortedFieldList.index() list→bisect (42x) ==="
|
||||
$(JAVA) -ea -cp . unit.PeeweeTest
|
||||
|
||||
unit/SequelizeTest.class: ../defects/sequelize/unit/SequelizeTest.java
|
||||
$(JAVAC) -cp . -d . ../defects/sequelize/unit/SequelizeTest.java
|
||||
|
||||
unit-sequelize: unit/SequelizeTest.class
|
||||
@echo ""
|
||||
@echo "=== UNIT sequelize-0001..0002: Sequelize bulkInsert/expandAll Array→Set (50x/250x) ==="
|
||||
$(JAVA) -ea -cp . unit.SequelizeTest
|
||||
|
||||
unit/TypeORMTest.class: ../defects/typeorm/unit/TypeORMTest.java
|
||||
$(JAVAC) -cp . -d . ../defects/typeorm/unit/TypeORMTest.java
|
||||
|
||||
unit-typeorm: unit/TypeORMTest.class
|
||||
@echo ""
|
||||
@echo "=== UNIT typeorm-0001..0003: TypeORM OrmUtils.uniq/diffColumns/updatedColumns (500x/125x/100x) ==="
|
||||
$(JAVA) -ea -cp . unit.TypeORMTest
|
||||
|
||||
unit/DoctrineTest.class: ../defects/doctrine/unit/DoctrineTest.java
|
||||
$(JAVAC) -cp . -d . ../defects/doctrine/unit/DoctrineTest.java
|
||||
|
||||
unit-doctrine: unit/DoctrineTest.class
|
||||
@echo ""
|
||||
@echo "=== UNIT doctrine-0001..0003: Doctrine ORM hydrator/metadata/sqlwalker (26x/250x/130x) ==="
|
||||
$(JAVA) -ea -cp . unit.DoctrineTest
|
||||
|
||||
unit/GORMTest.class: ../defects/gorm/unit/GORMTest.java
|
||||
$(JAVAC) -cp . -d . ../defects/gorm/unit/GORMTest.java
|
||||
|
||||
unit-gorm: unit/GORMTest.class
|
||||
@echo ""
|
||||
@echo "=== UNIT gorm-0001: GORM sortCallbacks getRIndex→map (194x) ==="
|
||||
$(JAVA) -ea -cp . unit.GORMTest
|
||||
|
||||
# ── 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