Have found workarounds for older db engines, which makes the more
demanding version requirements from above obsolete. Db support with
these workaround would be:
- SQLite 3.15+ (should work with Python 3.7+ installer, Ubuntu 18 LTS)
- MySQL 5.7+ (older versions should work too, not tested)
The workarounds construct the literal values tables from multiple
SELECTs + UNION ALL, which is perfwise slightly worse for sqlite (~40%
slower), but on par for mysql (well, mysql runs much earlier into stack
issues than with TVC, but this can be configured by the user).
Downside - this creates 2 more code paths for 2 db engine versions, that
would need to be tested with the test battery. The nuisance can be
removed by a later release, once db version support is dropped for other
reasons.
I also found possible fast update pattern for:
- oracle 19c (prolly older as well, UNION ALL + correlated update)
- oracle 21c (UNION ALL + join update)
- SQL Server 2014+ (FROM VALUES pattern)
but this needs anyone else to test and integrate, since I have no
development environments for those. So whether they can gain significant
performance remains uncertain until actually adopted.
--
You received this message because you are subscribed to the Google Groups "Django
developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to django-developers+unsubscr...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-developers/70dec78a-d37d-fd54-ece4-8d2d7a88f42b%40netzkolchose.de.