Releases: secretflow/scql
Releases · secretflow/scql
1.0.0b1
What's Changed
Added
- Added DeleteProject API to improve project lifecycle management
- Enhanced window functions: Added support for
RANKand updatedPERCENT_RANKto align with standard SQL semantics - Added support for
CAST(strField AS DATETIME)and automatic appending of a timezone to timezoneless timestamp literals in queries
Changed
- Adjusted numeric type mappings:
floatnow maps tofloat64,intmaps toint64to improve default precision - Configuration standardization: Added configuration negotiation logic to Engine and cleaned up/adjusted some configuration items
- PSI performance optimization: Under RR22 protocol, support adjusting sender/receiver roles in certain scenarios to reduce overall execution time
Fixed
- Optimized Engine session state transition logic to prevent result reporting failures in timeout scenarios
- Fixed improper default value setting issue in Broker server protocol, now supports empty default values
- Fixed SQL parsing exceptions in single-party CROSS JOIN and NESTED JOIN scenarios
New Contributors
- @yujun4464 made their first contribution in #637
Full Changelog: 0.9.4b1...1.0.0b1
0.9.4b1
What's Changed
Added
- Added Archive API to support project archiving.
- Enhanced time-type data processing capability: support
STR_TO_DATEfunction and implicit conversion from string to time types. - Supported richer expression of statements:
PERCENTILE_DISC,BETWEEN AND,REPLACE, etc.
Changed
- Optimized data source reading, improving streaming processing capabilities.
- Optimized
JOINprocess to eliminate the need for additionalPLAINTEXT_AFTER_JOINCCL for non-result-receiving parties on join keys.
Fixed
- Resolved the issue with compare subquery exceptions in aggregation scenarios.
- Fixed column disorder issues in the project tables.
- Resolved problems in LogicalOptimizer to prevent the removal of LogicalProjection nodes that could lead to performance and Tensor property inference issues.
Full Changelog: 0.9.3b1...0.9.4b1
0.9.3b1
Added
- Support for datasource
Doris 2.1.7. - Support
PERCENT_RANKwindow function. - Support various string-related single-party operators, including
UPPER,LOWER,SUBSTRING,TRIM,CONCATand others. - Support
Scalar Subquery, the subquery in the right is scalar value, e.g. SELECT * FROM ta JOIN tb ON ta.ID = tb.ID WHERE ta.salary > (SELECT AVG(ta.salary) FROM ta). - Support
Compare Subquery, allows comparison with ANY or ALL of the subquery results, e.g. SELECT * FROM ta JOIN tb ON ta.ID = tb.ID WHERE ta.salary > ANY(SELECT ta.salary FROM ta), However, comparisons using = or != are not supported in the HAVING clause. For instance, HAVING SUM(ta.salary) = ANY(SELECT salary FROM ta) is not supported. - Added FAQ doc by @tyrone-yu in #432
Changed
- Improved
JOINandINperformance in streaming mode. - Implemented a more reliable
secret join algorithm(only works in SEMI2K protocol) inspired by Scape. - Optimized the column pruning rule for Join, Selection, and Window nodes in the Logical Optimizer to more effectively remove redundant columns.
Fixed
- Restricted access to SCQLEngine metrics using additional paths like "engine_ip:engine_port/metrics/additional/path".
- Prevented creation of tables with the same ref_table name but different db_type
- Fixed job creation error when selecting 'OPRF-PSI' but 'server hint' was missing.
Full Changelog: 0.9.2b1...0.9.3b1
0.9.2b1
What's Changed
Added
- Enhancement: Support
JOINafterUNIONoperation. - Add SCQL Agent to facilitate running SCQL query tasks in Kuscia, making it easier to integrate into SecretPad.
- [feat] write query result into multi-parties via "select ... into outfile" statement by @ancongxue in #391 co-authored-by @jingshi-ant
- Support datasource
ODPSvia integrating with dataproxy. - Support
order byby @fucangfy . - Support a lot of single-party operators, such as
ABS,ASIN,EXP,FLOOR,SQRTetc by @fucangfy . - Support "postgres" and "postgresql" in kuscia datamesh by @tyrone-yu in #424
Changed
- Improve the
JOINandINperformance via integrating RR22 PSI by @tyrone-yu . - Improve the aggregation with group by performance if
reveal_group_countenabled by @tyrone-yu.
Fixed
- Fixed an occasional crash issue when canceling query job.
- Fixed
select now()is not supported issue by @fucangfy . - Fix compile erorr without
-c optoption by @tongke6 in #389 - fix macos engine ut by @jingshi-ant in #407
- Bump golang.org/x/net from 0.26.0 to 0.33.0 by @tongke6 in #425
- avoid mix usage of uint64_t and size_t by @jingshi-ant in #423
New Contributors
- @ancongxue made their first contribution in #391
Full Changelog: 0.9.1b1...0.9.2b1
0.9.1b1
Added
- Support window function ROW_NUMBER() with PARTITION BY clause and ORDER BY clause.
- Add new CCL constraint REVAL_RANK.
- Add ExplainQuery API with path /intra/query/explain.
- Support INSERT INTO SELECT syntax to allow writing query result back to db (mysql/sqlite/postgres).
- Support trim function.
Changed
- Improved the job watcher to work better in broker clustered mode.
- Breaking: broker db schema has incompatible changes, please check here for details.
Full Changelog: 0.9.0b1...0.9.1b1
0.9.0b1
What's Changed
Added
- Support write outfile to OSS/MINIO via
select intoquery. - Support
sin,cos,acosfunction. - Support
geodistfunction. - Broker support using postgres as metadata storage.
Changed
- Reduce the memory peak of large-scale intersection tasks through streaming execution.
- Link tcmalloc to solve the problem of memory increase.
Fixed
- Fix crashes when dumpfile exceeds 2GB string column.
- Reduce the probability of graph checksum inconsistency issues.
Full Changelog: 0.8.1b1...0.9.0b1
Note: Cross-version compatibility is not currently guaranteed, please make sure all parties use the same version.
0.8.1b1
Added
- [feature] Support session-based log isolation functioality in the SCQL Engine.
- [feature] Support consul-based broker registration/discovery services, providing ACL/TLS authentication.
0.8.0b2
0.8.0b1
What's Changed
Added
- [feature] Support obtaining query job progress information via
FetchResultRPC. - [feature] Support project/query level configs.
- [feature] Support handling NULL for private data: including Arithmetic, Logic, Aggregation, etc., {IS [NOT] NULL, IFNULL, COALESCE} are also supported.
- [feature] Support port isolation for engine link service and control panel service (RunExecutionPlan).
- [enhancement] Add new CCL constraint
PLAINTEXT_AS_JOIN_PAYLOAD.
Note: Cross-version compatibility is not currently guaranteed, please make sure all parties use the same version.
0.7.0b1
Added
- Added CheckAndUpdate API for self-recovery when status is inconsistent in P2P mode
Fixed
- Fixed the problem that Broker was unable to detect SCQLEngine crashes or being killed by OOM