Release 5.x

Archived release notes for Release 5.x

5.10.2 | 5.10.1 | 5.10.0 | 5.9.0 | 5.8.1 | 5.8.0 | 5.7.1 | 5.7.0 | 5.6.4 | 5.6.3 | 5.6.2 | 5.6.1 | 5.6.0 | 5.5.6 | 5.5.5 | 5.5.2 | 5.5.1 | 5.5.0 | 5.4.2 | 5.4.1 | 5.4.0 | 5.3.2 | 5.3.1 | 5.3.0 | 5.2.2 | 5.2.1 | 5.1.2 | 5.1.1 | 5.1.0 | 5.0.1 | 5.0.0

5.10.2 - February 14, 2022

OmniSciDB - New Features and Improvements

  • The COPY TO command now exports time, date, and timestamp data types in ISO 8601 format. Previously, date and timestamp data types were exported as unix epochs.

OmniSciDB - Fixed Issues

  • Fixed crash that could occur when window function partitions were sorted on multiple columns.

  • Fixed crash that could occur when in-situ queries had query step punted to CPU.

  • Fixed crash that could occur when columnar output is forced for queries projecting variable length types, either by command-line flag or query hint.

OmniSci Render - Fixed Issues

  • Fixes hit-testing issues in single-node elated to rendering SQL with aggregate subqueries. Such queries could be generated using the cohort feature in Immerse or using custom dimensions. Previously, you could see errors such as the following in map charts: Cannot find column <column name> in hit-test cache for query <sql query>. Most errors of that form should be resolved in single-node.

OmniSci Immerse - Fixed Issues

  • Fixed New Combo Chart legend appearing over chart bars.

  • Fixed 'Failed to Load Tables' error when navigating to the data manager.

5.10.1 - January 25, 2022

OmniSci Immerse - Fixed Issues

  • Fixed issue where projections with more than 1M rows of geo and other variable-length types could crash the server when –columnar-large-projections is enabled.

  • Fixed issue with rendering results of certain subqueries when running distributed.

  • Fixed data manager error occuring when global custom expressions beta feature is enabled.

  • Upgrade log4j to 2.17.1 to address CVE-2021-44832.

5.10.0 - January 10, 2022

The SAML Entitlement feature is deprecated and may be removed in a future release. Row-level security (RLS), with a role specified through SAML, provides an improved replacement.

OmniSciDB - New Features and Improvements

Administration

  • Row-level security (RLS): Administrators can use new commands CREATE POLICY, SHOW POLICIES, and DROP POLICY to apply security filtering to queries run as a user or with a role.

Performance

  • Significantly more performant, parallelized window functions, executing up to 10X faster than in Release 5.9.

  • Automatic use of columnar output (instead of the default row-wise output) for large projections, particularly benefitting window functions, subqueries, and table function calls that returned large numbers of rows, lowering query times by 5-10X in some cases. The threshold defaults to 1M rows, but can be modified with thecolumnar-large-projections-threshold flag (and turned off with columnar-large-projections=false).

  • UNION ALL now works with tables that do not share dictionary columns and supports query patterns such as grouped inputs. Previously only projections were supported.

  • Large IN subqueries are now significantly faster and scalable by rewriting the associated query plans as decorrelated joins.

SQL Functionality

  • Added support for full set of ST_TRANSFORM SRIDs supported by geos/proj4 library.

  • Significant ST_DWithin speedups involving LINESTRING types via an optimization to clip the checked region of the LINESTRING to just the portion that can possibly fall within the specified distance of the other geometry.

  • Removes a previous restriction where null values were not allowed for text array columns.

  • Adds ANY_VALUE as canonical SQL alias for existing SAMPLE aggregate operator.

Geo Enhancements

  • Support for full set of ST_TRANSFORM SRIDs supported by geos/proj4 library.

  • High performance UTM transforms (ST_TRANSFORM) available to and from web mercator and geographic coordinate systems.

  • Significant ST_DWithin speedups involving LINESTRING types via an optimization to clip the checked region of the LINESTRING to just the portion that can possibly fall within the specified distance of the other geometry.

Import Improvements

  • Adds support for import from dozens of image and raster file types, such as jpeg, png, geotiff and ESRI grid, including remote files.

  • Adds support for numerous vector GIS files (100+ formats supported by current GDAL release).

  • Adds support for multidimensional array import from GRIB/GRIB2 formats common in science and meteorology.

When importing GRIB/GRIB2 raster files, the default multithreaded import behavior is unstable due to a bug in the GDAL library; this issue will be addressed in the next release. You must use the WITH option threads=1 to force single-threaded operation and avoid a server crash. This restriction does not apply to any other raster formats.

  • Adds support for selected layers or bands within multilayer files.

  • Adds a new flag to SQLImporter that allows narrowing of integer values.

  • Improves point import speed regardless of source.

  • Extended file metadata and column detection in omnisql to include additional formats.

OmniSciDB - Fixed Issues

  • Fixes an issue in the ODBC driver where some SQL statements containing double quotes would result in an error.

  • Fixes an issue where decimal value imports could fail, even when the specified number of maximum rejections has not been reached.

  • Fixes a crash that occurs when the max rows option is set for an empty table.

OmniSci Render - Fixed Issues

  • Fixes a potential ghosting artifact when rendering consecutive accumulation renders in a multi-gpu system using the OpenGL driver.

OmniSci Immerse - New Features and Improvements

  • Introduces dashboard-level Named Custom SQL.

  • Improves Table Chart export to access all data represented by a table chart.

  • Adds overridable CSS file (override.css) for custom CSS in embedded implementations.

  • Panning support in the New Combo chart with alt+scroll.

  • New color picker user interface and made other UI improvements.

  • Alerts for unsaved dashboard changes.

  • Geo-joined Choropleth charts now spatially cross-filter the fact table on zoom and pan.

  • Expanded functionality of the Iframe API (Beta).

  • Introduces optional higher data throughput Arrow Transport (Beta).

  • Expanded functionality for Embedded UI Customization (Beta).

  • Adds database-level Global Custom Expressions (Beta).

  • Adds cohort support for crosslinking (Beta).

OmniSci Immerse - Fixed Issues

  • Fixed application of Configuration UI changes to discretion charts’ legends.

  • Fixed custom SQL expression support for custom data sources.

  • Fixed various cases for upgrading legacy charts to the New Combo chart.

  • Fixed various minor UI issues.

5.9.0 - November 18, 2021

OmniSciDB - New Features and Improvements

  • Adds IF EXISTS support to DROP USER and DROP ROLE statements.

  • Significant speedup for POINT and fixed-length array imports and CTAS/ITAS--generally 5-20X faster.

OmniSciDB - Fixed Issues

  • Fixes an issue where null values and empty arrays were not imported correctly for text array columns.

  • Correctly account for compressed size of 8-bit and 16-bit dictionary encoded text columns and all geo type columns to avoid overly aggressive punting of queries to CPU when columns of these types are used in a query.

  • Prevent overflow of columns with widths less than 4 bytes when columnar projection used in a query, which could lead to a crash.

OmniSci Render - New Features and Improvements

  • Improves the performance of density accumulation stats gathering when using min/max/1stStdDev/2ndStdDev ranges, up to 50x speedups in some instances.

  • The PNG encoding step of a render request is no longer a blocking step, thereby improving render concurrency.

OmniSci Render - Fixed Issues

  • Fixes a potential timeout in the Vulkan renderer in a multi-GPU server configuration if GPU contention caused by many queries/renders executing at the same time exists. The timeout can manifest as a VulkanDeviceLost error that can lock up renders for a minute before the renderer can recover.

  • Fixes a minor memory leak when caching parsed Vega JSONs.

  • Fixes a possible ghosting artifact in multilayer/multi-GPU renders when individual layers use different subsets of available GPUs when rendered.

OmniSci Immerse - New Features and Improvements

  • BETA - Adds custom expressions to table columns.

  • BETA - Adds Crosslink feature with Crosslink Panel UI.

  • BETA - Adds Custom SQL Source support and Custom SQL Source Manager.

  • Adds support to hide deprecated chart types from add/edit chart menu.

  • Improved speed of user role verification.

OmniSci Immerse - Fixed Issues

  • Fixes minor issues in the Parameter manager UI.

  • Fixes New Combo chart binning migration.

  • Fixes issues in the global side navigation.

  • Fixes fetching a cohort count when a custom SQL filter contains a parameter.

  • Fixes Vega chart color-utils to always fetch latest color palettes.

  • Fixes filter removal after changing and resetting the default value if you use a SQL custom dimension as a parameter.

  • Fixes minor UI styling issues.

  • Fixes custom source selection in Vega source selector.

  • Fixes cross-filter support with geo-joined bounding boxes.

  • Fixes resetting of parameter definitions when canceling from inside the chart editor view.

  • Fixes new cases of chart title helper support.

  • Fixes New Combo Bar label automatic formatting.

5.8.1 - November 9, 2021

OmniSciDB - New Features

  • Added a new SHOW ROLES command for viewing directly assigned and effective user roles.

OmniSci Render - Fixed Issues

  • Fixed a regression in Release 5.8.0 where purging idle render sessions can result in server crashes with the OpenGL renderer.

  • Fixes a regression in Release 5.8.0 where poly renders can result in segfaults.

OmniSci Immerse - Fixed Issues

  • User role checks that block dashboard load and login are completed much more quickly.

5.8.0 - October 11, 2021

Release 5.8 officially enables the new Vulkan backend renderer as the default, replacing the OpenGL renderer. For more information on Vulkan, reasons for the change, and troubleshooting, see Vulkan Renderer.

The legacy OpenGL backend renderer is still available as a fallback, but will be deprecated and removed in subsequent releases, so it is advisable to use the legacy OpenGL renderer only if you have a blocking issue with Vulkan. To disable the Vulkan renderer and enable OpenGL, add the following flag to your server configuration:

renderer-use-vulkan-driver=false

In distributed clusters, the configuration file for each node must have this parameter set to use OpenGL.

Releases 5.7 and higher require the installation of a Vulkan API loader library to support the Vulkan renderer. This library is required regardless of whether you are using the Vulkan renderer or not. If you are upgrading from Release 5.7, you have already installed this library and no further action is required.

If you see an error similar to the following when trying to start a renderer-enabled Release 5.8 server for the first time, you need to install the Vulkan API loader:

error while loading shared libraries: libvulkan.so.1: cannot open shared object file: No such file or directory

To install the Vulkan API loader:

  • On CentOS: sudo yum install vulkan

  • On Ubuntu: sudo apt install libvulkan1

For a summary of how to install the Vulkan loader on other various Linux distributions, see https://linuxconfig.org/install-and-test-vulkan-on-linux.

For other troubleshooting issues, see Vulkan Renderer.

OmniSciDB - New Features and Improvements

  • Parallel executors now on by default (with default --num-executors=2)

  • Spatial joins between point types using ST_Distance type are now accelerated using overlaps join hash framework, with increased in speed up to 100x.

  • Window functions can run on empty partitions and can operate over tables with multiple fragments and shards.

  • Queries that need to run a query step on CPU due to memory pressure or compatibility reasons now execute only that individual step on CPU. Previously, the full query was restarted and all steps ran on CPU.

  • Support WIDTH_BUCKET operator for easier numeric binning.

  • Natively support ST_Transform to/from all UTM zones and EPSG:4326 (Lon/Lat) and EPSG:900913 (Web Mercator).

  • Support provided for file path regex filter and for file path sort order when running the COPY FROM command.

  • New ALTER SYSTEM CLEAR commands enable clearing CPU or GPU memory.

  • Error messages for DUMP/RESTORE commands are improved.

  • Validations and error messages are improved when specifying default column values.

  • More robust handling is added for long decimal strings during import.

  • Non-superusers can view and interrupt their own queries.

  • Rewrote query plans where certain aggregates are performed on the same expression that is grouped-by (that is, COUNT DISTINCT column where column is being grouped) to improve performance for these queries

OmniSciDB - Fixed Issues

  • Fixed an issue where window functions with a preceding filter would pull all of a table’s columns into memory, even if unused by the query.

  • Disabled window functions for updates because it could crash the server. Targeted to be fixed and enabled in a future release.

  • Various fixes related to aggregate window functions.

  • Improvements to auto-casting logic for extension functions, user-defined row functions, and table functions.

  • Avoid unnecessary translation between dictionary-encoded text columns for certain classes of hash joins when the inner and outer tables’ join columns share the same dictionary, thereby improving performance.

  • Fixed crash that could occur when performing a join on multifragment input when the hash table is built on GPU but the join is executed on CPU.

  • Various bug fixes and performance improvements for runtime query interrupt.

  • Fixed broken Immerse dashboard import in omnisql.

OmniSci Rendering - New Features and Improvements

  • The default renderer is now Vulkan. The legacy OpenGL renderer can still be used as a fallback. See the notice at the top of these release notes for more information.

  • Improved the memory footprint/performance of the multi-GPU compositor by doing overlapped, tiled transfers from render GPUs to the compositor GPU. The more GPUs on the node, the bigger potential gains.

  • Added extra logging in the event of a timeout or Vulkan device lost error.

OmniSci Immerse - New Features

  • Migrated numeric binning in Immerse to use the new WIDTH_BUCKET SQL operator, significantly improving binning/histogram performance in some cases.

  • BETA: Added a new global side navigation.

  • BETA: Added support for 3D terrain in 3D scatter chart.

  • BETA: Support for hiding Immerse UI elements in iframed app usage is added.

  • BETA: Crossfilter referencing in custom filters is supported.

OmniSci Immerse - Fixed Issues

  • Fixed an issue where the parameters dropdown would not autocomplete.

  • Fixed incorrect file headings in chart map export.

  • Fixed multilayer legend value for Choropleth chart with geo heat map.

  • Fixed display of long dashboard titles.

  • Fixed dashboard duplication permission case.

  • Fixed hit-test error on a custom measure.

  • Fixed SQL syntax error on Pointmap chart with custom SQL group-by dimension.

  • Fixed rendering of Scatter Plot and Pointmap charts after hovering over points.

  • Fixed various minor UI bugs affecting overall usability.

5.7.1 - September 14, 2021

OmniSci Immerse - Fixed Issues

  • Fixed SAML login to a specified database based on login URL with database name.

  • Fixed role retrieval for usernames with @ and other symbols ($ & + , ; : / = ?).

5.7.0 - August 26, 2021

OmniSciDB - New Features and Improvements

Query Capabilities

  • Added support for default column values. When creating tables or adding new columns to existing tables, you can now specify column default values. This works in both SQL and with Thrift APIs.

  • Added support for APPROX_QUANTILE, with performance and functionality similar to APPROX_MEDIAN, which is APPROX_QUANTILE called with a 50% quantile argument.

  • Per-kernel interrupt performance significantly improved, now on by default. Queries can be interrupted using Ctrl + C in omnisql, or by calling the interrupt API.

Performance

  • The Arrow data frame API now differentiates between where the query is run and where the Arrow result is requested. For example, a query that must run on CPU can be pushed to GPU for Arrow IPC sharing, and a query that would normally run on GPU can still run on GPU, even if the user requests the Arrow buffer in CPU memory via IPC sharing.

  • Improved performance of high-cardinality group-by queries. Large cohorts in Immerse should show substantial performance improvement.

  • Parallel executors now in public beta (set with --num-executors flag). In future versions of OmniSci, the number of executors will be set to 2 by default.

Administrative

  • Added a new REASSIGN OWNED command, which changes ownership of database objects (tables, views, dashboards, etc.) from a user or set of users in the current database to a different user.

  • Added a new SHOW USER DETAILS command for introspecting user information.

  • Error messages have been updated to remove redundancy and otherwise extraneous content.

Geospatial

  • Added support to ST_Transform for transformations from 900913 (web mercator) to 4326 (lon/lat).

  • ST_Contains and ST_Intersect joins and filters can now run fully accelerated on dynamically constructed points using ST_Point(lon, lat).

  • Geospatial projection support for points is now more robust, faster, and widely supported. For example, ST_SetSRID(ST_Point(id,id),4326) is now supported in projections.

  • Major enhancements to ODBC driver, including support for Geospatial types.

  • Added FlatGeoBuf import/export support, which is about 3x faster than shapefile and 8x faster than geojson.

  • Improved handling of geospatial columns in intermediate results and temporary tables. Previously, a "columnar conversion not supported" error would be thrown in joins involving multi-fragment geospatial tables. Now, the geospatial column can be zipped up, allowing joins and similar operations to proceed.

Enhanced AWS Permissions and Session Management

  • Added support for using IAM roles or server permissions when importing data from AWS S3. Admins can enable the use of IAM roles when running on an EC2 instance. Credentials can also be configured on the server either through AWS environment variables or credential files. Enable this option with the allow-s3-server-privileges server configuration.

  • Added support for AWS session tokens through omnisql and Thrift import APIs.

OmniSciDB - Fixed Issues

  • Improved messaging related to an error that can occur when the sample data insert script downloads data to a path outside the server data directory.

  • Fixed an issue where the server can encounter an error on startup due to a pre 4.0 release migration bug.

  • Fixed a race condition that can occur when SELECT queries and auto-vacuuming execute concurrently.

  • Projections without limits now should not re-compile if query literals change, significantly increasing performance

  • Arrow over-the-wire query requests were always being executed on CPU, now they will run on default device type (and can be overridden by the user with a query hint)

  • Fix crash that could occur with empty Arrow result sets

  • omnisql now returns error status codes if a single command is called and the command fails. This allows omnisql to be more easily embedded into scripts with error checking.

  • Resolved an issue where join table reordering could fail for some geojoins, resulting in an error message or crash.

  • Resolved a crash that occurred when inserting a NULL value into a geospatial column in distributed mode.

  • Various bug fixes and performance improvements for geospatial types in Insert Into As Select / Create Table As Select queries in distributed mode.

  • Resolved a crash that occurred when updating a BOOLEAN array column.

  • Resolved null handling issues when grouping by BIGINT columns.

  • Resolved an issue which prevented CURRENT_TIME() or NOW() from being used in aggregate queries.

  • Resolved an issue involving CASE statements with string literals in one of the case branches, where the returned results could be incorrect.

  • Comparison between full array and indexed array columns will throw an appropriate error. Previously, SQL with such a comparison could cause the server to crash.

  • Resolved an issue where NULLS LAST in an ORDER BY clause could cause an incorrect ordering with respect to sign (e.g. negatives before positives).

  • Resolved an issue where CTAS/ITAS queries with small returns in the SELECT statement could enter an infinite loop in distributed mode.

  • Resolved an issue preventing the owner of a database from dropping that database.

OmniSci Rendering - New Features and Improvements

Release 5.7 includes the official beta release of the new Vulkan-backed renderer, which will replace the current OpenGL renderer. For more information, see Vulkan and the reasons we are making the switch, see Vulkan Renderer (Beta).

Because Vulkan will be the default renderer in Release 5.8, OmniSci strongly recommends using it now. The OpenGL renderer will be deprecated and removed in subsequent releases. The Vulkan renderer is reliable and stable, and switching to Vulkan now can help reveal any unforeseen issues. Finding such issues early, while an easy fallback exists, ensures a smooth, less risky transition.

To enable the beta Vulkan renderer, set the renderer-use-vulkan-driver configuration parameter to true.

In distributed clusters, the configuration file for each node must have the parameter set.

The Vulkan library is required for Release 5.7, regardless of which renderer you use. If you do not install the renderer, you will see the following error when trying to start a renderer-enabled server for the first time:

error while loading shared libraries: libvulkan.so.1: cannot open shared object file: No such file or directory

If you receive this error, you need to install the Vulkan API loader:

  • CentOS: sudo yum install vulkan

  • Ubuntu: sudo apt install libvulkan1

For a summary of how to install the Vulkan loader on various Linux distributions, see: https://linuxconfig.org/install-and-test-vulkan-on-linux.

  • Significant speedups in large polygon renders across multiple GPUs. The larger the table, and the more GPUs, the bigger the speed increase.

  • Memory footprint improvements in compositing and anti-aliasing components.

  • 3-4x speedup with procedural rendering (i.e. “symbol” vega mark type)

  • Better pipelining of compressed geo columns and projection math; 2x memory footprint improvement in use cases

  • Added a new Airplane symbol shape for Vega that can be used in symbol/legacy symbol marks.

OmniSci Immerse - New Features and Improvements

  • Significant enhancements to Immerse parameters.

    • Dashboard parameter widgets:

      • Side-panel parameter controllers can be added to dashboards.

      • Supports sophisticated custom dashboards with no code required.

    • Parameter value display across the product:

      • Chart titles and chart axes labels

      • Dashboard titles

      • Tooltips and Legends

    • Convenience methods to use parameters within:

      • Chart column selectors

      • Simple filters

      • Quick filters

    • Enhanced parameter management:

      • Show/hide hidden parameters

      • Improved user interface for tracking parameters usage

      • Allow parameter usage in Demo mode

      • Improved parameter selection autocomplete in all chart types

  • Improvements in Geo charts:

    • Ability to set top color category in Pointmaps.

    • Improved gradient selection in Pointmaps

    • Support Zoom Level in Map Chart `Zoom to` Field

  • High-precision, higher-performance lasso tool:

    • Now uses an ST_Contains filter expression for drawn polygons instead of expensive inside-triangle expressions.

    • Employs a dynamic level-of-detail drawing algorithm that automatically adjusts the resolution of parts of a polygon/circle that are in view so that it matches the results of the ST_Contains filter exactly for map charts.

  • 3D Pointmap chart (Beta release).

  • Embed HTML in a text chart (Beta release).

  • Updated mapd-connector with latest version of Thrift.

OmniSci Immerse - Fixed Issues

  • Unique category support for larger unique category sets.

  • Apply numeric filters using parameters.

  • Fixed display of parameters on new dashboards after a session timeout.

  • Fixed Choropleth hit test when hovering over a polygon.

  • Fixed display of boolean values in the input field of a global filter and dropdown menu.

  • Fixed parameter support in Choropleth charts with a geo join.

  • Fixed reversed axes labels on New Combo chart.

  • Fixed BIGINT column support in cohort builder.

  • Fixed display of parameter value in filter component input.

  • Fixed boolean setting of column value parameters.

  • Upgrade charts with column parameters set as dimension.

  • Fixed errant session clearing for non-autologin instances.

  • Fixed missing support for map-move crossfilter feature flags in Combo chart.

  • Fixed imperial formatting in popups.

  • Fixed a multilayer popup visibility when hovering over a line or point.

  • Various minor UI improvements and bug fixes.

5.6.4 - July 19, 2021

OmniSci release 5.6.4 includes a fixed issue.

OmniSciDB

Fixed Issue

  • Resolved an issue where cleaning up an expired session could cause the server to crash.

5.6.3 - June 25, 2021

OmniSci release 5.6.3 includes a new feature and an improvement.

OmniSciDB

Improvement

  • ITAS and CTAS queries are now protected from entering an infinite loop when small numbers of records are returned.

OmniSci Immerse

New Feature

  • Support for encrypted credentials in connectors is decoupled from authentication through Immerse.

5.6.3 - June 25, 2021

OmniSci release 5.6.3 includes a new feature and an improvement.

OmniSciDB

Improvement

  • ITAS and CTAS queries are now protected from entering an infinite loop when small numbers of records are returned.

OmniSci Immerse

New Feature

  • Support for encrypted credentials in connectors is decoupled from authentication through Immerse.

5.6.2 - June 17, 2021

OmniSci release 5.6.2 includes new features and improvements and fixes several issues.

OmniSciDB

New Features and Improvements

  • Added a new 'airplane' symbol shape.

  • When using INSERT to insert floats into INT columns, the numbers are rounded instead of truncated; now consistent with COPY behavior.

Fixed Issues

  • Fixed an issue where UDFs created at server start time with the -udf flag were not generating code for the GPU.

  • Resolved an issue where certain queries with a smaller number of groups ( < 20,000) would fail with a “Ran out of slots in the query output buffer” message.

  • Reduced incidence of “Ran out of slots in the query output buffer” errors with large group-bys.

  • Improved READ-ONLY configuration to never write to underlying storage.

  • Resolved an issue where a left join could get incorrect results if IS NOT NULL was part of the WHERE clause for the query.

  • Resolved sort order with aggregated results (negatives before positive) when NULLS LAST is specified.

  • Fixed an issue causing a crash when ITAS/CTAS populates a NULL point geometry object.

  • Resolved and issue where COPY FROM was restricting all other access in a distributed setup

  • Improved AVG handling when NULL values are used.

  • Fixed a random segmentation fault that occurred when running render unit tests.

OmniSci Immerse

New Features and Improvements

Fixed Issues

  • Resolved an issue where the record count on a zoomed map would reset after editing.

  • Fixed return key support for input of column type parameters.

  • Fixed the resetting of column and default value after a parameter is created.

  • Fixed caching of the number chart with a chart level filter.

  • Resolved issue related to support of Booleans for column value parameters.

  • Fixed an issue affecting null column values in quantitative color palette scales for Heat charts.

  • Batch upgrading of charts includes additional edge cases.

  • Resolved issue related to support for custom color dimensions in New Combo charts.

5.6.1 - May 10, 2021

OmniSci release 5.6.1 includes a new feature and fixes several issues.

OmniSciDB

Fixed Issues

  • Fixed an issue where a rename of a user with ALTER USER USER RENAME TO USER_NEW could cause issues later when trying to restart the server, depending on role membership.

  • Fixed a system crash that occurred during an INSERT TABLE AS SELECT command on a table that does not exist.

  • Fixed an issue where polygons from a table which had been appended using SQLImporter might not render. Added command-line option --noPolyRenderGroups/-nprg to disable render group assignment, to match the available WITH option on other import workflows.

OmniSci Immerse

New Feature

  • When basemap sources are not available--for example, if the user is on a private network with no external access--the user is set to offline mode and Immerse uses the lightweight map source bundled with Immerse.

Fixed Issue

  • Fixed an issue to make sure that Combo charts correctly plot on autobinning when the start-of-week flag is set to Saturday or Sunday.

  • Duplication of charts with an empty filter is now allowed.

5.6.0 - April 21, 2021

OmniSci release 5.6.0 contains several new features and improvements and fixes a number of issues.

OmniSciDB

New Features and Improvements

  • Allowed import and export paths are now enforced. Confirm that any import or export paths are included via the configuration parameters allowed-export-paths and allowed-import-paths.

  • Loading data now more strictly enforces validation or numeric inputs. Previously, an out-of-range integer would “wrap” and be ingested as incorrect values. In Release 5.6, numerics are validated and if validation fails, the row is rejected.

  • String dictionaries do not load if you exceed their capacities; previously, they inserted null for the string.

  • Utility jar mapd-1.0-SNAPSHOT-jar-with-dependencies.jar is renamed. Scripts using SQLimporter need to reference the new .jar omnisci-utility-5.6.0.jar.

  • Significant speedups for point-in-polygon joins (ST_CONTAINS, ST_INTERSECTS) via optimized algorithms and range join hash framework; on by default for point-in-polygon joins.

  • Approximate median function support through the new approx_median aggregate function. Currently works only in nondistributed deployments and executes on CPU.

  • Query interrupt is now possible when the query is outside of core kernel execution (for example, copy/import, CTAS, ITAS, query data fetch, result reduction). On by default and controlled by new flag enable-non-kernel-time-query-interrupt.

  • Query interrupt during core kernel execution has been optimized so that enabling it with the existing enable-runtime-query-interrupt flag should have little to no impact on query performance; actual impact depends on the query pattern.

  • Added partial column specification for INSERT and INSERT FROM SELECT, such that data can be inserted and appended to a subset of columns in a table. NULL values are added to columns not specified in the statements.

  • Updated the CREATE TABLE command max_rollback_epochs option with a default value of 3. This reduces the number of epochs/data versions that are stored. When combined with new space reclamation on delete, optimizes space utilization. Setting the option with a high value stores more epochs and reduces data compaction and space reclamation. To update older tables, use the ALTER TABLE <table> SET MAX_ROLLBACK_EPOCHS=<value> command.

  • Added automatic metadata updates and vacuuming. On UPDATE and DELETE queries, OmniSciDB updates metadata, vacuums, and re-uses space as specified. Automatic metadata updates are turned on by default. See enable-auto-metadata-update in Configuration Parameters. Automatic vacuuming on delete occurs when deletes or updates on variable length columns exceed the vacuum threshold. For more information, see vacuum-min-selectivity in Configuration Parameters.

To ensure optimal space usage, ensure the table’s MAX_ROLLBACK_EPOCHS option is set to 3 or lower. This is automatically set by default for the CREATE TABLE command on new tables created in release 5.6 and higher.

For existing databases, OmniSci recommends using ALTER TABLE <table> SET MAX_ROLLBACK_EPOCHS=3 to cap the space usage, and OPTIMIZE TABLE [<table>] WITH (VACUUM='true'); to reclaim space. This primes the system for efficient space management.

  • Added RENAME TABLE command to enable one or more tables to be renamed at the same time.

  • OmniSciDB now enforces permitted filepaths for import/export operations by default. The default import and export paths ({data directory}/map_import and {data directory}/map_export respectively) are allowed by default, so no change is required when doing an import/export from Immerse or for sample data import on server startup. However, when using other commands with user-provided paths (such as COPY FROM) provided paths must be under an allowed root path. See the Configuration Parameters for more information.

    NOTE: For distributed systems, allowed paths only need to be in the configuration file on the aggregator. However, for consistency and future compatibility, OmniSci recommends that the allowed paths also be added to the leaf omnisci.conf file.

  • Significantly improved OmniSciDB startup time. Removed extra metadata seeks/reads during startup. Systems with high epoch counts or large column counts will have marked improvements.

  • Validation of numeric inputs is more strictly enforced on load. Previously an out-of-range integer would “wrap” and be ingested as some incorrect value. Numeric-typed columns are now validated, and if validation fails, the row is rejected.

  • String dictionary reaching capacity during import now throws an error and stops the load instead of inserting nulls in the dictionary-encoded column.

  • Significant performance improvements for load into high-cardinality dictionary-encoded text columns via optimized dictionary hash table resizing.

  • Improved load performance on systems with many cores. Default max number of threads to use is capped at 32, instead of 2X the number of cores, which can cause contention on systems with many cores.

  • Improved the performance of left join queries with filters by searching for left-hand side filters that can be executed before the join, potentially reducing the cardinality of the join.

  • Support date format %m/%d/%y with 2-digit year on data import.

  • Improved the performance of common multicolumn sort patterns.

  • Chunksize default increased to 2 GB to allow for more records per fragment, particularly when variable-length columns are present (none-encoded strings, arrays, and geospatial types). This allows certain query patterns, such as large joins that might previously span multiple fragments, to run faster.

  • Entitlements (introduce simple row level security via SAML attributes).

  • Accept session-token when using S3 import, WITH option is s3-session-token.

  • Upgrade to calcite 1.25.

  • Improved the accuracy of ST_Contains and ST_Intersects at small geospatial scales.

  • Allow Narrowing casts in SQLImporter.

  • Upgrade to sqlite 3.34.

  • Allow SAML and LDAP to provide authentication without having to also provide authorization.

  • Utility jar renamed and versioned: omnisci-utility-5.6.0-SNAPSHOT.jar.

  • Added support for CURRENT_TIMESTAMP, CURRENT_DATE and CURRENT_TIME functions

  • Improved READ-ONLY support.

  • UDTFs now allow for a ColumnList argument type, which allows a variable number of arguments to be used for inputs.

  • Improved the granularity of the session lock, allowing local users to access the system even if third-party authentication providers have failed or are experiencing high latency.

  • Many bug and performance improvements.

Fixed Issues

  • Fixed issue causing a crash when UDTFs were composed.

  • Fixed an issue where definition of CPU UDTFs could lead to all subsequent queries running on CPU.

  • Resolved an issue where selecting from a view with a self join could cause a crash.

  • Improved the ability of the parser to handle complex UPDATE and DELETE queries.

  • Added human-friendly error messages to UPDATE and DELETE queries.

  • Resolved an issue where specifying warmup queries would cause the aggregator to crash in distributed mode.

In distributed mode, specify warmup queries for the aggregator and all leaf nodes to work correctly.

  • Resolved an issue where an equijoin between array columns could crash. Now, an attempt to join throws an exception if the join is not supported.

  • Resolved an issue where window functions in a subquery could cause a crash.

  • Resolved an issue where window function aggregates could crash if used with filters.

  • Improved sorting performance of and resolved a number of stability and correctness issues.

  • Resolved an issue in distributed mode where subqueries over replicated tables could return duplicate results.

  • Resolved several potential deadlocks between the rendering engine and the query engine when multiple queries or types of queries are in process.

  • Fixed an issue where SHOW CREATE TABLE would show the wrong table name after a table with shared dictionaries was renamed.

  • Resolved an issue where a COPY TO command with a subquery could fail.

OmniSci Rendering

New Features and Improvements

  • Improved the quality of density accumulation rendering by incorporating a technique that uses 64-bit atomic operations instead of 32-bit when calculating standard deviation. This allows for a greater range of colors when using statistical measures to color the densities. The 32-bit technique was prone to uncaught overflows that resulted in a much more clamped color range.

  • Performance improvement when using a Mercator projection explicitly for marks using the Vega projection property.

  • Multi-GPU compositor performance and memory footprint is improved through better pipelining and reduced copy operations.

  • New Arrow stock symbol shape can be used in symbol/legacy symbol marks.

  • Line and polygon stroke rendering improved by 30-40% by simplifying the math to build the stroke geometry.

  • Significant improvements to the quality of point/symbol rendering, achieved by improvements to procedural anti-aliasing technique and to render sample capturing when drawing procedural symbols.

  • Polygon geometry imported via the SQLImporter path can now be rendered.

Fixed Issues

  • Fixed a bug where decimals are not properly updated in vega scales after an empty render.

  • Fixed a rare CUDA misaligned address crash when rendering multilayer vega with points, geo, and xforms in consecutive vegas.

  • Resolved a small host memory leak in the renderer.

  • Fixed a polygon render issue where fully transparent polygons can inadvertently affect the renders of visible neighbors.

  • Fixed a crash when attempting to render a line mark layer with opacity explicitly set to 0.

  • Fixed a potential race condition when DROP or CREATE is run in between renders or while render is in flight. The race condition could result in a crash when executing the get_result_row_for_pixel endpoint.

  • Corrected an issue with multilayer rendering with multiple density accumulation layers where all density layers incorrectly applied the color palette from a single layer.

  • Fixed a crash that occured when rendering a line mark in a multi-GPU-configured server/leaf when the number of GPUs required to render the lines jumps from one to more-than-one GPU when rendering consecutive vegas.

  • Corrected the stroke rendering of ellipse symbols.

  • Corrected possible skew in symbol rendering when using the angle property.

OmniSci Immerse

New Features and Improvements

  • Custom SQL dimensions, measures, and filters can now be parameterized, enabling more flexible and powerful analysis:

    • Support for column, attribute, numeric, and custom parameter types

    • New Parameter Manager where parameters are created, modified, and deleted.

    • Parameter panel on the dashboard supports dynamic edits of the parameter values, and the ability to link/unlink parameters across dashboard tabs.

  • All charts have been upgraded with the new custom SQL modal, which contains better SQL validation and ability to inject parameters and columns into the SQL.

  • Chart-level error handling and recovery.

  • Median added as a supported aggregation type across all charts and aggregate filters.

  • A new angle measure has been added to Pointmap and Scatter charts, allowing orientation data to be visualized with wedge and arrow icons.

  • When you mouse over a point, line, or poly on Pointmap, Choropleth, or Linemap charts, a popup box appears, where you can copy the popup information to your clipboard. If the popup includes a URL, you can click the URL to open the web page.

  • The Other category can be toggled off from the categorical color legend on map charts.

  • Immerse charts can now be configured with a Saturday or Sunday start of week by using the servers.json ui/start_of_week flag. Supported start of week days include Saturday, Sunday, and Monday (default behavior).

  • Zoom and panning performance has been significantly improved on New Combo charts.

  • A new confirmation modal has been added to the Reset Dashboard Settings action to help prevent accidental loss of work

Fixed Issues

  • On multilayer charts, unchecking layers from the master layer view now persists those changes and prevents unchecked layers from being displayed.

  • Fixed issue on charts where click-based cross-filters from binned time dimensions were applied incorrectly.

  • Fixed issue on Table charts where the chart did not highlight the row correctly after filtering on a boolean value.

  • Fixed issues where Map and Stacked Bar chart data did not refresh correctly with the dashboard set to auto-refresh.

  • Fixed issue in the global filter panel where the calendar picker was hidden behind charts when the dashboard was scrolled down.

  • Fixed issue on map charts where color legends were not displaying correctly for multilayer charts.

  • Fixed issue in New Combo charts where brush filters were removed when filter sets were switched.

  • Resolved issue in New Combo charts where the range and focus charts were out of sync when there were multiple sources on the chart.

  • Fixed issue in New Combo charts where newly created columns were not available for data selection.

  • Fixed issue on new combo charts where x-axis labels were not updating correctly when sorting time columns.

  • On New Combo charts, brush filters are now set correctly on duplicated charts.

  • Fixed issues on Table charts where formatting was applied incorrectly to custom measures and date dimensions.

  • Resolved issue on New Combo charts where bars with certain custom SQL measures in percentage mode did not render correctly.

5.5.6 - March 23, 2021

OmniSci release 5.5.6 fixes an issue.

OmniSci Immerse

Fixed Issues

  • License key input removes extraneous characters from pasted text.

5.5.5 - March 18, 2021

OmniSci release 5.5.5 includes a new feature and fixes an issue.

OmniSciDB

New Features

  • Align license management for Enterprise Edition and Free Edition.

Fixed Issues

  • Resolved sign-on issues after idle session timeout expiry.

5.5.2 - February 19, 2021

OmniSci release 5.5.2 includes new features and fixes several issues.

OmniSciDB

New Features

  • SQLImporter allows text-based WKT or WKB fields to be imported into an appropriate geo column.

  • A new command-line option, log-user-id, enables logging internal numeric user IDs instead of textual user names.

  • OmniSciDB Arrow distribution is upgraded to v2.0.0.

Fixed Issues

  • Resolved an issue where concurrent CTAS runs could deadlock.

  • Resolved an issue where replacing an existing dashboard could cause the server to crash.

  • Corrected behavior of multicolumn sort with NULL values.

  • Resolved an issue when using ANY with a decimal array.

  • Resolve an issue when loading BIGINT data into an ARRAY.

  • Resolved an issue when using OFFSET with no LIMIT.

  • Fixed incorrect left join-to-inner join optimization rule.

  • Improved handling of CASE statement literals when dictionaries are used.

  • Improved overflow checking.

  • Fixed issues for persistence of deleted rows after OPTIMIZE.

  • Improved locking for CONNECT to be less blocking.

  • Fix a multilayer Vega render bug in which two consecutive renders with minimal changes in the code (for example, a change in layer ordering for) can result in a cryptic exception, but the Vega code is otherwise legal.

5.5.1 - January 25, 2021

OmniSci release 5.5.1 includes a new feature and fixes several issues.

OmniSciDB

Fixed Issues

  • Resolved an issue where newly created databases are unusable after server restart.

  • Fixed an issue that could cause a crash during UPDATE or DELETE queries.

  • Resolved an issue where UPDATE queries with a join would run indefinitely.

  • Resolved an issue where a GPU-enabled version of OmniSciDB without GPUs present failed to gracefully fall back to CPU mode, resulting in a crash.

OmniSci Immerse

New Feature

  • You can now configure max legend width on charts from the Settings UI panel. You can save the configuration per-dashboard or database-wide.

Fixed Issue

  • Fixed an issue where cohort filters were not applied correctly to New Combo charts.

5.5.0 - January 7, 2021

OmniSci release 5.5.0 contains several new features and improvements and fixes a number of issues.

OmniSci 5.5 includes a significant change to the OmniSciDB storage layout. The migration from the storage layout prior to Release 5.5 is transparent, but is not backwards compatible. (OmniSci in general does not guarantee backwards compatibility.) Back up your OmniSciDB data directory before upgrading. If you are an OmniSci Enterprise customer, you can contact Support for help.

OmniSciDB

New Features and Improvements

  • VALIDATE command now detects and identifies out-of-sync epochs.

  • Added support for concurrent SELECT and UPDATE/DELETE queries for single-node installations.

  • New SHOW TABLE DETAILS command displays storage-related information for a table.

  • Adds rendering support for CPU-only configured query execution.

    • CPU-only query execution can be CUDA-disabled, or CUDA-enabled with the cpu-only configuration parameter set to true.

    • In either scenario, rendering support requires at least 1 server-side GPU.

    • iGPU support is not guaranteed because of Linux driver incompatibilities with an OpenGL driver.

  • User-defined function (UDF) support for NONE ENCODED strings.

  • Aggregates in user-defined table function (UDTF) output are supported.

  • Multi-table inputs into UDTFs is supported.

  • JDBC and in binary endpoints load_table, load_table_binary, load_table_binary_columnar, and load_table_binary_arrow now support out-of-order and column subset inserts.

  • Added support for geospatial transformation to SRID 4326 on CSV import.

  • Added support for the ST_Centroid geometry constructor.

  • Added support for importing geospatial data in WKB format from CSV files.

  • Improved support for distributed mode and sharded tables to prevent data truncation.

  • Improved support for query interrupt and query interrupt flag added. Query interrupt enables superusers to show a list of pending queries, and allows users to interrupt their own queries. This is currently considered beta functionality and off by default.

  • Added MAX_ROLLBACK_EPOCHS support, which limits the number of rollback states kept on disk. Useful for deployments with small rolling updates and for managing table size on disks with heavy insert/update patterns.

To run OmniSciDB in GPU mode, OmniSci Release 5.5 requires NVIDIA driver version 450.xx or higher.

Fixed Issues

  • Resolved a crash occurring on ST_DWithin when providing distance argument from another column in the same row.

  • Fixed an issue where loop joins with large inner tables could crash.

  • Resolved precision issues with date addition functions.

  • Resolved issues that could occur when appending empty polygons to a table.

  • Improved handling of hash tables near the entry count limit.

  • Added a parameter to DATE_TRUNC to allow weeks to start on either Sunday or Monday.

  • Resolved issues importing geospatial data from PostgreSQL using the SQL Importer utility.

  • Fixed a security issue in the LDAP connector.

  • The --help and --version server commands no longer require a data directory to exist before printing output.

OmniSci Immerse

New Features and Improvements

  • Annotations supported on new combo charts for different dimension/measure combinations.

    • Annotations can be edited, moved, and resized; font size can be configured via the UI Settings panel.

    • A top-level dashboard toggle controls visibility of annotations on the dashboard.

  • New Combo chart improvements:

    • Dashboard and chart level in-place migration for legacy stacked bar, bar, histogram, and combo charts to the New Combo chart.

    • Chart zoom

    • Toggle for All Others on the legend when a group by dimension is present.

    • Toggle for the default null option on the group by dimension

  • Column formatting in map pop-ups, including the ability to toggle the pop-up on/off without removing any columns.

  • For exact match chart-level filters, a default All option that allows you to toggle off the filter from the dashboard view.

  • For table charts with dimensions, a Null Measures toggle allows null measure values to be displayed.

  • Performance improvements for map charts.

  • You can set margins between charts using the UI Settings panel. The default margin is 16 pixels.

  • You can set min/max manually on heat charts.

  • Opacity can be set for single layer map charts.

  • Matching for global string filters can be case-sensitive.

  • Filter panel defaults can be set along two dimensions: open/closed, and simple/advanced.

  • Added an instance-level flag (restricted_viewing) that prevents users from adding new charts or modifying existing charts if they are in a “view only” experience (VIEW but not EDIT privileges on the dashboard).

  • Databases in the database switching list are now sorted alphabetically.

  • Added the OmniSci-provided “Minimalist” base map as a default to all charts, regardless of online/offline status.

  • Added the ability to configure default and max number of points on Pointmap charts.

  • Added the user role “restricted_sharing” that prevents users with that role from being able to share dashboards.

  • Tabs are on by default; information about configuring the default experience is here.

Fixed Issues

  • Fixed issue where the filter panel was scrolling off page by making it always present when opened.

  • Fixed issue in geo export for multilayer charts where only the top layer was available for export.

  • Dates on map pop-ups are now displayed in UTC instead of local time.

  • Duplicated charts now are the same size as the original chart.

  • Static and topN values now migrate correctly from Histogram and legacy Combo charts to New Combo charts.

  • Fixed performance issues on the New Combo chart.

  • The range chart on New Combo chart now displays the full data range.

  • Fixed issue in New Combo chart, when configured as a line chart, where the default y-axis value was 0 instead of the data min.

  • The number of groups from legacy bar charts now migrate correctly to the New Combo chart.

  • New Combo charts now update correctly with streaming data.

  • Fixed issue in New Combo charts where the collapsed legend was not saving correctly.

  • Fixed issues with tabs causing crashes.

  • The backend error message for missing tables is now passed correctly to the corresponding Immerse error modal.

  • Fixed an issue in New Combo charts where long axis titles caused chart render issues.

  • Brush filters in New Combo charts can now be applied in stacked/percentage mode.

  • Fixed issue in new combo chart where the legend tooltip did not render in Chrome and Firefox browsers.

  • Binning options in New Combo charts now correctly accept non-integer values.

  • Fixed an issue in New Combo charts where modifying the range filter in one filter set applied the change to other filter sets.

  • Resolved an issue New Combo charts where the default axis title was not set for custom dimensions.

  • Legend options in New Combo charts now have sufficient contrast in Light Mode.

  • Fixed multiple issues related to dashboard resize that caused charts to move around unexpectedly on the dashboard.

  • Resolved an issue where saved dashboard views did not clear correctly between user sessions using the same browser.

  • Fixed an issue where switching databases in the Chrome browser caused Immerse to pull an incorrect dashboards list.

  • Fixed an issue where Jupyter access disappeared on dashboard refresh.

  • Tabs can now be renamed when using the Safari browser.

  • Fixed an issue in New Combo charts where a gap remained after a pinned legend was removed.

  • In New Combo charts, source and data selection are now retained when switching between other charts and the New Combo chart.

  • A display issue in Pointmaps that cut off the last digit for the number of points input box is resolved.

  • Fixed an issue in multi-layer charts where chart-specific filters were incorrectly applied across layers sharing the same source instead of applied for the layer that the filter was created on.

5.4.2 - November 10, 2020

For access to OmniSci release 5.4.2, contact support@omnisci.com.

OmniSci release 5.4.2 includes some new features and improvements and fixes a number of issues.

OmniSciDB

New Features and Improvements

  • Improved performance of large group-by queries over dictionary encoded strings when filters are present. The filters are applied to the group by reducing the size of the output.

  • Added memory protection for APPROX_COUNT_DISTINCT queries. The configuration parameter bitmap-memory-limit allows you to increase or decrease the maximum amount of memory allocated for APPROX_COUNT_DISTINCT bitmaps per execution kernel (thread or GPU). Previously, this allocation was not capped. The default cap is 8 GB, but can be increased for high-memory systems.

  • Added support for PowerBI as an OmniSciDB client.

Fixed Issues

  • Resolved an issue where a query with LIMIT 0 in distributed mode could return results.

  • Resolved an issue where singleton inserts or updates/deletes on sharded tables in distributed mode could result in truncation of the table.

  • Fixed an issue where join queries could return incorrect results with NVIDIA driver 455. OmniSci continues to recommend driver versions 418.39 to 450 for OmniSci release 5.4.x.

  • Fixed a crash on unsupported, multi-table self joins.

  • Resolved an issue where an entire table could be projected for SELECT * LIMIT n queries, where n is small. OmniSciDB attempts to project only the first n rows, unless deletes without vacuum have occurred.

  • Resolved several issues with multistep queries in distributed mode. Stability and performance of multistep queries, multistep queries with subqueries, and multistep subqueries have been improved.

  • Fixed an issue with sharded tables in distributed mode where INSERT INTO SELECT queries did not persist changes to disk.

OmniSci Rendering

Fixed Issues

  • Resolved an issue where the colors of a symbol render (via a Pointmap in Immerse) can be incorrect if it is immediately preceded by a Heatmap render.

OmniSci Immerse

Fixed Issues

  • Fixed issue where users with the CREATE DASHBOARD privilege could not save their dashboards.

5.4.1 - September 25, 2020

OmniSci release 5.4.1 fixes a number of issues.

OmniSciDB

Fixed Issues

  • Resolved an issue where queries with extra whitespace returned an error. Whitespace is now trimmed automatically by OmniSciDB.

  • Resolved an issue where SHOW CREATE TABLE showed an incorrect SHARD_COUNT for sharded table DDL in distributed mode.

  • Fixed an issue where left joins could be converted to inner joins erroneously when joining multiple subqueries.

  • Resolved an issue where dashboard owner updates were not properly persisted after server shutdown.

OmniSci Immerse

Fixed Issues

  • Fixed an issue where global filters were not applying correctly to old Combo charts.

  • Fixed and issue where chart-level filters could not be saved.

  • Resolved an issue where layers were not displaying correctly for multilayer map export.

  • Resoved an issue in linked pan/zoom where turning off the feature flag did not disable the feature for previously linked charts.

5.4.0 - September 4, 2020

OmniSci release 5.4.0 contains several new features and improvements and fixes a number of issues.

OmniSciDB

New Features and Improvements

  • Improved performance of the CSV importer by up to 50%. String import, geospatial import via CSV, and importing wide varlen rows are all faster.

  • Performance improvements for update and delete queries.

  • Improved the performance of filtered group by queries on large cardinality string columns. This is particularly relevant for Immerse-generated cohort queries on dictionary-encoded string columns.

  • Added initial compilation support for NVIDIA Ampere GPUs.

  • Added support for Alteryx integration via the Alteryx Lua connector.

  • Added support for Oracle Access Manager as an identity provider for SAML authentication.

  • Added a new SQL function, SAMPLE_RATIO, which takes a proportion between 0 and 1 as an input argument and filters out rows to obtain a sampling of a dataset.

  • Upgraded OmniSciDB Arrow distribution to v1.0.0

Fixed Issues

  • Can now disable the origin lookup for inbound API requests. On busy systems with slow or throttled networks, DNS lookups can cause bottlenecks as multiple users attempt to access the database. Use the configuration flag log-user-origin.

  • Resolved an issue where nested joins within a view could crash.

  • Array fields in shapefiles are now imported correctly.

  • JDBC driver now returns a valid update count. Currently, OmniSciDB does not report the number of rows updated, so the update count is -1.

  • Resolve correctness issues in date/time extract functions.

  • Resolved an issue where a Boolean column in an IN expression could crash the server.

  • Fixed an issue where listing the roles for the default OmniSciDB user fails. This is resolved only for default users named admin. If your default user is still mapd, you can rename the user to admin by using ALTER USER RENAME TO.

  • Resolved an issue where a sort with a limit over sharded or empty data could crash.

  • Resolved an issue where some left joins were incorrectly rewritten to inner joins.

  • Resolved an issue where a rendering hit test against a sharded table could crash.

  • Fixed an issue with dump/restore of nonencoded geospatial columns. Previously, archives of nonencoded geospatial columns did not restore correctly. Note that the archives must be re-created.

  • OmniSQL \d now shows geo column encoding.

OmniSci Immerse

New Features and Improvements

  • Perform bulk actions on the dashboards list, including export, share, and delete.

  • Apply filters to the dashboards list based on owner, source, last modified date, shared status, and dashboard name. A new count widget displays the number of filtered dashboards.

  • Dashboard list filters can be saved as views and then duplicated, renamed, and deleted. Users default to the last filter view they used.

  • The UI Settings panel offers a variety of new chart customizations:

    • Change font size, boldness, and contrast across chart titles and labels

    • Customize axis label truncation

    • Modify and add new color palettes

    • Save UI settings as the database-wide default

  • Dashboards now have tabs, which can be duplicated and reordered. A Play button makes it easy to cycle through tabs.

  • Choropleth, Linemap, and Pointmap charts now support chart-level data export in GeoJSON and CSV formats.

  • The min/max axis values for Scatterplot charts can be configured manually.

  • The SQL Editor now accepts Vega JSON requests and displays image results in the editor window.

  • A lat/long viewer is displayed when hovering over map charts.

  • Added the # of Groups functionality to the New Combo chart, providing a consistent experience with other bar charts.

  • Added the option to allow zooming on map and combo charts only when the SHIFT key is held down, to prevent accidental zoom actions.

Many of these features can be implemented and customized using feature flags.

Fixed Issues

  • Fixed an issue in old Combo charts where charts did not load correctly with updated data.

  • Resolved an issue where invalid filters caused dashboards to load incorrectly.

  • Fixed an issue in New Combo charts where line marks were displayed as area marks when bar marks were present.

  • Crowded display of date dimensions in the New Combo chart is fixed.

  • Improved padding on New Combo chart, allowing the range chart to be displayed in a more compact way.

  • Fixed an issue in New Combo charts where global filters were not correctly copied over during chart duplication.

  • Fixed an issue in New Combo charts where injecting the column name in the custom SQL window repeatedly inserted the column name.

5.3.2 - July 30, 2020

OmniSci release 5.3.2 contains new features and improvements and fixes a number of issues.

OmniSciDB

New Features and Improvements

  • Added LEFT JOIN support for accelerated geojoins using the overlaps join.

  • Improved performance of projection queries with OFFSET.

  • Improved performance of OmniSciDB function calls (e.g. geometric functions) by eliding null checks and eliminating runtime casts.

  • Added support for implicit casting during insert into the table as select.

  • Improved error messages and logging. In particular for casting errors, union all type mismatch errors, and create table as select / insert into as select logging all.

  • During Create table as select, dictionaries between the source and target tables will automatically be shared. This improves the performance of both the CTAS query and of any queries using both tables. Append WITH (USE_SHARED_DICTIONARIES=FALSE) at th end of the CTAS query to disable this option.

  • Reduced connection timeout errors by introducing keepalive on API calls that use a client with a timeout (intended to replace manual management of individual service timeouts). keepalive is controllable using the calcite-service-keepalive and leaf-with-keepalive command line options.

Fixed Issues

  • Resolved an issue where a case statement in a subquery could crash the server with the error Check failed: generation_ >= 0 (-1 >= 0).

  • Fixed an issue where an update on a temporary table could result in no rows being updated after a delete had occurred.

  • Overhauled date_trunc and extract runtime, improving performance and resolving correctness issues with dates before January 1, 1970.

  • Resolved correctness issues with TIMESTAMPDIFF and DATEADD.

  • Resolved an issue where queries could crash the server in a CUDA/Render enabled build running in cpu-only mode. CPU-only builds do not suffer the same problem.

  • Resolved an issue where SELECT * LIMIT N (for any N) on a table with deleted rows would pull the entire table into memory.

  • Fixed an issue where a validate query preceding a SQL query could cause the error Ran out of slots in the query output buffer during SQL query execution.

  • Resolved a crash on group by queries with large output buffers.

OmniSci Immerse

Fixed Issues

  • Fixed issue where New Combo chart could not be turned off via feature flag.

  • Fixed issue where certain string values were handled incorrectly in Pointmap coloring.

5.3.1 - July 8, 2020

OmniSci release 5.3.1 contains new features and improvements and fixes a number of issues.

OmniSciDB

New Features and Improvements

  • GPU memory usage is improved across OmniSciDB and OmniSci Render. Previously, large amounts of reserved GPU memory (res-gpu-mem) were required to prevent out-of-memory errors when rendering large line or polygon datasets. With more buffer sharing between the database and rendering engine, you can reduce the res-gpu-mem value without increasing out-of-memory errors.

  • Added a query hint framework, allowing you to control query execution parameters in the query string. You can set CPU execution mode by adding /*+ cpu_mode */ after the SELECT keyword in a SELECT query.

  • Performance is significantly improved when sorting on COUNT DISTINCT and APPROX_COUNT_DISTINCT aggregates.

  • Performance is improved in query parse, particularly for small-cardinality group-by queries. Additional performance improvements for multicolumn and large-cardinality group-by queries using baseline hash.

  • GPU and CPU buffer pool allocation (slab) size are configurable as a runtime parameter, and the default for GPU buffer pool is increased from 2GB to 4GB for more efficient GPU memory usage.

  • GPU JIT warmup is added to OmniSciDB at server start. As a result, OmniSciDB verifies the correct CUDA version and generates initial code for the GPU at startup instead of when the first query is executed. First query times on GPU after startup have been reduced. The server does not accept connections during JIT warmup, but a message is printed in the logs before and after warmup completes.

  • Access to import/export paths to the server using the COPY command can be restricted. Administrators can restrict access to root paths used in COPY FROM and COPY TO commands. Currently, all paths are allowed by default.

  • Added the SQL placeholder CURRENT_USER for accessing the username of the current user in a SQL query.

  • Added support for the ALL PRIVILEGES alias when granting object privileges.

Fixed Issues

  • Resolved an issue where queries with STDDEV inside a CASE statement could fail with the error message, “Aggregate function STDDEV not supported.”

  • Fixed an issue where projecting NULL could crash the server.

  • Resolved an issue where TIMESTAMPDIFF could return incorrect results for dates earlier than January 1st, 1970.

  • Resolved correctness issues with the EXTRACT function on date, time, and timestamp values. Extract week could return incorrect results, and dates before January 1st, 1970 could also return incorrect results.

  • Resolved an issue where getString() on an array returned via JDBC would return an out-of-bounds exception.

  • Improved handling of cast and filter operations on high-precision timestamps. Reduced incidence of overflow/underflow errors when casting or filtering between timestamps of different precision.

  • Resolved an issue where OmniSci Server could exit without an error code when encountering some errors (for example, too many open files during execution of an import query).

  • Resolved an issue where user input was not effectively sanitized.

OmniSci Render

New Features and Improvements

  • New extension functions reg_hex_horiz_pixel_bin_packed, reg_hex_vert_pixel_bin_packed, and rect_pixel_bin_packed replace reg_hex_horiz_pixel_bin_x/y, reg_hex_vert_pixel_bin_x/y, and rect_pixel_bin_x/y, respectively. The packed versions return an image coordinate packed into a 32-bit INT, eliminating the need for separate x/y functions and reducing redundancy. Query times are improved up to 2x.

Fixed Issues

  • Fixed an intermittent CHECK on a multi-GPU server when rendering a query where the results are distributed to a sparse subset of available GPUs.

  • Addressed incorrect renders on multi-GPU servers when the offset-device-by-table-id config flag is enabled. This flag is now enabled by default.

  • Fixes an exception safety issue in a multi-GPU server when an out-of-memory exception is thrown in the compositor before resource initialization is complete. This rare scenario would have resulted in a segfault.

  • Fixes a CHECK when rendering polygon/multipolygon columns that were imported without an SRID and no encoding defined, usually via CSV when the SRID is not implied.

OmniSci Immerse

New Feature

  • Added the ability to build cumulative and percentage distributions in the New Combo chart for non-binned and categorical dimensions.

Fixed Issues

  • Fixed issue where binning min/max values were not preserved on table and pie charts.

  • Added a feature flag for the SELECT * query snippet in the SQL Editor.

  • Fixed bugs in New Combo charts related to top-N, binning, and NULL handling.

  • Fixed issue in Table charts where certain measures produced an invalid date filter in Firefox browser.

5.3.0 - June 16, 2020

OmniSci release 5.3.0 contains several new features and improvements and fixes a number of issues.

OmniSciDB

  • The render-poly-cache-bytes flag has been removed and must be deleted from configuration files or other start scripts; otherwise, the omnisci_server binary fails to start.

  • Clearing the NVIDIA code cache after upgrading OmniSciDB is a best practice. To clear the nvidia code cache, remove the .nv directory in the home directory of the user running OmniSciDB. If you are running in a Docker container, the code cache is automatically cleared when a new container is launched in the default configuration.

  • Previously, date_trunc(decade,...) truncated to the start of the “1”s year of the decade. For example, DATE_TRUNC('decade', CAST('1969-12-31 23:59:59' AS TIMESTAMP)) would return `1961-01-01 00:00:00`). Now, DATE_TRUNC(decade,...) returns the start of the “0”s year; for example, `1960-01-01 00:00:00`. This change was made for consistency with other SQL systems. To start decades on the “1”s, use the DATEADD function.

New Features and Improvements

  • Array support for the Array type over JDBC.

  • Added support for SELECT DISTINCT in UNION ALL. UNION ALL is currently prerelease and must be explicitly enabled in the server configuration file.

  • Added a query type return to the sql_execute endpoint, allowing API users to determine if a query altered date or a table or was a read-only query.

  • Added support for joins on DECIMAL types.

  • Added support for retrieving metadata for a given statement after running SQLPrepare in ODBC. For example, after calling SQLPrepare, the SQLColAttribute will return metadata for columns involved in the query.

  • Performance improvements on CUDA GPUs, particularly Volta and Turing. OmniSci now generates PTX code targeted at specific GPU architectures, resulting in increased performance for aggregate workloads. Performance of summation on double precision types has increased by 10x in some instances.

  • Increased use of CUDA shared memory, resulting in additional performance increases on aggregate queries in the presence of a group by.

  • sql_validate now returns column descriptors for each projected column in the order in which columns appear in the select clause. Previously, column descriptors could be in any order.

Fixed Issues

  • Resolved an issue where RESTORE TABLE could be exploited to gain shell access on the running OmniSci server.

  • Resolved an issue where incorrect GPU memory requirement estimates for JOIN queries could result in a query that would run on GPU being transferred unnecessarily to CPU.

  • Reduced memory fragmentation during select queries, particularly with approx_count_distinct aggregates. OmniSci recommends dropping caches or restarting the system after upgrading to OmniSci 5.3.0 to make more large pages available for the server.

  • Resolved an issue where a comparison of geometry types could crash. Most comparisons of geometry types are not yet supported.

  • Resolved various crashes when sorting, projecting, or otherwise interacting with geospatial columns. These crashes resulted from an unsupported operation being performed on geospatial data, and now result in error messages.

  • Fixed a crash on Boolean comparisons where the Boolean column was declared NOT NULL.

  • Resolved an issue where DISTINCT * in a subquery was not respected, resulting in an extra rowid being inserted into the subquery result and skewing the overall distribution in the query. Now, rowid is not present in a SELECT * statement unless explicitly projected.

  • Resolved an issue where a syntax error in a SQL statement could cause the aggregator node to crash in a distributed setup.

  • Resolved an issue where a multicolumn group-by window function could return incorrect results.

  • Resolved an issue where the date_trunc function could return incorrect results for dates before the Unix epoch, January 1st 1970.

  • Resolved an issue where dictionary encoded string columns using a shared dictionary would incorrectly have an encoding displayed in SHOW CREATE TABLE;` or `\d`. Now, DDL from a table with columns using a shared dictionary can be copied and pasted directly to create a new, identical table.

  • Resolved an issue where multiple filter expressions using OR could cause a crash if the same column was used on the left side of the expression with different casts.

  • Added logging for OmniSciDB server shutdowns due to exceeding the maximum number of available open files on the system.

  • Resolved an issue where `INSERT INTO` commands sent from the ODBC driver would fail.

  • Fixed an issue where a series of nested queries grouping on float columns could give incorrect results.

  • Fixed an issue where importing geojson files with embedded dates could truncate the date epoch to 0 or NULL.

  • Resolved an issue where ST_Contains queries using the overlaps join framework could crash or return incorrect results.

  • Resolved an issue where importing from a parquet file with multiple row groups could return incorrect results.

  • Resolved an issue in the ODBC driver where incorrect data could be returned for double precision types.

  • Resolved an issue where geospatial joins could return incorrect results.

  • Resolved inconsistencies in argument support for date/time functions. Now, all date/time functions should support literal arguments with or without quotes (for example, `date_part(day, …` and `date_part(‘day’, …)`

  • Resolved a small memory leak in the OmniSciDB SQL parser.

OmniSci Render

Fixed Issues

  • Resolved an issue where the server could crash when a user disconnected if the users render session had timed out.

  • Resolved a crash where switching between different point renders on the same data could cause a crash if hit testing is disabled.

OmniSci Immerse

New Features and Improvements

  • New Combo chart with increased configurability and power:

    • New chart configurations like row/column, stacked/percentage bar, stacked/percentage line and area, line/bar combination.

    • For numerical base dimensions, measures can be configured to display as cumulative and percentage distributions.

    • A new “Top N” experience for charts with a group-by dimension, allowing you to select dimension values dynamically or manually (including a new “Add all” option), as well as the ability to configure sorting logic for Top N.

    • Chart legends can be pinned to the right or superimposed on the chart.

    • The visibility of individual group by series can be toggled on or off from the chart legend

    • Chart orientation can be configured between vertical and horizontal.

    • The min and max of chart axes can be independently locked. Existing bar and combo charts can “duplicate as New Combo chart” at the dashboard level.

  • Chart-specific filters across all chart types, which can be toggled off when not in use.

  • For chart-specific filters that require an exact match on the filter value, you can use “quick filters” to access those filters directly on the chart.

  • A simplified filter panel, with two modes: the existing “Advanced” mode, and a new “Simple mode” focused on simplifying the consumption and interactivity of filters.

  • An updated filter sets experience targeted at simplifying options and offering greater visibility across filter sets.

  • Added sorting by column value for dashboards on the dashboards list.

  • On multi-layer charts, visibility of individual map layers can be set by zoom level.

  • Different map charts can be synced together for pan and zoom actions, regardless of data source.

The New Combo chart, linked pan and zoom, and default filter panel can be configured using feature flags.

  • Resolved issue with global filters adding escapes to string values with underscores or percent marks.

  • Resolved issue in histogram and combo charts where binning min and max values changed after saving and reopening the chart.

  • Resolved issue in the SQL Editor where newly created tables did not appear on the tables list.

  • Resolved issue in pointmap where Boolean values could not be selected for the color parameter.

  • Resolved issue where invalid config did not cause the web server to fail in a visible way.

  • Resolved issue where switching database while viewing a dashboard did not allow the user to open a dashboard in the new database.

  • Resolved issue with database switching where user permissions were set incorrectly.

  • Resolve dissue in the filter panel where time-based filters were displaying local time vs. UTC.

  • Resolved issue where cohort creation errored out on dashboards containing geo-joined multilayer charts.

  • Fixed minor UX and display issues, specific to the dark and light mode themes.

5.2.2 - May 8, 2020

OmniSci release 5.2.2 includes a new feature and fixes two issues.

OmniSciDB

New Feature

  • Added support for geospatial columns in temporary tables.

Fixed Issues

  • Resolved an issue in which a render request and a table modify operation (for example, COPY FROM, DROP TABLE, TRUNCATE TABLE), dispatched simultaneously, could cause a lockup.

  • Fixed an incorrect result for queries that sort based on the result of an aggregate in which the aggregate type is not NULL. This typically occurred with an explicit non-NULL filter in the WHERE clause on the input to the aggregate.

5.2.1 - April 20, 2020

OmniSci release 5.2.1 fixes an issue.

OmniSciDB

Fixed Issue

  • Resolves an issue where OmniSciDB fails to respond correctly to operating system signals in some contexts.

5.2.0 - April 16, 2020

OmniSci release 5.2.0 contains several new features and improvements and fixes a number of issues.

OmniSciDB

New Features and Improvements

  • CUDA requirement is updated to version 10.1. OmniSciDB now requires NVIDIA driver v418.39 or later.

    • The UDF compiler now requires Clang++ v9.0.

  • Updated embedded Apache Arrow to support v0.16.

    • Added INT8 support to Arrow result converter.

  • Multi-fragment hash join iterator added to improve performance on multi-fragment inner joins and geospatial joins.

  • Added NULL support for geospatial types, including in ALTER TABLE ADD COLUMN.

  • Improved performance for query interrupt (currently disabled by default), allowing you to interrupt a query in omnisql (using Ctrl+C) and JDBC (using the Cancel endpoint).

  • Added SQL SHOW commands:

    • SHOW TABLES -- Show all tables the user currently has access to in the logged-in database.

    • SHOW DATABASES -- Show all databases the user can log in to.

    • SHOW CREATE TABLE -- Show the DDL CREATE TABLE command for a given table.

    • SHOW USER SESSIONS -- Show all persisted sessions on the server (superuser only). Expired sessions are still shown; they are removed from session state on login attempt.

  • Added support for the ALTER TABLE DROP COLUMN command.

  • Updates and deletes are now supported on temporary tables.

  • Added additional UDF command-line options for systems using nondefault Clang++ installation locations.

  • Added support for quoted table names in DDL and DML commands. Use quotes if the table name contains special characters or matches a reserved word.

  • Added support for window functions in distributed mode.

  • JDBC driver updates:

    • Supports the cancel method, requesting that the database cancel the current request. The enable-runtime-query-interrupt flag must be set to TRUE in OmniSciDB configuration.

    • Handles JDBC function escape syntax for the fn keyword.

    • Supports the getMetaData endpoint.

    • Implements setSchema as a null operation (OmniSciDB currently does not support schemas) instead of throwing a "method not implemented" error.

  • Added support for EXTRACT(DATEEPOCH from m), where m is a TIMESTAMP column.

  • omnisql now returns a nonzero exit code if the last executed query failed to complete (threw an exception).

  • Improved logging of connection failures when using LDAP, SAML, or other external authentication providers.

  • Added support for COPY TO in distributed mode.

  • Added support for importing compressed parquet files (gzip).

  • Various performance improvements, particularly for join queries, projection queries with order by and/or limit, queries with scalar subqueries, and multicolumn group-by queries.

Fixed Issues

  • Resolved a series of locking sequence errors, which could cause deadlocks when multiple users were interacting with the database and rendering engine at the same time.

  • Improved the ability of omnisci_server to detect a failure in the Calcite service, resulting in automatic restart of omnisci_server when managed by systemd.

  • Resolved an issue where projection queries running in columnar mode could crash the server.

  • Resolved an issue where queries could fail or crash the server with “error code 8”. Those queries are now gracefully retried or aborted, and a correct error message is now displayed (for example, "not enough GPU memory to execute the query".)

  • The geospatial importer is now more tolerant of unsupported types. Instead of causing the import to abort, unsupported types in a shapefile are skipped and a message is logged.

  • OmniSciDB now returns an error when running the OPTIMIZE command on a view. OPTIMIZE is not supported on views.

  • Resolved a crash on binary operations between TINYINT and DECIMAL/NUMERIC types.

  • Resolved a crash when attempting to import to a table with TINYINT columns using StreamImporter or StreamInserter.

  • Resolved an issue where a LogicalValues query (query over VALUES with no table in the FROM clause) with a sort could crash the server.

  • Resolved an issue where SQLImporter failed to import geo datatypes.

  • Disabled ALTER TABLE ADD COLUMN on tables with sort_column. This previously caused the server to crash.

  • Improved handling of special characters in SQL queries, including quotes.

  • Resolved issues where join query results were not updated correctly with table data changes after an UPDATE, DELETE, TRUNCATE, or ALTER command.

  • Resolved an issue where SQL CASE statements with Boolean arguments failed to implicitly cast correctly, resulting in a cast failed error message.

  • Resolved an issue where multistep queries with a sort could crash the server. These queries are typically dispatched for choropleth charts in Immerse.

  • Fixed an issue where a join on a literal or values table could crash the server.

  • Resolved an issue where users created prior to the can_login property being added could not log in.

  • Resolved an issue where some API calls would not properly reset a users idle session duration, resulting in premature idle session timeouts.

  • Fixed an issue where a string dictionary overflow during CREATE TABLE AS SELECT or INSERT INTO AS SELECT could crash the server. Now, an exception is thrown and the query aborts.

OmniSci Render

New Features and Improvements

  • Polygon rendering in cached mode has been deprecated. For migration steps for custom clients, see Migrating Vega Code to Dynamic Poly Rendering.

  • Increased default render-mem-bytes config setting from 500MB to 1GB.

  • Added a new config option, max-concurrent-render-sessions, to set the maximum number of concurrent render session caches. Default value is 500.

Fixed Issue

  • Resolved a hit-test issue when trying to retrieve data from a column that uses LIKE/ILIKE in an expression.

OmniSci Immerse

New Features and Improvements

  • SQL Editor is updated:

    • SQL query formatting is now available, which inserts whitespace for additional readability.

    • You can run a selected portion of the SQL query. Selecting text transforms the “Run query” button to “Run selected”.

    • The table browser supports filtering on column type.

    • From the table browser, clicking on a table or column name shows options for inserting “query snippets,” or a shortcut to common queries that provide additional information about the table and its columns.

    • The query history tab lists previously run queries from the active session, and clicking a query displays previously fetched results. Click the insert icon to insert the query back into the input window to re-run it.

    • You can press tab for autocomplete on queries and resize the results window.

  • Using multiple databases in Immerse has been enhanced:

    • Dashboard URLs are now unique across databases.

    • You can access additional databases from the account dropdown in Immerse, either in the current browser tab or as a new tab.

    • You can access multiple databases at the same time, as long as the user sessions are active.

  • Load time for the dashboards list is reduced significantly.

  • Count of records can now be used as filtering criteria during cohort creation.

  • Error handling is improved.

  • Custom logos can now be configured separately for light and dark themes.

  • Logos can be configured to deep-link to a specific URL.

Fixed Issues

  • Fixed formatting issue where values above 100M were rounded to two significant digits; additional precision is added to the default number formats.

  • Fixed issue on the histogram chart where the last bin was missing. When you log in one browser tab, you are logged out across all other browser tabs.

  • Added tooltips in column section to make reading long column names easier.

  • Fixed issue with custom measures created with CASE statements not rendering correctly in choropleths.

  • Fixed issue where shapefile imports failed on files with uppercase extensions.

  • Fixed issue where appending data errored out when import settings were changed.

  • In heatmaps, dates are now sorted correctly--by time--instead of alphabetically.

  • Upgrading from HTTP to HTTPS now works correctly.

5.1.2 - March 2, 2020

OmniSci release 5.1.2 contains new features and several fixed issues.

OmniSciDB

New Features and Improvements

  • Added support for SQL VALUES syntax, allowing literals to be used inline in SQL query expressions.

  • Added calcite-service-timeout to the OmniSciDB server configuration parameters, allowing the timeout between OmniSciDB and the Calcite process to be increased for high utilization systems. See calcite-service-timeout on the Configuration Parameters page.

Fixed Issues

  • Resolved an issue where multiple, concurrent shapefile imports from Immerse could fail.

  • Resolved an issue where concurrent imports and render queries could cause a crash.

  • Fixed ALTER TABLE ADD COLUMN in the presence of sharded tables. Previously, the new column was not added to all shards.

  • Removed a dependency on nvcc being available in the user’s PATH when compiling C/C++ UDFs. CUDA is still required, but nvcc does not need to be accessible to OmniSciDB.

  • Removed GPL-licensed com.unboundid.unboundid-ldapsdk package that had been included in mapd.jar.

OmniSci Render

Fixed Issue

  • Added support for transient string dictionary columns in ordinal scales.

OmniSci Immerse

New Features and Improvements

  • Added the ability for polygon borders to be the same color as the polygon fill color, rather than always defaulting to white.

  • Added the ability to display a list of databases to choose from at login, configured via servers.json. See login_panel_databases.

5.1.1 - February 18, 2020

OmniSci release 5.1.1 contains one significant fixed issue.

OmniSciDB

Fixed Issue

  • Resolves an issue with OmniSciDB 5.1.0 on several cloud service provider marketplaces.

5.1.0 - February 5, 2020

OmniSci release 5.1.0 contains many new features and fixes.

OmniSciDB

New Features and Improvements

  • Added an option to the web server which allows users to disable TLS certificate verification on startup. While this is not recommended for production deployments, services running in unencrypted mode in a container require this option to properly start using the startomnisci script. The web server backendUrl parameter now also respects https, if configured in the OmniSciDB config.

  • Enhanced OmniSciDB log files to include inbound client IP address and protocol for all endpoints and additional logging for import queries when CUDA contexts fail to be created.

  • Improved error handling for View queries. Errors now display the view DDL and instructions for resolving the underlying issue that prevents the view from being executed.

  • Improved support for EXISTS and NOT EXISTS subqueries.

  • Added support for LINESTRING, POLYGON, and MULTIPOLYGON in user-defined functions.

  • Improved logging of SAML and LDAP roles and associated actions when authenticating with an identity provider. Logs are written to the INFO log when a user establishes a new session.

  • Added support for the can_login user attribute. When set to false, the user is unable to log in to any database.

  • Improved performance for multi-column GROUP BY queries, as well as single column group by queries with high cardinality. Performance improvement varies depending on data volume and available hardware, but most use cases can expect a 1.5 to 2x performance increase over OmniSciDB 5.0.

  • CREATE TABLE AS SELECT queries now support an optional IF NOT EXISTS clause. For example:

    CREATE TABLE IF NOT EXISTS test AS SELECT. . .
  • Improved the resiliency of query parse errors, including allowing for more special characters inside quoted strings.

  • Added support for UPDATE via join with a subquery in the WHERE clause.

  • Added support for DELETE via join queries.

  • Added support for CREATE TEMPORARY TABLE.

  • Added support for JDBC authentication using a PKI certificate.

  • Added support for signed SSL certificates with a non-system certificate authority (-ssl-trust-ca).

Fixed Issues

  • Resolved an issue where embedded tabs or new lines could cause a crash during query parse.

  • Resolved an issue where MIN/MAX/SUM over a NOT NULL column could return the NULL sentinel representation instead of NULL when no rows passed the given filter.

  • Resolved an issue where SSL keystore passwords were visible in the system process list when OmniSciDB was running.

  • Resolved an issue where adding a NULL to a date or timestamp value incorrectly resulted in an addition. Adding a NULL to a date or timestamp now generates an exception.

  • Suppressed extraneous log messages when the query completion hints system was activated (typically either by hitting the tab key in `omnisql` or by using the SQL Editor in Immerse).

  • Fixed an issue where the GRANT and REVOKE command for dashboard privileges failed when running in distributed mode.

  • Resolved various issues when updating variable length datatypes (arrays) containing NULL values.

  • Resolved an issue where overflow / underflow errors were not detected during import or cast operations on TIMESTAMP types.

  • Improved the stability of JOIN queries in distributed mode.

  • Resolved an issue where INSERT INTO TABLE AS SELECT using geospatial columns could incorrectly throw a "column encoding sizes do not match" error.

  • Resolved an issue where connections made to the OmniSciDB HTTP(S) endpoint would be refused when running warmup queries.

  • Resolved an issue where the log_severity configuration file option failed to read quoted values.

  • Resolved an issue where taking the absolute value of a TINYINT column type using the ABS() function could crash the server.

  • Improved type checking when comparing geospatial types. Now, all geospatial types are required to have the same SRID, if specified.

OmniSci Render

Fixed Issues

  • Resolved an issue where hit-testing results might be incorrect when rendering cached polygons.

  • Resolved an issue where hit-testing an accumulation render in distributed mode would return an empty result when using multi-gpu-configured leaves.

  • Resolved an issue where users attempting to render the result of a view were required to have access to the underlying table. Now, only access to the view is required for render query execution.

  • Resolved an issue where accumulation renders could crash in distributed mode when the results are relatively unbalanced across the leaves.

  • Resolved an issue where an incorrect buffer layout error could be thrown incorrectly when using Vega transforms in successive renders.

OmniSci Immerse

New Features and Improvements

  • Log-ins are fully sessionized and persist across page refreshes.

  • Pie chart now supports “All Others” and percentage labels.

  • Cohorts can now be built with aggregation-based filters.

  • New filter sets can be created through duplicating existing filter sets.

  • Dashboard URLs now link to individual filter sets.

  • The top level "toggle off" filters option now supports toggling those filters back on.

  • A 5-second refresh rate has been added as the lowest refresh setting for dashboards.

  • Added ability to increase the size of bubbles on the Bubble chart, and to be able to manually configure the MIN and MAX size of bubbles when there is a size measure.

  • Improved display and messaging of error modals.

  • Added a label for the current database in the account settings dropdown.

Fixed Issues

  • Fixed error handling resulting in popup loop due to incorrect Custom Measure syntax, on choropleth rendering, and during specific cases of chart type switching.

  • Fixed error handling where there was no error information presented when a dashboard name was duplicated.

  • Fixed an issue where after adding a color dimension on one source, the user is unable to change other sources to the bar style.

  • Fixed an issue where changes to global filters were not picked up by the Save button.

  • Fixed an issue where there was a shape filter delay on the zoom in/out button action.

  • Fixed an issue where Bar chart inverse filters did not correctly account for NULLs.

  • Fixed an issue where Bar and Table charts were showing errors when switching to charts with a color dimension.

  • Fixed an issue in Bubble chart where switching to an extract unit caused Immerse to crash.

  • Fixed issues related to dark and light theme font color inconsistencies.

  • Fixed an issue where chart filters on extracted timestamps appeared incorrectly in the filter panel when time series charts were brushed.

  • Fixed a formatting issue causing x-axis labels to only show two significant digits.

  • Fixed an issue where certain filters from charts were not showing up in the filter panel.

  • Fixed an issue where filtering on a measures only Table chart caused Immerse to be in an error state.

5.0.1 - November 18, 2019

OmniSci release 5.0.1 contains two critical fixes.

  • Fixed an issue where CREATE TABLE AS SELECT or INSERT INTO TABLE AS SELECT could return incorrect results in distributed mode.

  • Fixed an issue where projection queries over sharded tables could return incorrect results in GPU mode.

5.0 - November 14, 2019

OmniSci release 5.0 contains many new features and fixes.

OmniSciDB

New Features and Improvements

  • OmniSciDB now supports certain forms of correlated subqueries.

  • OmniSciDB now supports update via subquery, to allow for updating a table based on calculations performed on another table.

  • Added support for binary dump/restore of database tables.

  • Added support for compile-time registered user-defined functions in C++, and experimental support for runtime user-defined SQL functions and table functions in Python via the Remote Backend Compiler (see omnisci_examples folder within the OmniSci JupyterLab instance for example UDF/UDTFs).

  • Multistep queries that generate large, intermediate result sets now execute up to 2.5 times faster by leveraging new JIT code generator for reductions and optimized columnarization of intermediate query results.

  • Added support for LIMIT 0.

  • Added SAML support for auth0 and ping, and Oracle Access Manager.

  • Added support for window functions inside complex expressions.

  • Standardized encrypted transport options across ODBC, JDBC, SQLImporter, and omnisql.

  • Added an option to log LLVM IR or NVIDIA PTX to a log file per query-step using --log-channels.

  • Added support for geospatial POINT construction from literal or computed values.

  • Added support for SQL operators IS TRUE and IS NOT TRUE.

  • Added support for SQL operators EXISTS and NOT EXISTS.

  • Added support for geospatial types to StreamImporter.

  • Added support for updates through joins.

  • Docker editions now support Ubuntu 18.04.

  • Generalized performance and optimization improvements.

Fixed Issues

  • Aggregating empty results in distributed mode could cause a crash.

  • The Apache Arrow interface (sql_execute_df) properly handles empty results.

  • Fixed an issue where join queries could give no results in distributed mode, even if the tables were properly sharded or replicated.

  • Fixed an issue where time zones could be parsed incorrectly on import of date/time/timestamp types.

  • Improved clarity of the get_db_objects_for_grantee() (Thrift) / \object_privileges (omnisql) APIs and resolved an issue where all privileges were not always included.

  • Fixed an issue where Calcite could crash on malformed queries.

  • Resolved issues where aggregate functions could overflow, returning an incorrect result.

  • Resolved an issue where the S3 importer could crash when attempting to import from a SSL encrypted OmniSciDB server.

  • Resolved an issue where small deviations in image appearance could occur during anti aliasing.

  • Resolved an issue where adding a column to a sharded table could corrupt the table.

  • Resolved an issue where commas in log messages could cause the logs to be improperly parsed by OmniSciDB or third-party utilities.

  • Resolved an issue where the ARRAY constructor could crash in the presence of a sort or limit.

  • Fixed an issue importing MULTIPOLYGON columns from PostGIS via SQL Importer.

  • Resolved an issue where NULL was not handled correctly in AND/OR operations.

  • Resolved an issue where creating a new table via CTAS would fail with a parse error if the table name contained the word with.

  • Resolved an issue where CTAS would not properly apply the LIMIT or OFFSET if present in the query.

  • Resolved an issue where DECIMAL columns could overflow when used in a CTAS query.

  • Fixed a crash that could occur when a user reauthenticates after session timeout.

  • Fixed a crash when filtering geospatial columns by IS NULL/IS NOT NULL. (Geospatial nullability is not yet supported.)

  • Resolved an issue where compressed POINTs could be mishandled during result set iteration.

  • Addressed known crashes in aggregators with variable-length arguments, including various geometry types and nonencoded strings.

  • Fixed an issue during OmniSci ODBC Driver DSN Setup, where the “Ignore Invalid Certificates (not recommended)” field is unavailable in the dialog box.

  • Handle more gracefully a Calcite exception error that caused the server to abort.

  • Fixed a crash occurring when a prior query result was passed through a SQL function using a cast.

  • Resolved a crash that could occur when running aggregate functions on geospatial types in distributed mode.

  • Fixed an issue where binary operations on TINYINT types could crash.

  • LDAP and SAML role synchronization is now case insensitive, matching OmniSciDB internal representation.

  • Fixed an issue where combining columnar support with a shared table under ORDER BY or LIMIT could return an incorrect result.

  • Fixed an issue where a long query would time out a session, invalidating the operation or series of operations that required a longer execution time.

  • Resolved an issue where a table could be created with a specified shard_key but without a shard_count.

  • Fixed an issue where the AVG aggregate function is not properly cast when passing floating-point data.

  • Fixed an issue where SELECT queries with no filter and a LIMIT could return incorrect results on a table where one or more rows have been deleted.

  • Fixed an issue where a JOIN may not return correct results on a distributed setup.

  • Resolved issue where embedded new line characters could cause CTAS or ITAS queries to be rejected.

OmniSci Render

New Features and Improvements

  • SPIRV is now the default shader IR, and the --enable-spirv flag has been removed. Fallback to disable SPIRV is supported automatically.

  • The angle (rotation in degrees & radians) property is now available in Vega symbol marks.

  • The wedge property is now available in Vega symbol shapes.

Fixed Issues

  • Fixed a choropleth rendering issue when a FLOAT column is used to drive the color.

  • Fixed a data underflow issue for integer inputs for quantitative/qualitative scales.

  • Addressed possible validation issue when a floating-point column is used as an input for scales with explicit integral values defined for the domain.

OmniSci Immerse

New Features and Improvements

  • New filter panel that delivers major improvements, including:

    • Filter Sets providing access to different sets of filters in one dashboard.

    • The ability to toggle filters on and off, in addition to removing them.

    • The ability to visualize and modify cross-filters directly from the filter panel.

    • The ability to visualize from which charts cross-filters are generated.

    • The ability to filter columns by type, making it easier to find the correct column for a filter.

    • A custom filter builder that gives visual access to table columns for greater context and easier generation of filters

    • The ability to filter a text column on whether it starts with or end withs a certain pattern.

    • The ability to multi-select patterns on which to filter a text column.

    • Cohort building and analysis capabilities, including:

      • The ability to use global and cross-filters to interactively build cohorts of interest.

      • The ability to apply a cohort as a dashboard filter, either within the existing filter set or in a new filter set.

  • Data Catalog, a repository of datasets that users can use to enhance existing analyses.

  • Frontend-rendered choropleths now support the selection of base map layers.

  • Duplicate queries in charts were significantly reduced for performance improvements.