Describe the bug
Sybase TEXT throws exception in count column validation:
sqlalchemy.exc.DataError: (pyodbc.DataError) ('22018', '[22018] [FreeTDS][SQL Server]The COUNT AGGREGATE operation cannot take a TEXT datatype as an argument.\n (409) (SQLExecDirectW)')
What version of DVT are you using?
8.4.0
What type of connections are you using for source and target?
Sybase
Expected behavior
We need to change DVT to follow the same steps as Oracle CLOB. i.e.:
- Implement
raw_column_metadata in ibis_sybase/__init__.py
- Add an
_is_sybase_text method to config_manager.py, use is_oracle_lob as a template
- Add a call to
_is_sybase_text where we use is_oracle_lob below:
if all(
_ in ["string", "!string", "json", "!json"]
for _ in [column_type, target_column_type]
):
# These data types are aggregated using their lengths, except for count().
if agg_type == "count":
# Oracle LOBs and Sybase TEXT need a length() before the count().
return (self._is_oracle_lob(source_column, target_column) or self._is_sybase_lob(source_column, target_column))
else:
return True
Search for "issue-1675" in the repo when working on this issue.
Describe the bug
Sybase TEXT throws exception in count column validation:
What version of DVT are you using?
8.4.0
What type of connections are you using for source and target?
Sybase
Expected behavior
We need to change DVT to follow the same steps as Oracle CLOB. i.e.:
raw_column_metadatainibis_sybase/__init__.py_is_sybase_textmethod toconfig_manager.py, useis_oracle_lobas a template_is_sybase_textwhere we useis_oracle_lobbelow:Search for "issue-1675" in the repo when working on this issue.