Skip to content

Generate table partitions failures for boolean types #1618

@nj1973

Description

@nj1973

Describe the bug
Our test table for generate-table-partitions contains a boolean column. For many situations this fails to validate. Mostly I think when one engine supports booleans and the other doesn't. For example SQL Server and bit or Oracle and use of a string or numeric type.

Example Oracle vs PostgreSQL:

$ data-validation generate-table-partitions -sc=ora -tc=pg \
-tbls=pso_data_validator.test_generate_partitions_v2 \
--primary-keys="recd_timestamp,registration_date,approved" \
--concat='*'  --partition-num=2 -cdir=/tmp
Traceback (most recent call last):
...
    raise TypeError(
TypeError: Arguments approved:!boolean and Literal(N):string are not comparable

BigQuery vs Sybase (and SQL Server):

$ data-validation generate-table-partitions -sc=bq -tc=syb \
-tbls=pso_data_validator.test_generate_partitions_v2 \
--primary-keys="recd_timestamp,registration_date,approved" \
--concat='*'  --partition-num=2 -cdir=/tmp
Traceback (most recent call last):
...
Error '(pyodbc.ProgrammingError) ('42S22', "[42S22] [FreeTDS][SQL Server]Invalid column name 'false'.\n (207) (SQLExecDirectW)")

What version of DVT are you using?
8.2.0

What type of connections are you using for source and target?
Several different engine pairings.

Additional context
It is extremely unlikely a boolean will ever be in a primary key so this can be low priority to resolve.

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority: p3Lowest priority. This can be something deprioritized or not time sensitive.

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions