Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

crosscluster/logical: hydrate table descriptors with types for event decoding #131130

Merged
merged 4 commits into from
Oct 8, 2024

Commits on Oct 4, 2024

  1. importer: make import type resolver public

    Epic: none
    
    Release note: none
    msbutler committed Oct 4, 2024
    Configuration menu
    Copy the full SHA
    89a0f7b View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2024

  1. crosscluster/producer: grab type descriptors during LDR physical plan…

    …ning
    
    Epic: none
    
    Release note: none
    msbutler committed Oct 8, 2024
    Configuration menu
    Copy the full SHA
    5309287 View commit details
    Browse the repository at this point in the history
  2. crosscluster/logical: hydrate table descriptors with types for event …

    …decoding
    
    This hydrates the source side table descriptors with their referencing type
    descriptors if they have any. This allows ldr ingestion to properly decode
    tables with user defined types.
    
    Note that LDR will still fast fail on replicating a table with user defined
    types (unless the SKIP SCHEMA CHECK OPTION is used) because we still need to
    teach LDR to:
    - validate that the source and destination enum's are _physically_ identical
      (contain the same map from int to enum values)
    - support UDT replication on sql path, which currently fails because the passed
      in datum points to the source side udt instead of the destination udt.
    
    As another step down the line, we should relax the requirement that UDTs must
    physically equivalent. Instead, they only need to be _logically_ equivalent
    (i.e. have the same user facing enum values). Supporting this requires
    remapping the ints from two logically equivalent enums.
    
    Epic: none
    
    Release note: none
    msbutler committed Oct 8, 2024
    Configuration menu
    Copy the full SHA
    849d013 View commit details
    Browse the repository at this point in the history
  3. crosscluster/logical: get type descriptors during planning

    This will allow us to do type descriptor validation when we check for
    replicating table equivalency.
    
    Epic: none
    
    Release note: none
    msbutler committed Oct 8, 2024
    Configuration menu
    Copy the full SHA
    8d105a0 View commit details
    Browse the repository at this point in the history