Conversation
Signed-off-by: Sam Hughes
This is perhaps a 'hack' to get package building working on plucky Signed-off-by: Sam Hughes
Signed-off-by: Sam Hughes
Signed-off-by: Sam Hughes
This updates the version number to v2.4.5. Signed-off-by: Sam Hughes
- Add root CMakeLists.txt with Conan integration - Add conanfile.py and conanfile.txt for dependency management - Add src/CMakeLists.txt as placeholder for source compilation - Add BUILD.md with comprehensive build instructions - Add .gitignore.cmake for CMake/Conan generated files Dependencies managed by Conan: - protobuf 3.21.12 - openssl 3.2.0 - zlib 1.3.1 - libcurl 8.5.0 - re2 20231101 - jemalloc 5.3.0 - gtest 1.14.0 (optional) Features: - Cross-platform build support (Linux, macOS, FreeBSD) - Automatic dependency resolution and building - ccache support for faster rebuilds - Configurable build options (jemalloc, testing, static linking) - Modern CMake best practices
- Fix make_optional template to return correct optional<decay_t<T>> type - Update all make_optional() calls to be compatible with C++17 - Replace make_optional calls with direct optional<T> construction where needed - Use custom make_optional implementation instead of std::make_optional This fixes compilation errors where std::make_optional returns optional<decay_t<T>> which was incompatible with the custom optional<T> class. Note: QuickJS dependency is still missing and needs to be added separately.
- Document modern CMake-based build process - Include Conan dependency management setup - List build requirements and tools - Provide quick start commands for users - Link to detailed BUILD.md documentation This update improves documentation for developers wanting to build RethinkDB on various platforms using the new CMake infrastructure.
## Build System Improvements - Add quickjs package dependency to CMakeLists.txt - Correct CMake target linking (quickjs::quickjs) - Update src/CMakeLists.txt with proper target configuration ## C++17 Compatibility Fixes - Replace deprecated std::random_shuffle with std::shuffle - Fix rapidjson Value string constructor calls (add length parameter) - Fix re2::StringPiece to std::string conversions - Replace non-existent as_string() with proper string construction ## Optional Type System Corrections - Fix make_optional function definition in optional.hpp - Remove redundant using rethinkdb::optional declarations - Replace rethinkdb::optional with proper optional wrapper - Fix boost::variant initialization with proper constructors - Resolve optional<optional> type nesting issues ## Protocol Buffer and Variant Fixes - Add explicit initialization for boost::variant change_t - Use std::forward for proper rvalue reference handling - Fix raft_core comparison logic with optional values All changes ensure compatibility with C++17, modern Boost versions, and cross-platform CMake builds on macOS, Linux, and other systems.
User-specific CMake presets should not be version controlled. Each developer can generate presets locally as needed using: cmake --preset conan-release
- Document assignment_sentry.hpp with RAII guard details - Document do_on_thread.hpp with thread execution API - Document random.hpp with RNG utilities - Document math.hpp with alignment and mathematical functions
- Update CMakeLists.txt project version - Update conanfile.py version - NOTES.md already contains v2.4.5 release information
- Document TLS macros with design rationale - Document DEFINE_TLS_REF_ACCESSORS and DEFINE_TLS_ACCESSORS - Document TLS(), TLS_with_get_ref(), and TLS_with_init() macros - Document coroutine-based and standard C++17 implementations - Document type trait compatibility macros
- Document stl_utils.hpp with STL container helpers - Document memory_utils.hpp with aligned allocation functions - Document time.hpp with time measurement utilities - Document timestamps.hpp with state timestamp management - Document repli_timestamp.hpp with replication timestamps
- Change logWRN(error_message.c_str()) to logWRN("%s", error_message.c_str())
- Prevents format-string injection vulnerability
- Eliminates Clang -Wformat-security warning
Adds a production-grade Go MCP server as a companion service to RethinkDB. The C++ source is completely untouched. Architecture: - Transport layer: stdio (Claude Desktop) + HTTP+SSE (multi-client) - Auth bridge: mirrors RethinkDB SCRAM-SHA-256 via gorethink driver - Tool registry: 10 tools across 3 categories Tools implemented: Introspection: list_databases, list_tables, describe_table CRUD: query_reql, insert_document, update_document, delete_document Streaming: subscribe_table_changes, subscribe_query_changes, unsubscribe Streaming uses native RethinkDB changefeeds via gorethink cursors. Each subscription runs in a dedicated goroutine with context cancellation. Package dependency graph (no circular imports): auth → gorethink tools → auth, gorethink (owns ToolDefinition/CallToolResult) protocol → tools, auth, transport main → all Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: anton feldmann <anton.feldmann@gmail.com>
Signed-off-by: anton feldmann <anton.feldmann@gmail.com>
Signed-off-by: anton feldmann <anton.feldmann@gmail.com>
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.
Description
<Please fill in the description of your pull request here. Thank you for your contribution!>
Checklist
added
Signed-off-by: <Anton Feldmann>to the commit trail where<Anton Feldmann>ismy name.