Skip to content

Optimizar la resolucion de la proyeccion en OOQuery - #40

Merged
polsala merged 2 commits into
masterfrom
93725/feature/IMP_optimize_projection_resolution
Aug 20, 2026
Merged

Optimizar la resolucion de la proyeccion en OOQuery#40
polsala merged 2 commits into
masterfrom
93725/feature/IMP_optimize_projection_resolution

Conversation

@giscebot

Copy link
Copy Markdown
Contributor

Objetivo

Evitar que el patrón habitual select(...).where(...) resuelva dos veces los campos de la proyección.

Cambios

  • Conserva las expresiones de proyección resueltas durante select().
  • Reconstruye el Select final después de parsear el dominio reutilizando esas expresiones, de modo que los joins añadidos por where() se mantienen.
  • Mantiene la materialización de _select en select() para preservar la compatibilidad con los callers que inspeccionan o usan la selección sin llamar a where().
  • Añade una regresión determinista que verifica que cada campo proyectado se resuelve una sola vez; no introduce umbrales temporales en CI.

Validación

  • Python 3.11: 72 examples ran.
  • Python 2.7.18: 72 examples ran.
  • Microbenchmark local de 20.000 compilaciones triviales, mediana de 7 repeticiones y orden alternado: mejora observada de aproximadamente 7,1–8,4 %.
  • Los specs existentes cubren paridad de SQL para joins, order_by, group_by, alias, agregados, condicionales y tipos de join explícitos.

Compatibilidad y despliegue

  • Compatible con Python 2.7 y Python 3.11.
  • Sin cambios de API ni de datos.
  • La actualización de la dependencia y los tests de integración en ERP se harán en la fase posterior de gisce/erp.

Trazabilidad

giscebot and others added 2 commits August 20, 2026 09:40
Co-authored-by: polsala <15796004+polsala@users.noreply.github.com>
Co-authored-by: polsala <15796004+polsala@users.noreply.github.com>
@polsala polsala added the minor label Aug 20, 2026
@polsala
polsala merged commit 5594e8c into master Aug 20, 2026
2 checks passed
@polsala
polsala deleted the 93725/feature/IMP_optimize_projection_resolution branch August 20, 2026 11:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants