blazer 2.4.2 → 2.6.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +64 -0
  3. data/README.md +155 -57
  4. data/app/assets/javascripts/blazer/Chart.js +14000 -13979
  5. data/app/assets/javascripts/blazer/bootstrap.js +300 -97
  6. data/app/assets/javascripts/blazer/queries.js +12 -1
  7. data/app/assets/javascripts/blazer/vue.js +10754 -9687
  8. data/app/assets/stylesheets/blazer/application.css +5 -0
  9. data/app/assets/stylesheets/blazer/bootstrap-propshaft.css +10 -0
  10. data/app/assets/stylesheets/blazer/bootstrap-sprockets.css.erb +10 -0
  11. data/app/assets/stylesheets/blazer/{bootstrap.css.erb → bootstrap.css} +527 -455
  12. data/app/controllers/blazer/base_controller.rb +45 -45
  13. data/app/controllers/blazer/dashboards_controller.rb +4 -11
  14. data/app/controllers/blazer/queries_controller.rb +31 -49
  15. data/app/models/blazer/query.rb +9 -3
  16. data/app/views/blazer/_variables.html.erb +5 -4
  17. data/app/views/blazer/dashboards/_form.html.erb +1 -1
  18. data/app/views/blazer/dashboards/show.html.erb +6 -4
  19. data/app/views/blazer/queries/_caching.html.erb +1 -1
  20. data/app/views/blazer/queries/_form.html.erb +3 -3
  21. data/app/views/blazer/queries/run.html.erb +5 -3
  22. data/app/views/blazer/queries/show.html.erb +12 -7
  23. data/app/views/layouts/blazer/application.html.erb +7 -2
  24. data/lib/blazer/adapters/athena_adapter.rb +73 -20
  25. data/lib/blazer/adapters/base_adapter.rb +16 -1
  26. data/lib/blazer/adapters/bigquery_adapter.rb +14 -3
  27. data/lib/blazer/adapters/cassandra_adapter.rb +15 -4
  28. data/lib/blazer/adapters/drill_adapter.rb +10 -0
  29. data/lib/blazer/adapters/druid_adapter.rb +36 -1
  30. data/lib/blazer/adapters/elasticsearch_adapter.rb +19 -4
  31. data/lib/blazer/adapters/hive_adapter.rb +10 -0
  32. data/lib/blazer/adapters/ignite_adapter.rb +12 -2
  33. data/lib/blazer/adapters/influxdb_adapter.rb +22 -10
  34. data/lib/blazer/adapters/mongodb_adapter.rb +4 -0
  35. data/lib/blazer/adapters/neo4j_adapter.rb +17 -2
  36. data/lib/blazer/adapters/opensearch_adapter.rb +52 -0
  37. data/lib/blazer/adapters/presto_adapter.rb +9 -0
  38. data/lib/blazer/adapters/salesforce_adapter.rb +5 -0
  39. data/lib/blazer/adapters/snowflake_adapter.rb +9 -0
  40. data/lib/blazer/adapters/soda_adapter.rb +9 -0
  41. data/lib/blazer/adapters/spark_adapter.rb +5 -0
  42. data/lib/blazer/adapters/sql_adapter.rb +41 -4
  43. data/{app/mailers → lib}/blazer/check_mailer.rb +0 -0
  44. data/lib/blazer/data_source.rb +90 -8
  45. data/lib/blazer/engine.rb +1 -4
  46. data/lib/blazer/result.rb +19 -1
  47. data/lib/blazer/run_statement.rb +7 -3
  48. data/lib/blazer/run_statement_job.rb +4 -2
  49. data/{app/mailers → lib}/blazer/slack_notifier.rb +19 -4
  50. data/lib/blazer/statement.rb +75 -0
  51. data/lib/blazer/version.rb +1 -1
  52. data/lib/blazer.rb +32 -8
  53. data/lib/generators/blazer/templates/config.yml.tt +2 -2
  54. data/lib/tasks/blazer.rake +5 -5
  55. data/licenses/LICENSE-bootstrap.txt +1 -1
  56. metadata +10 -6
@@ -3,6 +3,9 @@ var runningQueries = []
3
3
  var maxQueries = 3
4
4
 
5
5
  function runQuery(data, success, error) {
6
+ if (!data.data_source) {
7
+ throw new Error("Data source is required to cancel queries")
8
+ }
6
9
  data.run_id = uuid()
7
10
  var query = {
8
11
  data: data,
@@ -50,7 +53,11 @@ function runQueryHelper(query) {
50
53
  queryComplete(query)
51
54
  }
52
55
  }).fail( function(jqXHR, textStatus, errorThrown) {
53
- if (!query.canceled) {
56
+ // check jqXHR.status instead of query.canceled
57
+ // so it works for page navigation with Firefox and Safari
58
+ if (jqXHR.status === 0) {
59
+ cancelServerQuery(query)
60
+ } else {
54
61
  var message = (typeof errorThrown === "string") ? errorThrown : errorThrown.message
55
62
  if (!message) {
56
63
  message = "An error occurred"
@@ -83,6 +90,8 @@ function cancelAllQueries() {
83
90
  }
84
91
  }
85
92
 
93
+ // needed for Chrome
94
+ // queries are canceled before unload with Firefox and Safari
86
95
  $(window).on("unload", cancelAllQueries)
87
96
 
88
97
  function cancelQuery(query) {
@@ -90,7 +99,9 @@ function cancelQuery(query) {
90
99
  if (query.xhr) {
91
100
  query.xhr.abort()
92
101
  }
102
+ }
93
103
 
104
+ function cancelServerQuery(query) {
94
105
  // tell server
95
106
  var path = Routes.cancel_queries_path()
96
107
  var data = {run_id: query.run_id, data_source: query.data_source}