Uploaded image for project: 'MariaDB Connector/Python'
  1. MariaDB Connector/Python
  2. CONPY-336

Implement conversion tables for text and binary protocol parsing

    XMLWordPrintable

Details

    • Task
    • Status: Open (View Workflow)
    • Critical
    • Resolution: Unresolved
    • 2.0
    • 2.0
    • Performance
    • None
    • 3.13

    Description

      Implement conversion tables for text and binary protocol parsing

      Building on the new ColumnsDefinitionPacket (object-of-arrays) structure, implement precomputed conversion tables for both text and binary protocol row parsing.

      Instead of performing type checks (if/elif) while decoding each row, conversion functions should be resolved once during metadata processing and stored in per-column lookup tables.

      Scope

      • Add conversion table initialization to ColumnsDefinitionPacket
      • Support text protocol and binary protocol separately
      • Conversion tables should be indexed by column number
      • Row parsing should only:
        • extract raw field data
        • call the preassigned conversion function

      Goals

      • Eliminate per-row type branching
      • Reduce attribute lookups while parsing
      • Share conversion logic between text and binary protocols
      • Centralize type handling in column metadata

      Benefits

      • Improved parsing performance
      • Better cache locality
      • Cleaner separation between:
        • metadata preparation
        • row decoding
      • Easier future C-level optimization

      Dependencies

      Requires implementation of ColumnsDefinitionPacket (CONPY-335)

      Attachments

        Issue Links

          Activity

            People

              georg Georg Richter
              georg Georg Richter
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.