All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Added
for new features.
Changed
for changes in existing functionality.
Deprecated
for soon-to-be removed features.
Removed
for now removed features.
Fixed
for any bug fixes.
Security
in case of vulnerabilities.
- Enhancement: Support
JOIN
afterUNION
operation. - Add SCQL Agent to facilitate running SCQL query tasks in Kuscia, making it easier to integrate into SecretPad.
- Support writing results into multi-parties via
SELECT INTO OUTFILE
syntax. - Support datasource
ODPS
via integrating with dataproxy. - Support
order by
. - Support a lot of single-party operators, such as
ABS
,ASIN
,EXP
,FLOOR
,SQRT
etc.
- Improve the
JOIN
andIN
performance via integrating RR22 PSI. - Improve the aggregation with group by performance if
reveal_group_count
enabled.
- Fixed an occasional crash issue when canceling query job.
- Fixed
select now()
is not supported issue.
- 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.
- Improved the job watcher to work better in broker clustered mode.
- Support write outfile to OSS/MINIO via
select into
query. - Support
sin
,cos
,acos
function. - Support
geodist
function. - Broker support using postgres as metadata storage.
- Reduce the memory peak of large-scale intersection tasks through streaming execution.
- Link tcmalloc to solve the problem of memory increase.
- Fix crashes when dumpfile exceeds 2GB string column.
- Reduce the probability of graph checksum inconsistency issues.
- Support session-based log isolation functioality in the SCQL Engine.
- Support consul-based broker registration/discovery services, providing ACL/TLS authentication.
- Enhanced
FetchResult
RPC andbrokerctl get result
command to report job progress when result is not ready. - Support project/query level configs
- Support NULL for private data: including Arithmetic, Logic, Aggregation, etc., {IS [NOT] NULL, IFNULL, COALESCE} are also supported.
- Support port isolation for engine link service and control panel service (RunExecutionPlan).
- Add new CCL constraint
PLAINTEXT_AS_JOIN_PAYLOAD
.
- breaking: The response value type of Broker API
DoQuery
andFetchResult
have incompatible changes.
- Added CheckAndUpdate API for self-recovery when status is inconsistent in P2P mode.
- Fixed the problem that Broker was unable to detect SCQLEngine crashes or being killed by OOM.
- Support for RSA key pairs in SCQLBroker.
- Support running on kuscia and scheduling SCQLEngine dynamic via kuscia job.
- Added
dry_run
parameter in DoQuery request, it could be used to check query syntax and CCL without actually executing the query. - Improve Broker high availability, support depolying in multi-node cluster deployment.
- Support reading csv from OSS/MINIO.
- breaking: Reshape column data type, data type
LONG
is deprecated. - breaking: Modify table schema in broker storage for P2P mode.
- Added support for HTTP data source router.
- breaking: Add table members in broker storage for P2P mode.
- Speed up GROUP BY with Radix Sort.
- Adjusted configuration items for SCQLEngine and SCQLBroker.
- Fixed check for grant ccl in P2P mode.
- Added support for P2P mode, no longer need to rely on a trusted third party.
- Added support for {datetime, timestamp} data types, as well as related operations.
- Support using ArrowSQL as a data source for Engine
- Added support for {Limit Cast Mod} operators.
- Polished document outline.
- Optimize SCQLEngine memory usage, release unused tensors immediately.
- Added warning information to the query result.
- Added support for {LEFT JOIN, RIGHT JOIN, CASE WHEN, IF} operators
- Speed up GROUP BY with HEU in some scenarios.
- Optimized to support billion-level PSI scenarios.
- Drop GRM from SCQL awareness. We extend the syntax of create user statement and modify the syntax of create table statement.
- Used json string format to configure spu runtime in scdb yaml conf.
- Speed up JOIN, IN with Unbalanced PSI in scenarios with unbalanced data.
- Added support for union operator.
- Added support for reading CSV files as a data source for Engine.
- Added support for using PostgreSQL as a database for Engine.
- Added support for change password with ALTER USER statement.
- Added support for removing table-level and database-level permissions with the REVOKE statement.
- Added support for structured audit log.
- Added support for the float64 data type in the Engine.
- Added the Chinese documentation.
- Change some description in document.
- Enrich test cases.
- Enhanced support for security protocols of Cheetah and ABY3.
- Optimized GROUP BY logic.
- Optimized execution plan nodes.
- Optimized the execution logic of the runSQL.
- Optimized the three party ccl in join node.
- SCQL init release