Skip to content

SNOW-2102704: described columns do not match query columns #2321

@padhia

Description

@padhia

Python version

3.12

Operating system and processor architecture

macOS-15.4.1-arm64-arm-64bit

Installed packages

asn1crypto==1.5.1
boto3==1.36.21
botocore==1.36.21
build==1.2.2.post1
certifi==2025.1.31
cffi==1.17.1
charset-normalizer==3.4.1
cloudpickle==3.1.1
cryptography==44.0.2
filelock==3.18.0
idna==3.10
iniconfig==2.1.0
jmespath==1.0.1
packaging==24.2
platformdirs==4.3.7
pluggy==1.5.0
protobuf==5.29.4
pycparser==2.22
PyJWT==2.10.1
pyOpenSSL==25.0.0
pyproject_hooks==1.2.0
pytest==8.3.5
python-dateutil==2.9.0.post0
pytz==2025.2
PyYAML==6.0.2
requests==2.32.3
s3transfer==0.11.2
setuptools==78.1.0.post0
six==1.17.0
snowflake-connector-python==3.15.0
snowflake-snowpark-python==1.31.1
sortedcontainers==2.4.0
tomlkit==0.13.2
typing_extensions==4.13.0
tzlocal==5.3.1
urllib3==2.3.0
wheel==0.45.1

What did you do?

import os
from snowflake.connector import connect

with connect(connection_name=os.environ["SNOWFLAKE_DEFAULT_CONNECTION_NAME"]) as cnx, cnx.cursor() as csr:
    csr.describe("show applications")
    describe_columns = set(c.name for c in csr.description)

    csr.execute("show applications")
    execute_columns = set(c.name for c in csr.description)

    print(describe_columns ^ execute_columns)

What did you expect to see?

Metadata from the SQL should match regardless of whether the query is run or just described.

Note: This happens only with selected statements, such as show applications. The problem may lie with the underlying SQL engine; if so please let the appropriate team know.

Can you set logging to DEBUG and collect the logs?

import logging
import os

for logger_name in ('snowflake.connector',):
    logger = logging.getLogger(logger_name)
    logger.setLevel(logging.DEBUG)
    ch = logging.StreamHandler()
    ch.setLevel(logging.DEBUG)
    ch.setFormatter(logging.Formatter('%(asctime)s - %(threadName)s %(filename)s:%(lineno)d - %(funcName)s() - %(levelname)s - %(message)s'))
    logger.addHandler(ch)

Metadata

Metadata

Labels

status-triage_doneInitial triage done, will be further handled by the driver teamwontfix

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions