GoogleCloudPlatform / GoogleCloudPlatform/professional-services-data-validator

Row validation of Oracle LOB columns causes ORA-00932 exception

Open
#1,364 0 comments 0 reactions 0 assignees View on GitHub
priority: p2
Dominant language
Python
Stars
524
Forks
171
Avg merge
5d 15h
Merged PRs (30d)
4

Description

Examples:
```
data-validation validate row -sc=ora -tc=pg -tbls=pso_data_validator.dvt_ora2pg_types --concat="id,col_clob"
...
sqlalchemy.exc.DatabaseError: (cx_Oracle.DatabaseError) ORA-00932: inconsistent datatypes: expected CLOB got CHAR

data-validation validate row -sc=ora -tc=pg -tbls=pso_data_validator.dvt_ora2pg_types --concat="id,col_blob"
...
sqlalchemy.exc.DatabaseError: (cx_Oracle.DatabaseError) ORA-00932: inconsistent datatypes: expected - got BLOB
```

Same issue for `col_nclob`, `col_json`, `col_jsonb`.

We need to decide how these columns are best validated. For aggregations we use the length, perhaps we do the same for row validations?

We'll need the raw Oracle data types to differentiate between CLOB vs VARCHAR and BLOB vs RAW.

Search for "issue-1364" in `test_oracle.py` to enable test columns.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.