('42000', '[42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]XML parsing: line 1, character 56, semicolon expected (9411) (SQLMoreResults)')
this was the generated SQL by the integration tests...
with data as (
select * from "dbt-msft-serverless-db"."test"."data_urls"
)
select
nullif(
LTRIM(CAST(('<X>'+REPLACE(
LTRIM(CAST(('<X>'+REPLACE(url,'utm_medium=' ,'</X><X>')+'</X>') AS XML).value('(/X)[2]', 'VARCHAR(128)'))
,'&' ,'</X><X>')+'</X>') AS XML).value('(/X)[1]', 'VARCHAR(128)'))
,'') as actual,
medium as expected
from data
union all
select
nullif(
LTRIM(CAST(('<X>'+REPLACE(
LTRIM(CAST(('<X>'+REPLACE(url,'utm_source=' ,'</X><X>')+'</X>') AS XML).value('(/X)[2]', 'VARCHAR(128)'))
,'&' ,'</X><X>')+'</X>') AS XML).value('(/X)[1]', 'VARCHAR(128)'))
,'') as actual,
source as expected
from data
dbt_utils.get_url_parameter() doesn't work currently (neither does
get_url_host
orget_url_path
).I think it has to do with
dbt_utils.split_part
:https://github.com/dbt-msft/tsql-utils/blob/23b11b7e209c6d91dcb539316fb6c09f32fd1e01/macros/dbt_utils/cross_db_utils/split_part.sql#L5-L9
dbt-utils's integration test message is:
this was the generated SQL by the integration tests...