1.30.22

1.30.22.6

New Features

  • The DolphinDB Python API now supports Python 3.11.

  • The PROTOCOL_DDB protocol now supports the Decimal128 data type.

Enhancements

  • The drop method now behaves differently when the input is a string or single-element list.

  • To avoid potential issues, strings exceeding 64KB cannot be uploaded.

Bug Fixes

  • Fixed an issue related to uploading dictionaries that contained data types such as UUID, IPADDR, and INT128.

  • Fixed improper destruction of members in the MultithreadedTableWriter class.

  • Fixed the MultithreadedTableWriter aborting on invalid data inserts in some cases.

  • Fixed a segmentation fault when uploading DataFrames, particularly when the first value in a Decimal32/64/128 column was NULL.

  • Fixed an issue which could led to errors or data inconsistencies when uploading DataFrames with a datetime64[us] column.

1.30.22.5

Bug Fixes

  • Fixed an issue where NumPy ndarrays configured with an unexpected memory order became disordered after upload.

  • Fixed compatibility issues with TableAppender, TableUpserter, and PartitionedTableAppender when appending data to tables in a lower DolphinDB server version.

  • Fixed an issue where, under specific circumstances, null values in array vectors were missing after upload.

1.30.22.4

New Features

  • The PROTOCOL_ARROW serialization protocol is now supported on all operating systems for the DolphinDB Python API.

  • Added support for uploading Pandas 2.0 DataFrames that use PyArrow as the storage backend.

  • Explicit type conversions to Decimal32 and Decimal64 now support specifying scale.

1.30.22.3

New Features

  • The data transmission protocol PROTOCOL_DDB now supports uploading and downloading array vectors of Decimal32 and Decimal64 data types.

1.30.22.2

New Features

  • The run() method for Session and DBConnection classes has new parameters for specifying task parallelism and priority.
  • Session objects now implement locks to ensure thread safety.

Improvements

  • The Table where method now generates SQL queries without adding parentheses around the passed condition when only a single condition is provided.
  • Constructing a Table object with the dbPath and data parameters now loads the table using the same logic as the Session loadTable method.
  • The DolphinDB Python API now supports NumPy 1.24.4. The previous version was compatible with NumPy 1.18 - 1.23.4.

Bug Fixes

  • Fixed SQL query generation when combining multiple filtering conditions with the Table.where method to match the intended logic.

  • Fixed an issue that previously caused the Table.drop method to not execute as expected under certain conditions.

  • The Table.showSQL method now generates the correct SQL statement after applying the where method to TableUpdate and TableDelete objects (which are returned by update and delete).

  • Fixed an issue where non-Table objects were incorrectly compressed when being uploaded using the Session.upload method.

  • Fixed an issue where the SQL statements generated from Table methods were incorrectly concatenated.

  • Fixed internal parameter handling issues that previously caused the Table.showSQL method to generate SQL statements with incorrect logic.

1.30.22.1

New Features

  • The MultithreadedTableWriter now supports automatic reconnection when writing to stream tables.

  • A __DolphinDB_Type__ attribute can now be specified when uploading DataFrames to explicitly cast columns into particular DolphinDB data types.

  • The Session and DBConnectionPool classes now support a new show_output parameter to specify whether to print the output of script executions in the Python terminal.

  • Support for uploading and downloading NumPy data in C order.

  • Classes TableAppender (previously known as: tableAppender), TableUpserter (previously known as: tableUpsert), and PartitionedTableAppender now support auto data type conversion based on the table schema.

Improvements

  • The old README file for the DolphinDB Python API is deprecated and no longer maintained. Please use the new DolphinDB Python API manual going forward for up-to-date documentation on the latest version.

  • Enhanced message texts.

  • The class "session" has been renamed to "Session". The old class name is still supported for backwards compatibility.

  • The class previously named "tableAppender" has been renamed to "TableAppender". The old class name is still supported for backwards compatibility.

  • The class previously named "tableUpsert" has been renamed to "TableUpserter". The old class name is still supported for backwards compatibility.

  • An error message will be reported if something goes wrong with the handler during stream data subscription.

  • The logic for handling garbled or corrupted string data has been improved.

  • The message that was previously printed when a Table object is destructed has been removed.

  • Optimized the performance of TableUpserter.

Bug Fixes

  • Fixed an issue where a TableAppender (previously known as: tableAppender), TableUpserter (previously known as: tableUpsert), or PartitionedTableAppender failed to obtain a reference to a Session or a DBConnectionPool as the object had already been destructed.

  • Fixed an issue where DBConnectionPool was destructed without calling shutDown(), causing the process to get stuck.

  • Fixed occasional message parsing failures when subscribing to data streams.

  • Removed unnecessary warning messages when uploading array vectors of BLOB, INT128, UUID, or IPADDR type using a TableAppender (previously known as: tableAppender), TableUpserter (previously known as: tableUpsert), or PartitionedTableAppender.

  • Fixed an issue with the order of execution for queries containing multiple "where" conditions.