Skip to content
This repository was archived by the owner on Jan 26, 2026. It is now read-only.

ZIP Type errors with Snowflake #245

@guidefreitas

Description

@guidefreitas

Every time the detect process hit a ZIP code column it fails with this error:

Traceback (most recent call last):
  File "/Users/guilherme/.pyenv/versions/3.8.19/bin/piicatcher", line 8, in <module>
    sys.exit(app())
  File "/Users/guilherme/.pyenv/versions/3.8.19/lib/python3.8/site-packages/typer/main.py", line 214, in __call__
    return get_command(self)(*args, **kwargs)
  File "/Users/guilherme/.pyenv/versions/3.8.19/lib/python3.8/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/Users/guilherme/.pyenv/versions/3.8.19/lib/python3.8/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/Users/guilherme/.pyenv/versions/3.8.19/lib/python3.8/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/guilherme/.pyenv/versions/3.8.19/lib/python3.8/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/guilherme/.pyenv/versions/3.8.19/lib/python3.8/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/Users/guilherme/.pyenv/versions/3.8.19/lib/python3.8/site-packages/typer/main.py", line 532, in wrapper
    return callback(**use_params)  # type: ignore
  File "/Users/guilherme/.pyenv/versions/3.8.19/lib/python3.8/site-packages/piicatcher/command_line.py", line 199, in detect
    op = scan_database(
  File "/Users/guilherme/.pyenv/versions/3.8.19/lib/python3.8/site-packages/piicatcher/api.py", line 63, in scan_database
    scan_sources(
  File "/Users/guilherme/.pyenv/versions/3.8.19/lib/python3.8/site-packages/dbcat/api.py", line 140, in scan_sources
    scanner.scan()
  File "/Users/guilherme/.pyenv/versions/3.8.19/lib/python3.8/site-packages/dbcat/catalog/db.py", line 173, in scan
    self._catalog.get_column(
  File "/Users/guilherme/.pyenv/versions/3.8.19/lib/python3.8/site-packages/dbcat/catalog/catalog.py", line 244, in get_column
    self._current_session.query(CatColumn)
  File "/Users/guilherme/.pyenv/versions/3.8.19/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 3490, in one
    ret = self.one_or_none()
  File "/Users/guilherme/.pyenv/versions/3.8.19/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 3459, in one_or_none
    ret = list(self)
  File "/Users/guilherme/.pyenv/versions/3.8.19/lib/python3.8/site-packages/sqlalchemy/orm/loading.py", line 100, in instances
    cursor.close()
  File "/Users/guilherme/.pyenv/versions/3.8.19/lib/python3.8/site-packages/sqlalchemy/util/langhelpers.py", line 68, in __exit__
    compat.raise_(
  File "/Users/guilherme/.pyenv/versions/3.8.19/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 182, in raise_
    raise exception
  File "/Users/guilherme/.pyenv/versions/3.8.19/lib/python3.8/site-packages/sqlalchemy/orm/loading.py", line 80, in instances
    rows = [proc(row) for row in fetch]
  File "/Users/guilherme/.pyenv/versions/3.8.19/lib/python3.8/site-packages/sqlalchemy/orm/loading.py", line 80, in <listcomp>
    rows = [proc(row) for row in fetch]
  File "/Users/guilherme/.pyenv/versions/3.8.19/lib/python3.8/site-packages/sqlalchemy/orm/loading.py", line 579, in _instance
    _populate_full(
  File "/Users/guilherme/.pyenv/versions/3.8.19/lib/python3.8/site-packages/sqlalchemy/orm/loading.py", line 725, in _populate_full
    dict_[key] = getter(row)
  File "/Users/guilherme/.pyenv/versions/3.8.19/lib/python3.8/site-packages/sqlalchemy/sql/type_api.py", line 1283, in process
    return process_value(value, dialect)
  File "/Users/guilherme/.pyenv/versions/3.8.19/lib/python3.8/site-packages/dbcat/catalog/models.py", line 278, in process_result_value
    value = PiiType.parse_raw(value)
  File "pydantic/main.py", line 549, in pydantic.main.BaseModel.parse_raw
  File "/Users/guilherme/.pyenv/versions/3.8.19/lib/python3.8/site-packages/dbcat/catalog/pii_types.py", line 17, in parse_obj
    return cls._convert_to_real_type_(obj)
  File "/Users/guilherme/.pyenv/versions/3.8.19/lib/python3.8/site-packages/dbcat/catalog/pii_types.py", line 33, in _convert_to_real_type_
    raise TypeError(f"Unsupported sub-type: {data_type}")
TypeError: Unsupported sub-type: zip_code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions