All notable changes to SharpCoreDB will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- SIMD LoadUnsafe Optimization: All 16 columnar SIMD aggregate methods (
SumInt32,SumInt64,SumDouble,MinInt32,MinInt64,MinDouble,MaxInt32,MaxInt64— both single-threaded and parallel variants) now useVector256.LoadUnsafe(ref data[i])instead ofVector256.Create(data.AsSpan(i)). This eliminates per-iterationSpan<T>construction and bounds checking overhead in SIMD hot loops, yielding tighter codegen on AVX2 hardware. - Auto-ROWID: Tables created without an explicit
PRIMARY KEYnow receive a hidden_rowidcolumn (ULID type, auto-generated). Follows the SQLite rowid pattern — invisible inSELECT *, visible when explicitly queried viaSELECT _rowid, .... Seedocs/features/AUTO_ROWID.mdfor full documentation. Table.HasInternalRowIdproperty (persisted in metadata) to track tables with auto-generated_rowid.Table.SelectIncludingRowId()method for queries that explicitly request_rowid.Database.GetColumnsIncludingHidden()for schema discovery including hidden columns (withIsHiddenflag).ColumnInfo.IsHiddenproperty for metadata-driven schema tools.PersistenceConstants.InternalRowIdColumnNameconstant ("_rowid").- 9 dedicated tests for the Auto-ROWID feature in
AutoRowIdTests.cs.
- Unified
IS NULL/IS NOT NULLbehavior across runtime scan, join-helper, and compiled predicate paths. - Added parser support for scalar function expressions in SELECT columns (including
COALESCE(...)) and parenthesized subquery expressions. - Improved
EnhancedSqlParsermalformed SQL detection by flagging unparsed trailing content viaHasErrors. - Added LINQ translator handling for
ExpressionType.Convert/ConvertCheckedin enum-related comparison scenarios. - Improved German locale comparison behavior for
ß/ssequivalence in locale-aware matching. - Fixed PAGE_BASED mixed-predicate filtering (
column = value AND other_column <= value) by routing scan-time predicate evaluation through the shared SQL condition evaluator; added regression coverage forORDER BY ... LIMITretrieval. - ColumnStore SIMD consistency: Cleaned up inconsistent
MaxInt64SIMDDirectimplementation (previously used manualref+Unsafe.Addpattern) to use the sameVector256.LoadUnsafe(ref data[i])pattern as all other SIMD methods.
- Updated project documentation and status reports to reflect current implementation and validation baseline.
- Explicitly documented the remaining deferred single-file parameterized
ExecuteCompileddisposal deadlock path. - Performance test hardening:
ColumnStore_Average_10kRecords_Under2msnow runs 10 iterations and asserts the best (minimum) time, with an additional warmup call. This eliminates false failures caused by concurrent test execution, GC pauses, or OS scheduling jitter.
SharpCoreDB.Graph.Advancedpackage for advanced graph analytics and GraphRAG workflows.- Functional package family:
SharpCoreDB.Functional,SharpCoreDB.Functional.Dapper,SharpCoreDB.Functional.EntityFrameworkCore. - Expanded optional package guidance for
SharpCoreDB.EventSourcing,SharpCoreDB.Projections, andSharpCoreDB.CQRS.
- Ecosystem-wide package version synchronization on
1.7.0. - Documentation refresh across root/docs/src package README files with per-project features and v1.7.0 changes.
- SIMD aggregate hot loops updated to
Vector256.LoadUnsafepattern in columnar paths.
- SQL lexer/parser reliability for parameterized compiled-query execution.
- Metadata flush/reopen reliability paths with backward-compatible metadata format handling.
SharpCoreDB v1.6.0 introduces GraphRAG (Graph Retrieval-Augmented Generation) - a comprehensive graph analytics platform with semantic vector search integration for contextually rich search results.
- Real Semantic Search: Vector search integration with HNSW indexing and SIMD acceleration (50-100x faster than SQLite)
- Multi-Factor Ranking: Combines semantic similarity + topological importance + community context
- Intelligent Caching: TTL-based result caching with automatic cleanup and memory monitoring
- Production Performance: Sub-50ms end-to-end search with linear scaling
- Enhanced Search Results: Rich context descriptions combining multiple ranking factors
- Louvain Algorithm: O(n log n) modularity optimization - highest accuracy for community detection
- Label Propagation: O(m) fast approximation - optimized for large graphs
- Connected Components: O(n + m) simple grouping - perfect for basic clustering
- SQL Integration: Direct SQL functions for community analysis (
DETECT_COMMUNITIES_LOUVAIN,GET_COMMUNITY_MEMBERS)
- Degree Centrality: O(n) - Direct connection count measuring popularity
- Betweenness Centrality: O(n × m) - Bridge detection for information flow analysis
- Closeness Centrality: O(n²) - Distance efficiency measuring accessibility
- Eigenvector Centrality: O(k × m) - Influence measurement for prestige analysis
- SQL Functions: Direct database functions for all centrality calculations
- K-Core Decomposition: Find densely connected subgraphs and core structures
- Triangle Detection: Identify mutual relationships and friend-of-friend patterns
- Clique Detection: Find complete subgraphs and tightly knit groups
- Subgraph Extraction: Extract neighborhoods, paths, and local structures
- Performance Profiler: Comprehensive operation timing, memory tracking, and benchmarking
- Memory Optimization: Batch processing, pooling, and efficient resource management
- Scaling Strategies: Horizontal/vertical partitioning for massive graph processing
- Health Monitoring: Cache statistics, performance alerts, and diagnostic tools
- API Reference: Complete XML-documented API with complexity analysis
- Basic Tutorial: 15-minute getting started guide for new users
- Advanced Patterns: Multi-hop reasoning, custom ranking, production deployment
- Performance Tuning: Optimization strategies, scaling guides, troubleshooting
- Integration Guides: OpenAI, Cohere, and local embedding provider examples
- OpenAI Embeddings: Complete integration with cost tracking and rate limiting
- Custom Providers: Extensible interface for any embedding service
- Production Patterns: Error handling, caching, monitoring, and scaling
- 20 integration tests covering all major functionality
- 100% pass rate with extensive edge case coverage
- Performance validation with automated benchmarking
- Memory safety verified through comprehensive testing
GraphRAG Search (k=10): 45ms (222 ops/sec)
Vector Search (k=10): 12ms (833 ops/sec)
Community Detection: 28ms (178 ops/sec)
Enhanced Ranking: 5ms (2000 ops/sec)
- Linear performance scaling with graph size for all operations
- Memory efficient: < 10MB for 10K node graphs with intelligent caching
- SIMD acceleration: Hardware-optimized vector operations
- Batch processing: Handles large datasets without memory pressure
- Removed obsolete phase-status, kickoff, completion, and superseded planning documents across
docs/archived,docs/server, anddocs/graphrag. - Consolidated documentation navigation to canonical entry points:
docs/INDEX.mddocs/README.mddocs/server/README.mddocs/scdb/README_INDEX.mddocs/graphrag/00_START_HERE.md
- Updated root
README.mddocumentation pointer to canonical index. - Cleaned stale references to removed files and validated documentation link consistency for removed targets.