Skip to content

merge: from main to 3.0#35103

Merged
guanshengliang merged 7 commits into3.0from
merge/mainto3.0
Apr 10, 2026
Merged

merge: from main to 3.0#35103
guanshengliang merged 7 commits into3.0from
merge/mainto3.0

Conversation

@guanshengliang
Copy link
Copy Markdown
Contributor

Description

Issue(s)

  • Close/close/Fix/fix/Resolve/resolve: Issue Link

Checklist

Please check the items in the checklist if applicable.

  • Is the user manual updated?
  • Are the test cases passed and automated?
  • Is there no significant decrease in test coverage?

facetosea and others added 7 commits April 10, 2026 10:21
* feat: Enhance TDgpt installer with resource package support

- Added support for downloading and installing a TDgpt resource package via a configurable URL in the installer.
- Updated installer UI to allow users to choose between downloading the resource package or skipping it.
- Implemented logic to check for existing resource assets and prompt users accordingly.
- Modified the installation script to handle the new resource package URL and integrate it into the installation process.
- Updated the Python runtime handling to ensure compatibility with the new resource package structure.
- Enhanced logging to provide clearer information about the resource package download and installation status.

* feat: Add resource package handling and improve error reporting in Windows installer

* feat: Enhance TDgpt installer with resource package versioning and improved URL handling

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: Enhance Windows installer with download progress tracking and size formatting

* feat: Update TDgpt installer to support model resource packages and improve bundle handling

* fix: Update type imports in install.py for consistency

---------

Co-authored-by: support-platform <it@taosdata.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Updated the CI workflow to clean the build directory before restoring docs.
Copilot AI review requested due to automatic review settings April 10, 2026 06:36
@guanshengliang guanshengliang requested review from a team, dapan1121, feici02 and zitsen as code owners April 10, 2026 06:36
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR merges recent changes from main into the 3.0 branch, bringing over updates across TDgpt Windows packaging/installer flows, SQL/executor/function behavior (notably GROUP_CONCAT and window execution), taos-tools dump-out error handling, test coverage additions, and connector/doc version bumps.

Changes:

  • Update TDgpt Windows installer/packaging to bundle a Python runtime, separate “main venv” vs “model resource” offline packages, and optionally download model resources via a configured URL.
  • Fix/extend SQL execution and function behavior (e.g., GROUP_CONCAT separator + NULL handling; merge-aligned interval scalar expression application) and expand regression tests (external window + aggregates).
  • Improve taosdump dump-out error propagation and update CI/test dependencies (taos-ws-py 0.6.8) plus corresponding documentation.

Reviewed changes

Copilot reviewed 33 out of 34 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
tools/tdgpt/script/install.py Adds model resource package URL support, download progress, offline import adjustments, and richer error reporting.
tools/tdgpt/requirements_ess.txt Removes tensorflow-cpu from the “ess” requirements set.
tools/tdgpt/packaging/win_release.py Adds default model resource package URL/version wiring and bundles Python runtime into installer payload.
tools/tdgpt/packaging/installer/tdgpt.iss Installer UI/logic updated for model resource package install/download, process stop/lock handling, and bundling python/.
tools/tdgpt/packaging/build_offline_assets.py Refactors offline bundle building to support bundle kinds (venv/model/combined) and gzip outputs + manifest enhancements.
tools/tdgpt/packaging/README.md Documents new resource package discovery/download behavior and wrapper default behavior updates.
tools/tdgpt/packaging/README-CN.md Chinese documentation updates mirroring packaging/installer behavior changes.
tools/tdgpt/INSTALL.md Notes upgrade behavior stopping existing services before replacing packaged files.
tools/tdgpt/INSTALL-CN.md Chinese install notes updated for upgrade service stop behavior.
tools/taos-tools/src/taosdump.c Adds dump-out error counting and tighter failure propagation; restructures AVRO dump write loop.
tools/taos-tools/inc/dump.h Updates queryDbForDumpOutOffset signature to match implementation changes.
source/libs/function/src/builtinsimpl.c Updates GROUP_CONCAT implementation to avoid separator bugs and handle NULL inputs correctly.
source/libs/executor/src/timewindowoperator.c Applies scalar expressions during merge-aligned interval aggregation (for window expr support).
source/libs/executor/src/externalwindowoperator.c Removes noisy debug logging in external window merge-aligned path.
test/cases/13-TimeSeriesExt/08-ExternalWindow/test_external.py Adds more aggregate coverage in external window tests; adjusts schema/data accordingly.
test/cases/11-Functions/02-Aggregate/test_fun_agg_leastsquares.py Adds regression test covering leastsquares on duplicate timestamps across child tables.
test/cases/11-Functions/02-Aggregate/test_agg_gconcat.py Adds comprehensive GROUP_CONCAT regression coverage across separators, NULL handling, windows, grouping.
tests/ci/dockerfile_ci Bumps taos-ws-py to 0.6.8 in CI image.
tests/ci/Dockerfile Bumps taos-ws-py to 0.6.8 in CI image.
tests/parallel_test/run_case.sh Bumps taos-ws-py install to 0.6.8.
test/ci/run_case.sh Bumps taos-ws-py install to 0.6.8.
test/cases/83-DocTest/python.sh Bumps doc-test taos-ws-py install to 0.6.8.
test/requirements.txt Bumps taos-ws-py pin to 0.6.8.
test/pyproject.toml Bumps taos-ws-py lower bound to 0.6.8.
test/uv.lock Bumps taos-ws-py dependency constraint to >=0.6.8.
docs/zh/14-reference/05-connector/30-python.mdx Adds 0.6.8 connector history entry.
docs/en/14-reference/05-connector/30-python.md Adds 0.6.8 connector history entry.
docs/zh/14-reference/03-taos-sql/24-distinguished.md Adds/expands EXTERNAL_WINDOW documentation and rules.
docs/en/14-reference/03-taos-sql/24-distinguished.md Adds/expands EXTERNAL_WINDOW documentation and rules (EN).
docs/zh/14-reference/03-taos-sql/20-select.md Adds EXTERNAL_WINDOW to window clause grammar + explanation.
docs/en/14-reference/03-taos-sql/20-select.md Adds EXTERNAL_WINDOW to window clause grammar + explanation (EN).
docs/zh/05-basic/03-query.md Adds EXTERNAL_WINDOW overview and adjusts rule wording.
docs/en/05-basic/03-query.md Adds EXTERNAL_WINDOW overview and adjusts rule wording (EN).
.github/workflows/tdengine-docs-ci.yml Cleans build/* alongside docs during docs CI sync/build.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +3285 to +3289
count = -1;
errorPrint("%s() LN%d, failed run %s to fetch row, taos: %p, "
"code: 0x%08x, reason: %s\n",
__func__, __LINE__,
command, taos, code, taos_errstr(res));
Comment on lines +532 to +546
parsed = urllib.parse.urlparse(self.resource_package_url)
file_name = Path(parsed.path).name or "tdengine-tdgpt-model-resource.tar"
target_dir = self.log_dir / "downloads"
target_dir.mkdir(parents=True, exist_ok=True)
target_path = target_dir / file_name
partial_path = target_path.with_name(target_path.name + ".part")

self.set_progress(18, "Downloading TDgpt model resource package", f"Connecting to server for {file_name}")
self.print_info(f"Downloading TDgpt model resource package from {self.resource_package_url}")
try:
if partial_path.exists():
partial_path.unlink()
request = urllib.request.Request(self.resource_package_url, headers={"User-Agent": "TDgptInstaller/1.0"})
with urllib.request.urlopen(request, timeout=120) as response, partial_path.open("wb") as fh:
total_size_text = response.headers.get("Content-Length", "").strip()
Comment on lines 2149 to +2152
"Selected models: " + (", ".join(self.selected_models) if self.selected_models else "None"),
f"Offline package: {self.offline_package or 'None'}",
f"Main venv package: {self.offline_package or 'None'}",
f"Model resource package: {self.offline_model_package or 'None'}",
f"Model resource package URL: {self.resource_package_url or 'None'}",
@guanshengliang guanshengliang merged commit 4455827 into 3.0 Apr 10, 2026
21 of 23 checks passed
@guanshengliang guanshengliang deleted the merge/mainto3.0 branch April 10, 2026 06:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants