Bodo 2023.1 Release (Date: 01/06/2023)¶
New Features and Improvements¶
Bodo:
- Added support for returning timezone aware timestamp scalars with DataFrame attributes iat and iloc.
- Support for comparison operators between timezone aware Timestamp values in Series, array, and scalars.
- Improved the performance of coalesce for string columns.
- Improved performance on dictionary encoded columns for coalesce and support for dictionary encoded output.
- Support for tz-aware data in pd.concat.
- pd.merge now supports cross join type (how=”cross”). Cross joins in BodoSQL are now significantly faster and more scalable.
- Supported passing timezone to pd.Timestamp.now().
- Support for comparison operators between Timestamps (both timezone aware and timezone naive) and datetime.date values in Series, array, and scalars.
BodoSQL:
Added support for the following functions:
- CURRENT_TIMESTAMP
- DATE_PART
- GETDATE
- DATEADD (in the form DATEADD(unit_string_literal, integer_amount, starting_datetime))
- TIMEADD
- TO_BOOLEAN / TRY_TO_BOOLEAN
- TO_CHAR / TO_VARCHAR
- CHARINDEX (not supported for binary data)
- POSITION (only in the form POSITION(X IN Y), not supported for binary data)
- INSERT (behavior when numerical arguments are negative is currently not well defined)
- STARTSWITH / ENDSWITH
- RTRIMMED_LENGTH
- MODE (only as a window function, not as a generic aggregation)
- RATIO_TO_REPORT
- BOOLOR_AGG
Parity Improvements:
- Added support for timezone aware data in all BodoSQL datetime functions.
- Adjusted TIMESTAMPDIFF to obey Snowflake SQL rounding rules (i.e. ignoring all units smaller than the selected unit).
- Support for loading views and other non-standard tables with the SnowflakeCatalog.
- Support for all join types offered by Snowflake.
- Support for tz-aware data outputs in Case statements.
Other Improvements:
- Multiple top-level calls to window functions will now compile faster in BodoSQL if they use the same partition and order.
- Snowflake writes with df.to_sql can now use the more performant direct upload strategy for Azure based Snowflake accounts.
- Snowflake I/O (read and write) no longer requires the snowflake-sqlalchemy package.
- Improved performance for reading string data in compressed format from Snowflake.
- Performance Warning if running Bodo and Snowflake in different cloud regions.
- Added support for returning timezone aware timestamp scalars with Series attributes iat, iloc, loc and regular getitem.