fix(sql lab): Tracking URL getter/setter #23387
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
SUMMARY
I'm unclear if #20799 ever stored the correct URL in the database, but it seems like the
query.tracking_url
column is not updated with the transformed URL when the record is persisted to the database.Although the unit tests illustrate the getter/setter behavior (and thus the link in SQL Lab works) it doesn't include a database write and thus it's unclear if SQLAlchemy invokes the getter when serializing a record to the database. Typically the getter should simply return the value whereas the setter should perform the necessary augmentation which is the logic I've implemented here, i.e., the
_tracking_url
column always contains the correct transformed value (if appropriate) whereas previous only thetracking_url
field (proxy) was correct.BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
TESTING INSTRUCTIONS
CI. Also tested locally and confirmed that the
tracking_url
which was persisted in the database was correct.ADDITIONAL INFORMATION