* Process extra column metadata for a few sql-based data sources.
* Add Table and Column metadata tables.
* Periodically update table and column schema tables in a celery task.
* Fetching schema returns data from table and column metadata tables.
* Add tests for backend changes.
* Front-end shows extra table metadata and uses new schema response.
* Delete datasource schema data when deleting a data source.
* Process and store data source schema when a data source is first created or after a migration.
* Tables should have a unique name per datasource.
* Addressing review comments.
* Update migration file for mixins.
* Appease PEP8
* Upgrade migration file for rebase.
* Cascade delete.
* Adding org_id
* Remove redundant column and table prefixes.
* Non-existing tables and columns should be filtered out on the server side not client side.
* Fetching table samples should be optional and should happen in a separate task per table.
* Allow users to force a schema refresh.
* Use updated_at to help prune old schema metadata periodically.
* Using settings.SCHEMAS_REFRESH_QUEUE
* Remove QueryTaskTracker
* Remove scheudling of cleanup_tasks
* Add Celery introspection tools
* First iteration of updating the admin API.
* Show more details
* Add option to skip building npm in Dockerfile
* Show started_at
* update the refresh schedule, as it's too fast
* Update Celery monitor to report on all active tasks.
* Update task parsing for new format
* WIP: improved celery status screen
* Fix property name.
* Update counters
* Update tab name
* Update counters names
* Move component to its own file and fix lint issues
* Add migratin to remove Redis keys
* Improve columns layout
* Remove skip_npm_build arg as it's not used anymore.
* Convert query from SQL to Python
* Simplify column definition.
* Show alert on error.
* Use null as the default scheduled value.
* Don't serialize None to json, so we can use SQL is not null predicate.
* Fix warning about unicode in tests
* Handling empty query.schedule in UI (#3283)
* Add migration to convert empty schedules to null and drop the not null contraint.
* add last_active_at to users page
* Use our JSON encoder as the SQLAlchemy JSON serializer.
* Fixed some inconsistencies in the user query class methods.
* Minor cosmetic fixes.
* Add some make tasks for easier development.
* Add user detail sync system based on Redis backend.
There is a periodic Celery task that updates a new “details” JSONB column in the “user” table with the data from Redis.
Currently this is only used for tracking the date of last activity of a user but can be extended with other user information later.
Updates a few dependencies.
* Normalize a few Flask extension API names.
* Reduce implementation complexity of JSONEncoder.
* Use request_started signal to make sure we have a request context.
Otherwise loading the user based on the request won’t work.
* Fix test that checks if disabled users can login.
This correctly uses a URL path that includes the current organization and checks for the error message.
The previous test seems to have been a red herring.
* Minor cosmetic fixes.
* Remove needs_sync in favor of just deleting things.
* Misc review fixes.
* Ignore line length.
* Split redash.models import several modules.
* Move walrus UTC DateTimeField into redash.models.types.
* Restore distinctly loading dashboards.
* Simplify default values for user details.
* Define __repr__ methods generically.
* Consistently have underscore methods at the top of model methods.
* Fix tests.
* Split redash.models import several modules.
* Update to latest walrus and redis-py.
* Update kombu to 4.2.2 for redis-py 3.x compatibility.
* Remove redis-cli container after running Make task.
* Move buffer condition after datetime/time conditions.
* Update walrus to 0.7.1.
* Refactor some query APIs.
This uses the flask-sqlalchemy helpers consistently and makes more use of mixins.
* Post rebase fixes.
* Use correct kombu version
* Fix migration down revision
* Consistently use simplejson to loading and dumping JSON.
This introduces the new functions redash.utils.json_dumps and redash.utils.json_loads and simplifies the custom encoder setup.
UUIDs are now handled by the default encoder, too.
Fixes#2807.
Use string comparison in parse_boolean instead of the (simple)json module.
We were appending new QueryTaskTracker ids to query_task_trackers sorted set
but we were never removing them...
Also removed the migration to create index on org_id as it created by default
by Peewee for foreign keys.
- Paginate the queries API result.
- Split the API to /api/queries (all queries) and /api/queries/my which returns
a user's queries (or drafts).
- In the interface have explicit URLs for all queries (/queries), my queries (/queries/my)
and drafts (/queries/drafts).
This pull request implements UI for parameters and also allows to set the default value and type of a parameter.
(Closes#583)
Other changes in this pull request:
- Loading/error state for dashboard widgets.
- Refresh button on dashboard widgets (Closes#810).
- Maintain sync between query/dashboard URL and current parameters, and preserve them when navigating.
- Removed Pivot Table tab.