GoogleCloudPlatform / GoogleCloudPlatform/professional-services-data-validator
Row validation of Oracle LOB columns causes ORA-00932 exception
- 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
Assessment
This issue has not been assessed yet.