Repository navigation
Conversation
|
This PR is stale because it has been open for 10 days with no activity. |
|
Still planned, and intentionally kept as a draft while #4741 (or an equivalent MySQL/MariaDB schema-creation fix) is reviewed. That dependency has not merged yet. Once the accepted fix reaches main, I will update this branch and verify automatic table creation plus small- and large-item round trips on both databases before requesting review. Could a maintainer add |
|
Closing this draft following the decision on #4741. The LONGTEXT change depends on an accepted MySQL/MariaDB schema-creation baseline, so it cannot move forward on its own. The patch and test results remain available here if this work is revisited. Thanks for the consideration. |
Summary
This pull request changes the
message_datacolumn toLONGTEXTfor newly created MySQL and MariaDB message tables. Other dialects retainTEXT; serialization, session identifiers, transactions, and public APIs are unchanged. Existing tables are not migrated.MySQL-family
TEXTstorage is too small for some serialized session items. In a live example, Chinese/emoji content serialized to 1,200,028 bytes: strict mode rejected theTEXTinsert with error 1406, while non-strict mode logged truncation and stored 65,535 bytes of invalid JSON that the SDK could not return as the original item. ALONGTEXTcolumn preserved the full item through SDK add/get/pop in both modes.Dependency status: #4741 was closed without merging because MySQL/MariaDB schema-creation work is not a current maintainer priority. This draft is being closed as well. It contains none of #4741's changes and does not independently enable automatic table creation. Existing caller-managed schemas remain unchanged.
Any future continuation would need an accepted schema-creation baseline, fresh MySQL/MariaDB automatic-table-creation and small/large-item tests, and the full verification and review steps. The results below cover the draft as tested, not that combined path.
Test plan
tests/extensions/memory/test_sqlalchemy_session.py: 47 passed, including four new column-compilation cases for MySQL, MariaDB, PostgreSQL, and SQLite.git diff --checkpassed.SQLAlchemySession(create_tables=False): small-item controls passed; strictTEXTraised error 1406; non-strictTEXTproduced truncated, invalid JSON;LONGTEXTpreserved the complete 1,200,028-byte serialized value and exact SDK get/pop results in both modes.session_id; fix(sessions): support MySQL and MariaDB schema creation #4741's schema plus the proposed column type compiles for both MySQL and MariaDB. This was a disposable metadata composition check, not a combined-source live automatic-creation test.Issue number
N/A. Related schema-creation work: #4741.
Checks
.agents/skills/code-change-verification/scripts/run.sh/reviewbefore submitting this PR