Skip to content
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

Error in /viz while ordering by favorited and requesting dependencies #14555

Closed
gonzaloriestra opened this issue Dec 24, 2018 · 0 comments
Closed
Assignees

Comments

@gonzaloriestra
Copy link
Contributor

Context

There is a problem in /viz endpoint when ordering by favorited and using with_dependent_visualizations, because Active Record generates a wrong SQL query when combining nested eager loading, ordering by an external column and limit.

It seems to be related to this: rails/rails#21197

Steps to Reproduce

  1. Call /api/v1/viz/?exclude_shared=false&per_page=12&shared=no&locked=false&only_liked=false&deepInsights=false&types=table&page=1&order=favorited&order_direction=asc&with_dependent_visualizations=10

Current Result

Error 500:

{
"error": "PG::Error: ERROR:  column \"favorited\" does not exist\nLINE 1: SELECT  DISTINCT \"visualizations\".\"id\", favorited AS alias_0...\n                                                ^\n: SELECT  DISTINCT \"visualizations\".\"id\", favorited AS alias_0 FROM \"visualizations\" LEFT OUTER JOIN \"maps\" ON \"maps\".\"id\" = \"visualizations\".\"map_id\" LEFT OUTER JOIN \"user_tables\" ON \"user_tables\".\"map_id\" = \"maps\".\"id\" LEFT OUTER JOIN \"layers_user_tables\" ON \"layers_user_tables\".\"user_table_id\" = \"user_tables\".\"id\" LEFT OUTER JOIN \"layers\" ON \"layers\".\"id\" = \"layers_user_tables\".\"layer_id\" LEFT OUTER JOIN \"layers_maps\" ON \"layers_maps\".\"layer_id\" = \"layers\".\"id\" LEFT OUTER JOIN \"maps\" \"maps_layers\" ON \"maps_layers\".\"id\" = \"layers_maps\".\"map_id\" LEFT OUTER JOIN \"visualizations\" \"visualizations_maps\" ON \"visualizations_maps\".\"map_id\" = \"maps_layers\".\"id\" LEFT OUTER JOIN \"maps\" \"maps_visualizations\" ON \"maps_visualizations\".\"id\" = \"visualizations_maps\".\"map_id\" LEFT OUTER JOIN \"layers_maps\" \"layers_maps_maps_join\" ON \"layers_maps_maps_join\".\"map_id\" = \"maps_visualizations\".\"id\" LEFT OUTER JOIN \"layers\" \"layers_maps_2\" ON \"layers_maps_2\".\"id\" = \"layers_maps_maps_join\".\"layer_id\" LEFT OUTER JOIN \"layers_user_tables\" \"layers_user_tables_layers\" ON \"layers_user_tables_layers\".\"layer_id\" = \"layers_maps_2\".\"id\" LEFT OUTER JOIN \"permissions\" ON \"permissions\".\"id\" = \"visualizations\".\"permission_id\" LEFT OUTER JOIN \"users\" ON \"users\".\"id\" = \"permissions\".\"owner_id\" LEFT OUTER JOIN \"synchronizations\" ON \"synchronizations\".\"visualization_id\" = \"visualizations\".\"id\" LEFT OUTER JOIN \"external_sources\" ON \"external_sources\".\"visualization_id\" = \"visualizations\".\"id\" LEFT OUTER JOIN \"users\" \"users_visualizations\" ON \"users_visualizations\".\"id\" = \"visualizations\".\"user_id\" LEFT JOIN likes ON \"likes\".\"subject\" = \"visualizations\".\"id\" AND \"likes\".\"actor\" = 'c54bba4b-3d22-4584-9ea1-d18ac7e9c1f9' WHERE \"visualizations\".\"user_id\" = 'c54bba4b-3d22-4584-9ea1-d18ac7e9c1f9' AND \"visualizations\".\"type\" = 'table' AND \"visualizations\".\"locked\" = 'f'  ORDER BY favorited asc LIMIT 12 OFFSET 0"
}

Expected result

Visualizations ordered by favorited and including dependencies.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant