Skip to content

(Potential Bug) Partition field names are not URL-encoded in file locations #1458

Description

@smaheshwar-pltr

Potential Bug / Improvement

Unlike the Java implementation, partition field names are not URL-encoded in data locations, only the partition values are.

t = catalog.load_table('ns.tbl').scan().to_arrow()
table = catalog.create_table('ns.tbl2', t.schema)
with table.update_spec() as update:
    update.add_field("data", IdentityTransform(), "da#a")

table.append(t)
assert t == table.scan().to_arrow()

Not sure if this is a significant bug, but this causes the code above to fail (because it's partition field has a special character), when using MinIO: the returned data is messed up. When I go to the MinIO local object store explorer, there's a stray da object (the # cuts it off) that should be a directory for data files, but isn't.

I've confirmed that this is fixed by URL-encoding partition field names (#1457). I discovered this when working on #1452.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions