-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix bug i hent_punkt #721
Fix bug i hent_punkt #721
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Jeg er ret sikker på at løsningen her fungerer, men jeg lurer på om ikke det er smartere at løse problemet i hent_punkter()
? Altså, sådan at hvis der er et eksakt match på identen vil det altid være det første i den returnerede liste. Med lidt snilde kan man få databasen til at gøre det. Her er et simpelt eksempel:
SELECT * FROM punktinfo pi
WHERE pi.infotypeid=347 AND pi.tekst LIKE '%SAND%'
ORDER BY LENGTH(pi.tekst);
Med andre ord, det korteste ident-match kommer først i listen. Det kræver at der tilføjes noget i stil med order_by(PunktInformation.tekst.length)
til SQLAlchemy opslaget i hent_punkter()
.
Uanset om den ene eller anden tilgang bruges vil det være godt at få tilføjet en test til test-suiten, så vi er sikre på at den ny funktionalitet virker efter hensigten. Det kræver formentligt at der tilføjes et ny ident i test/sql/testdata.sql
. Man kan fx tilføje et GL RDO1
til et af punkterne i testdatasættet. Kig omkring linje 300 i filen.
Ja havde godt tænkt at det skulle testes.
hvis det altså kan lade sig gøre sqlalchemy-style (har lige tjekket at det virker med oracle.) Det leder også til spørgsmålet om hvilken løsning der er hurtigst, jf. issue #422, skulle vi ikke gøre det unødigt langsomt. |
Vi laver følgende opslag Lines 91 to 109 in 619af08
hvor der matches på tre ting:
Det der er dyrt i |
Test af ændring tilføjet i 1f0be10.
@krebslw Som du kan se har jeg tilføjet en test og backportet til 1.6. Vi fik aldrig lejlighed til at lave testen sammen og nu har jeg lige brug for at dit fix kommer i spil. Brug gerne lidt tid på at læse mine tilføjelser igennem, så du har en ide om hvordan noget lignende kan gøres i fremtiden. |
Resolves #720