Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/metabase/metabase. Pull mirroring updated .
  1. Nov 20, 2018
  2. Nov 15, 2018
  3. Nov 08, 2018
    • Kyle Doherty's avatar
      Merge master fixes into release-0.31 (#8899) · a5f12a5a
      Kyle Doherty authored
      * Default wrapper  padding left & right
      
      For show cards padding on mobile view
      
      * restructure visualization settings markup to fix label wrapping (#8816)
      
      * Change query result hashing to convert integers to floats first
      
      When the FE returns the query result metadata, any integer values will
      be converted to a floating point number. Those doubles hash different
      than the original integers which causes the hashes not to match and
      the query to be reran when saving the question. This commit just
      converts the integer to a double before computing the hash.
      
      Fixes #8824
      
      * Ensure queries to compute metadata include user information
      
      When saving a question and the included metadata is incorrect or
      different we will execute another query to compute that metadata. This
      commit adds the `:info` map needed to include the user and query hash
      information we use in the SQL remark.
      
      Fixes #8825
      
      * Metastore code SHOULD NOT barf it API response includes unrecognized keys
      
      * Fix minification
      
      * Update copyright year (#8711)
      
      * Update copyright year
      
      * 2018 year
      
      * Could the admin nav bar use a little color? (#8819)
      
      * purple admin nav bar
      
      * decouple admin navbar color from accent7
      
      * filter out hidden tables in table entity (#8831)
      
      * Dropped tables should appear in a schema's data browse page
      
      When the database had only a single schema, the dropped tables were
      being hidden correctly. When multiple schemas were present, viewing
      those tables their the schema route caused the inactive tables to
      appear in the result.
      
      Fixes #8822 fixes #8363
      
      * Ensure consistent ordering of maps/sets when hashing metadata
      
      This commit will ensure all hashes and sets are ordered before
      serializing them to JSON and hashing that string. This will prevent
      surprising behavior when the number of items in a map reach 9 or if
      the order of elements changes between machines or JDK versions.
      
      Fixes #8826
      
      * Far-future cache header for JS/CSS files with cache-busting query strings
      
      * Fix import on TableSettings page (#8829)
      
      * fix import
      
      * clean up nav
      
      * Fix test checksum test failure on MySQL [ci drivers]
      
      The newly added checksum tests fail when running on MySQL in
      Circle. The MySQL tests include a secret key for encryption which are
      used when computing the checksum. Because of that encryption, the
      checksum string is different every time (it must be decrypted before
      compared). The test isn't covering the encryption code but is only
      concerned with ensure the datastructure hashes consitently. This
      commit uses a `with-redefs` to set that secret key to `nil` so that
      encryption won't be used on those two tests.
      
      * Add better error messages to loading GeoJSON files
      
      Previously the only error message was a schema validation failure. The
      same error would be given for an unreachable host, unparsable JSON,
      bad URL etc. This commit attempts to separate that out and provide a
      better message in the failure case.
      
      Fixes #8793
      
      * Only include a CSV attachment for pulses when XLS is not selected
      
      Previously we would always include a CSV attachment when there were
      more rows/columns than would be included in the table. This ended up
      being redundant for users that would prefer an XLS attachment and have
      indicated that the pulse should include an XLS attachment. This commit
      will only not attach a CSV if the user has select an XLS attachment
      for that pulse.
      
      Fixes #7302
      
      * Add a C3P0 exclusion to Quartzite [ci drivers]
      
      * Merge release 0.31.0 into master (#8858)
      
      * Dash card display fixes (#8777)
      
      * fix scalar long title ellipsification and description
      
      * fix table simple in night mode
      
      * check for description
      
      * v0.31.0-RC1
      
      * add scroll to outer container for database / schema selector (#8782)
      
      add scroll to outer container for database / schema selector
      
      * Fix minification
      
      * Far-future cache header for JS/CSS files with cache-busting query strings
      
      * Add Snowflake to list of supported databases in dox [ci skip]
      
      * scroll table selector (#8857)
      
      * Use compressed bytes for caching size comparison
      
      Previously we would serialize rows as strings and use that as an
      estimate for how big the cache would be. This commit changes that to
      use actual compressed bytes to determine size.
      
      * Switch to a stream based cache serialization/compression
      
      This commit switches to a stream based nippy
      compression/serialization. This has the benefit of being able to stop
      serialization once the threshold for cache size has been reached.
      
      Fixes #7479
      
      * Bump the `java.classpath` and `tools.namespace` versions
      
      Bumping `java.classpath` to `0.3.0` fixes the `classpath` function on
      JDK 9+.
      
      * Don't strip insights from response in public links
      
      * update tests
      
      * Bump Jetty server version
      
      * Better-organized HTTP client used for tests and add full-response option.
      
      * Use middleware impl for test util fn bind-current-user
      
      * Add some i18n tags and wrap in str where missing
      
      * Namespace form & indentation cleanup; docstring improvments
      
      * Remove dead code in tests :skull:
      
      * MBQL schema tweaks; make SQL QP nested-query-level available to public
      
      * Ignore results_metadata in revision tests
      
      * Add test for updating permissions graph from API :white_check_mark:
      
      * Add u/hexadecimal-string? util fn
      
      * Add query-perms/can-run-query? helper fn :closed_lock_with_key:
      
      * Record database_id in QueryExecution; record query in Query :page_with_curl:
      
      * Add a few util fns; other minor code tweaks
      
      * Change query perms-set fn to take kwargs for opts :white_check_mark:
      
      * Support backslashes in DB/schema/table names for permissions checks
      
      * Bump docstring checker -> 1.0.3
      
      * Fix bug where Snowflake driver used wrong DB name to filter tables [ci snowflake]
      
      * Add new bird-count dataset; fix division by zero in MBQL expressions
      
      * Add test profiling info & don't suppress dataset load output [ci drivers]
      
      * Remove unused default-schema; share Presto catalog for all test data [ci drivers]
      
      * Add format-name for SparkSQL test extensions [ci drivers]
      
      * Fix presto tests :wrench: [ci presto]
      
      * handle smaller smart scalar cards better (#8897)
      
      * handle smaller cards better
      
      * handle automatic dashboard sidebar case
      
      * make more specific
      
      * Fix presto test [ci presto] (#8900)
      Unverified
      a5f12a5a
  4. Sep 18, 2018
  5. Sep 17, 2018
    • Ryan Senior's avatar
      Add a unique index to databasechangelog · d6ad914c
      Ryan Senior authored
      Previously there was nothing to uniquely identify a row in the
      databasechangelog table as the uniqueness constraint was removed by
      Liquibase (see https://liquibase.jira.com/browse/CORE-1909). Not
      having something to uniquely identify a row can cause issues for
      database replication software. Since we only support PostgreSQL, MySQL
      and H2, the composite key referenced in the above issue (ID, AUTHOR,
      FILENAME) will work for us. This commit puts that uniqueness
      constraint back in for users wanting to replicate the Metabase
      application database.
      
      Fixes #8266
      d6ad914c
  6. Aug 30, 2018
    • Ryan Senior's avatar
      Add TaskHistory for storage sync and background task metadata · 921d3751
      Ryan Senior authored
      This adds a new table for storing sync metrics and a quartz task for
      cleaning up old entries in the table.
      
      For now this only stores sync metrics and metadata for the task
      history cleanup task. Going forward our other background tasks would
      store information as well to help with debugging/troubleshooting those
      tasks.
      
      Fixes #7611
      921d3751
  7. Jul 30, 2018
  8. Jul 16, 2018
    • Ryan Senior's avatar
      Parameterize quoting strategy · 2654e922
      Ryan Senior authored
      Quoting all objects works for MySQL/MariaDB but that same setting
      causes H2 and PostgreSQL to fail. H2 appears to be quoting table names
      in a create table statement but not quoting that same table name when
      referenced via a foreign key which fails.
      
      This commit sets up the quote all objects strategy for MySQL/Maria but
      leaves the `LEGACY` quoting strategy for H2/PostgreSQL.
      2654e922
  9. Jul 13, 2018
  10. Jul 09, 2018
  11. Jun 12, 2018
  12. Jun 07, 2018
    • Ryan Senior's avatar
      Switch metric/segment `is_active` to `archived` · 06e3f486
      Ryan Senior authored
      This column name and logic matches what is done currently for other
      entities in the model. This commit also adds a `archived` column for
      pulses/alerts to make it more consistent with the other entities. The
      `archived` column for Pulses is just included in responses currently,
      there's no plumbing to populate it, filter by it etc.
      06e3f486
  13. Jun 06, 2018
  14. May 29, 2018
    • Cam Saul's avatar
      Nested Collections :bird: · f5827f0d
      Cam Saul authored
      Unverified
      f5827f0d
    • Kyle Doherty's avatar
      Merge Collections project into master (#7752) · 1051eba6
      Kyle Doherty authored
      * Entity pages (courtesy @kdoh)
      
      * Add collection_id to Dashboards & Pulses (#7358)
      
      * add search to top nav
      
      * flip homepage, updated collections
      
      * make recent views self contained, add to home
      
      * recent items style, add some new colors
      
      * adjust default text color
      
      * add js colors to style guide
      
      * add copy color
      
      * segment loader
      
      * move to landings
      
      * landing nav
      
      * segment list + loader
      
      * clean up landing nav
      
      * metric + segment listing
      
      * mucking around with selectable stuff
      
      * layout tweaks
      
      * other loaders
      
      * stronger left sidebar
      
      * left sidebar
      
      * fix landing
      
      * layout port
      
      * more tweaks
      
      * nav tweaks
      
      * explore
      
      * collection wrap
      
      * Add collection_id to Dashboards & Pulses
      
      * GET /api/collection/:id default to returning everything. Wow!
      
      * colleciton items loader
      
      * dashboard move modal + cleanup
      
      * currentCollection and items
      
      * Add GET /api/collection/root endpoint
      
      * pulse move modal
      
      * MASSIVE ALERTS/PULSES/NOTIFICATIONS OVERHAUL
      
      * move activity feed
      
      * all items, cards
      
      * link
      
      * Filter out stuff you're not allowed to see from the so-called "Root" Collection
      
      * Tests for GET /api/collection/root
      
      * fix query builder and login layout
      
      * lint + test fixes
      
      * filter collection landing
      
      * create dash modal
      
      * new collection modal
      
      * Tests for Dashboard + Collection permissions
      
      * Tests for Pulse + Collection permissions
      
      * Add new Pulse/Alert perms tests & lots of cleanup :shower:
      
      * Test fixes :wrench:
      
      * tweak grid, add system to icon
      
      * truncate long titles
      
      * remove duplicate file
      
      * add collection to create dashboard
      
      * add collection selection to pulse edit
      
      * icon spacing
      
      * use site name for landing
      
      * clean up routes
      
      * include required pulse card keys
      
      * fix entity menu action / link and add to collection landing
      
      * update jest snapshots changed by icon
      
      * use entity loader for collections
      
      * use object loader for collection items
      
      * fix colleciton edit and permissions
      
      * remove unused file
      
      * add key to collection grid items
      
      * link to pulse edit
      
      * use named list for collections
      
      * Increase nav z-index Fixes #7523
      
      * tweak z-index level
      
      * fix filters
      
      * fitViewport component and application
      
      * add fitViewport to setup and post setup
      
      * add root collection to dashboard move modal
      
      * move to id for loading collections
      
      * fix permission editor
      
      * fix other instances of collection slug
      
      * fix unit tests
      
      * flow fixes
      
      * dep flow fixes
      
      * Fix admin routes not loading currentUser before checking auth
      
      * Add id: root to Root Collection
      
      * root collection items
      
      * temporary archive links
      
      * fix up question archive route
      
      * redirect to collection on pulse creation
      
      * use fitClasses on /explore
      
      * Fix NavBar popover and modal interactions
      
      * Fix comments about when migrations were added
      
      * fix lint
      
      * style updates
      
      * fix recent views
      
      * collection empty state
      
      * Make FitViewPort more robust
      
      * Fix side bar link states
      
      * fix snapshot
      
      * Fix alerts
      
      * update link and landing nav style
      
      * add archive collection route / modal
      
      * add modal
      
      * Disable onboarding integration test
      
      * Fix disabling of dashbaord tests
      
      * Update snapshots and lint error
      
      * Fix collection archiving
      
      * lint
      
      * revert text color
      
      * Reload collection list each time it's shown to ensure it's in the correct state:
      
      * fix empty state image
      
      * only show permissions edit option for the root collection
      
      * nav
      
      * simple layout
      
      * fix grid
      
      * grid component
      
      * fix translation
      
      * fitClassNames > fitClasses
      
      * fix up collection items loader
      
      * remove unused files
      
      * remove type filter
      
      * qb lives
      
      * default to qb
      
      * collection landing and components
      
      * hoverable card
      
      * placeholder search bar
      
      * flip collection / content order on landing
      
      * fix padding
      
      * dashboards first in the list
      
      * Merge master into collections-project
      
      * only show sidebar if exists
      
      * Add collection_position column to Card/Dashboard/Notification (#7675)
      
      * add first version of pins
      
      * Fix memory leak found using RedShift JDBC Metadata methods
      
      Running sync calls several JDBC metadata methods that return
      `ResultSet` objects. According to the JDBC spec, when the connection
      associated to the JDBC ResultSet has been closed, it should free the
      resources used by the ResultSets that were left open in that
      connection. That doesn't look to be happening in RedShift. Closing the
      ResutSet instance ourselves before the connection closes will ensure
      that these resources are freed and doesn't allow the RedShift bug to
      occur.
      
      * use entity update instead of raw api
      
      * Fix tests :wrench::unamused:
      
      * Unified archive, search, schema data browsing, and refactor of entities
      
      * Fix create dashboard modal
      
      * Collections overworld (#7687)
      
      * add overworld
      
      * layout tweaks
      
      * remove navbar browsing link
      
      * table item cards
      
      * search page layout and item icon colors
      
      * search bar active style
      
      * Remove Label & CardLabel models & endpoints
      
      * DO NOT RUN TESTS ON SHUTDOWN! EVER!
      
      * remove navbar browsing link
      
      * table item cards
      
      * search page layout and item icon colors
      
      * search bar active style
      
      * archive page changes
      
      * Merge master into collections-project :flushed:
      
      * activity style updates
      
      * match search bar width to content
      
      * schema grid
      
      * greet with name
      
      * type sync
      
      * pin icon
      
      * be round now
      
      * search spacing and entitiy item last child border
      
      * collection text color
      
      * collection pinned item size / text
      
      * better root collection name
      
      * something styled
      
      * init search empty state
      
      * lint fix
      
      * fix colleciton links. fixes #7716 (#7720)
      
      * Merge master into collections-project :flushed:
      
      * database card styling
      
      * tweak hex value
      
      * prettier
      
      * fix overlap (#7737)
      
      * Reload collections list in question save modal, and collections items list as stopgap until it's more automatic (#7731)
      
      * Fix public question layout (#7732)
      
      * Change Urls.collection() to take an ID, default to 'root', and use when creating pulse
      
      * Collections project bg sync (#7740)
      
      * default to bg-slate-extra-light color
      
      * admin routes
      
      * fix question archive redirect and archived message (#7730)
      Unverified
      1051eba6
  15. May 22, 2018
    • Ryan Senior's avatar
      Change the core_user.updated_at migration · 8ea75c9d
      Ryan Senior authored
      MySQL 5.5 and before doesn't support computed default values for
      datetime fields. It supports them in later versions, and on timestamp
      fields for 5.5, but not datetime fields, which is what we use for our
      auditing columns currently. This comment just removes that default
      computed value and the related not null constraint.
      8ea75c9d
  16. May 09, 2018
  17. Apr 26, 2018
    • Ryan Senior's avatar
      Hash field metadata to bypass field sync if not needed [ci drivers] · f74676ef
      Ryan Senior authored
      This commit stores an MD5 hash of all field metadata received from the
      database for a given table. Most of the time when sync runs, there
      will have been no changes to the related fields of that table. By
      hashing this and comparing that hash in subsequent sync runs, we can
      avoid comparing stored field metadata with the field metadata that
      comes back from the database driver. By avoiding this work, we
      significantly increase sync performance and lower the impact of sync
      on the rest of the system.
      
      This hashing code only impacts the sync of fields as that was shown to
      be the slowest part of the sync process. The other steps/stages of
      sync/analyze are not affected by this change.
      f74676ef
  18. Feb 13, 2018
  19. Feb 09, 2018
  20. Feb 08, 2018
  21. Jan 25, 2018
    • Ryan Senior's avatar
      Add CSV/XLS Pulse attachment support to the backend · f3631c49
      Ryan Senior authored
      This commit adds the backend pieces needed to attach CSV and XLS files
      of query results to Pulses. Attachment support is also there for
      Alerts. This is an opt-in feature for pulses and alerts. Users can
      update existing Pulses to include attachments or add them to a new
      pulse. The file(s) will only be attached when there are results.
      
      Fixes #6587, fixes #3894, fixes #2623
      f3631c49
  22. Dec 13, 2017
  23. Dec 08, 2017
  24. Dec 06, 2017
  25. Nov 28, 2017
  26. Nov 21, 2017
  27. Nov 14, 2017
    • Ryan Senior's avatar
      Alerts Backend · 9c5332bf
      Ryan Senior authored
      This commit has the backend code needed to support alerts. From the
      frontend perspective, Alerts is separate from pulses and has a
      different endpoint, however much of the backend code and database
      tables are shared. A few new columns were added to the pulse table to
      support alerts, but most of the data is the same between pulses and
      alerts.
      
      This also adds several "meta-notifications" around alerts to let users
      know when they've been added to an alert, removed from an alert or if
      a question has changed such that the alert is no longer meaningful.
      
      This fixes #1372, fixes #6261 and fixes #5768.
      9c5332bf
  28. Oct 16, 2017
  29. Oct 04, 2017
  30. Sep 28, 2017
  31. Sep 26, 2017
    • Ryan Senior's avatar
      Reverse the order of dropping the async xray tables · 54ade369
      Ryan Senior authored
      On MySQL dropping the computation_job table first violates the FK
      constraints. This commit just flips the order of deletes. It also adds
      a new validCheckSum to ensure users that ran the previous version fo
      the migration will still work.
      
      Fixes #6050
      54ade369
  32. Sep 25, 2017
  33. Sep 18, 2017
Loading