Skip to content

feat(workspace): support binary and BLOB data types in DML mutation engine and grid validator - #661

Merged
ZhuchkaTriplesix merged 1 commit into
devfrom
issue/658-dml-binary-blob-support
Aug 30, 2026
Merged

feat(workspace): support binary and BLOB data types in DML mutation engine and grid validator#661
ZhuchkaTriplesix merged 1 commit into
devfrom
issue/658-dml-binary-blob-support

Conversation

@ZhuchkaTriplesix

Copy link
Copy Markdown
Member

Description

Resolves #658 by adding binary and BLOB data type support across DML mutation generation and grid validation:

  1. Binary & BLOB Literal Formatting:

    • Added _isBinaryType in TableMutationEngine recognizing blob, bytea, binary, varbinary, raw, image, and bit.
    • Generates dialect-correct binary SQL literals:
      • PostgreSQL: '\\x...'::bytea
      • MySQL: X'...'
      • SQLite: X'...'
    • Preserves SQL NULL semantics for binary columns.
  2. Grid Cell Hex Validation:

    • Added hex format verification in GridDataTypeValidator for binary column types (\x..., 0x..., X'...' , raw hex).
    • Enforces even-length byte representations.
  3. Testing:

    • Added unit tests in test/core/database/table_mutation_engine_test.dart verifying dialect-specific binary literals.
    • Added unit tests in test/features/workspace/grid_data_type_validator_test.dart validating hex formats and rejecting invalid hex input.
    • All tests pass with 0 analyze warnings.

Closes #658

…ngine and grid validator

- Add _isBinaryType and dialect-specific hex formatting in TableMutationEngine
- Format bytea as E'\\x...' / '\\x...'::bytea for PostgreSQL and X'...' for MySQL / SQLite
- Add hex validation for blob, binary, varbinary, bytea, and raw in GridDataTypeValidator
- Add unit tests for binary formatting and validation across dialects

Closes #658
@github-actions github-actions Bot added enhancement New feature or request error-handling Theme parser epic label: error-handling frontend Theme parser epic label: frontend labels Aug 30, 2026
@ZhuchkaTriplesix
ZhuchkaTriplesix merged commit b373fb7 into dev Aug 30, 2026
4 checks passed
This was referenced Aug 30, 2026
@ZhuchkaTriplesix
ZhuchkaTriplesix deleted the issue/658-dml-binary-blob-support branch August 30, 2026 19:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request error-handling Theme parser epic label: error-handling frontend Theme parser epic label: frontend

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant