Performance optimization for Chat attach picker & Added comprehensive Testing flow#52
Merged
ric-v merged 12 commits intodev-asterix:mainfrom Feb 8, 2026
Merged
Performance optimization for Chat attach picker & Added comprehensive Testing flow#52ric-v merged 12 commits intodev-asterix:mainfrom
ric-v merged 12 commits intodev-asterix:mainfrom
Conversation
…ent enhancements - Added adaptive schema cache TTL to optimize cache behavior based on access patterns. - Introduced connection pool metrics and automatic idle timeout for better resource management. - Implemented debounced tree refresh to improve UI performance during rapid operations. - Added support for tree view virtualization to enhance handling of large schemas. - Created a new debouncer utility for optimizing function calls. - Developed an ExplainProvider for visualizing EXPLAIN ANALYZE plans in a webview. - Implemented a TransactionToolbarManager for managing transaction controls in notebooks. - Enhanced TransactionManager to support savepoints, isolation levels, and auto-rollback features. - Updated UI components for transaction management, including buttons and status indicators.
…components - Introduced TestDatabaseSetup for managing test database connections and schema setup. - Added TestTimer and CoverageReporter for performance measurement and coverage reporting. - Created unit tests for various renderer components, including notebook cell rendering, dashboard components, form validation, and accessibility features. - Enhanced chat templates with breadcrumb navigation for database object selection. - Implemented hierarchy navigation in chat scripts to improve user experience when selecting database objects. - Updated styles for breadcrumb navigation and mention items to enhance UI clarity and usability.
…pdate UI to display it
…lan visualization
…nvironment tagging and read-only mode
…tures - Added commands for table profiling and activity statistics, including cmdTableProfile and cmdTableActivity. - Implemented cmdExplainQuery to allow users to generate EXPLAIN and EXPLAIN ANALYZE queries directly from notebook cells. - Introduced QueryCodeLensProvider to provide EXPLAIN options in notebook cells for SQL queries. - Enhanced the QueryHistoryProvider with rerunQuery and compareQueries functionalities for better query management. - Added new SQL queries for table statistics, column details, and index usage in the profile module. - Updated the SqlExecutor to apply auto-LIMIT to SELECT queries for performance optimization. - Registered new commands in commands.ts for table profiling, activity, and index usage. - Improved error handling and user feedback throughout the new features.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces a comprehensive overhaul of the testing and optimization infrastructure for the project. It adds robust CI/CD workflows, Docker-based integration testing for multiple PostgreSQL versions, improved Makefile targets for test automation, and updates documentation to reflect these changes. Additionally, it brings in performance optimization documentation for handling large database operations and connection pool management.
Testing Infrastructure Enhancements:
.github/workflows/test.ymlfor matrix-based CI/CD testing across Node.js (18.x, 20.x, 22.x) and PostgreSQL (12-17), including unit, integration, renderer component, Docker-based tests, coverage reporting, and security audit.docker-compose.test.ymlto spin up PostgreSQL containers (versions 12, 14, 15, 16, 17) for integration and compatibility testing.Makefilewith granular targets for unit, integration, renderer, all tests, coverage, Docker lifecycle, and full suite orchestration. Help output now documents all testing commands. (Fef274e4L54R54, [1] [2].nycrc.jsonto configure code coverage thresholds, reporters, and source mapping for TypeScript files.README.mdwith quickstart instructions, Docker-based test workflow, Makefile usage, and detailed testing infrastructure overview. [1] [2]Performance Optimization Documentation:
docs/OPTIMIZATION_SUMMARY.mddetailing adaptive schema cache TTL, connection pool metrics and idle timeout, debounced tree refresh, tree view virtualization, and debounce utilities for large schema handling.Other updates:
.vscodeignoreto exclude coverage and virtual environment directories.Top changes grouped by theme:
Testing Infrastructure
.github/workflows/test.yml) for matrix testing (Node.js 18-22, PostgreSQL 12-17), coverage reporting, and security audit.docker-compose.test.ymlfor multi-version PostgreSQL integration testing via Docker.Makefilewith granular test and Docker targets, plus improved help documentation. (Fef274e4L54R54, [1] [2].nycrc.jsonfor TypeScript coverage configuration.README.mdwith test quickstart, Docker workflow, Makefile usage, and infrastructure overview. [1] [2]Performance Optimization
docs/OPTIMIZATION_SUMMARY.mddescribing adaptive cache TTL, connection pool metrics, debounced tree refresh, and tree view virtualization for large schema handling.Miscellaneous
.vscodeignoreto exclude coverage and virtual environment directories.Testing & CI Infrastructure
.github/workflows/test.yml) that runs unit, integration, renderer component, and Docker-based version compatibility tests across multiple Node.js and PostgreSQL versions, with coverage reporting and security audits.docker-compose.test.ymlfile for spinning up PostgreSQL containers (versions 12, 14, 15, 16, 17) for local and CI integration testing.Makefilewith targets for running all types of tests, generating coverage reports, and managing Docker test containers. The help output now documents these commands for easier onboarding. [1] [2] [3].nycrc.jsonconfiguration for NYC (Istanbul) to standardize code coverage reporting, including and excluding appropriate files, and enabling various report formats.README.mdwith a detailed "Testing" section, providing quick start instructions, Docker usage, Makefile targets, and a summary of the testing infrastructure and CI/CD matrix. [1] [2]Performance Optimization Documentation
docs/OPTIMIZATION_SUMMARY.md, which details recent large-scale optimizations: adaptive schema cache TTL, connection pool metrics and idle cleanup, debounced tree refresh, tree view virtualization, and a new debounce utility. The document also provides testing recommendations and future enhancement ideas.Minor Enhancements
package.jsonfor editing connections and attaching to the SQL Assistant, as well as a configuration option to flag slow queries in history/results. [1] [2] [3] [4] [5]These changes collectively make the project more maintainable, easier to test across environments, and better documented for both contributors and users.
Testing & CI/CD Improvements
.github/workflows/test.yml)docker-compose.test.yml)Makefilewith granular test, coverage, and Docker management targets, plus improved help documentation. (Makefile) [1] [2] [3].nycrc.json)README.mdwith clear, actionable testing instructions and infrastructure overview. (README.md) [1] [2]Performance Documentation
docs/OPTIMIZATION_SUMMARY.md.Minor Features
package.json. [1] [2] [3] [4] [5]