@@ -70,28 +70,28 @@ ALTER TABLE analytics_internal.events
7070UPDATE
7171 data = CAST(concat(
7272 '{',
73- '\ "refresh_token_id\ ":', toJSONString(JSONExtractString(toJSONString( data), ' refreshTokenId') ), ',',
74- '\ "is_anonymous\ ":', toJSONString(JSONExtract(toJSONString( data), 'isAnonymous ', 'Bool') ), ',',
75- '\ "ip_info\ ":', if(
76- JSONExtractString(toJSONString( data), ' ipInfo', 'ip') = '' ,
73+ '"refresh_token_id":', toJSONString(data. refreshTokenId::String ), ',',
74+ '"is_anonymous":', if(ifNull( data.isAnonymous::Nullable(Bool ), false), 'true ', 'false' ), ',',
75+ '"ip_info":', if(
76+ isNull( data. ipInfo.ip::Nullable(String)) ,
7777 'null',
7878 concat(
7979 '{',
80- '\ "ip\ ":', toJSONString(JSONExtractString(toJSONString( data), ' ipInfo', 'ip') ), ',',
81- '\ "is_trusted\ ":', toJSONString(JSONExtract(toJSONString( data), 'ipInfo' , 'isTrusted ', 'Bool') ), ',',
82- '\ "country_code\ ":', toJSONString(JSONExtract(toJSONString( data) , 'ipInfo ', 'countryCode', 'Nullable( String)' )), ',',
83- '\ "region_code\ ":', toJSONString(JSONExtract(toJSONString( data) , 'ipInfo ', 'regionCode', 'Nullable( String)' )), ',',
84- '\ "city_name\ ":', toJSONString(JSONExtract(toJSONString( data) , 'ipInfo ', 'cityName', 'Nullable( String)' )), ',',
85- '\ "latitude\ ":', toJSONString(JSONExtract(toJSONString( data) , 'ipInfo ', 'latitude', 'Nullable( Float64)' )), ',',
86- '\ "longitude\ ":', toJSONString(JSONExtract(toJSONString( data) , 'ipInfo ', 'longitude', 'Nullable( Float64)' )), ',',
87- '\ "tz_identifier\ ":', toJSONString(JSONExtract(toJSONString( data) , 'ipInfo ', 'tzIdentifier', 'Nullable( String)' )),
80+ '"ip":', toJSONString(data. ipInfo.ip::String ), ',',
81+ '"is_trusted":', if(ifNull( data.ipInfo.isTrusted::Nullable(Bool ), false) , 'true ', 'false' ), ',',
82+ '"country_code":', if(isNull( data.ipInfo.countryCode::Nullable(String)) , 'null ', toJSONString(data.ipInfo.countryCode:: String)), ',',
83+ '"region_code":', if(isNull( data.ipInfo.regionCode::Nullable(String)) , 'null ', toJSONString(data.ipInfo.regionCode:: String)), ',',
84+ '"city_name":', if(isNull( data.ipInfo.cityName::Nullable(String)) , 'null ', toJSONString(data.ipInfo.cityName:: String)), ',',
85+ '"latitude":', if(isNull( data.ipInfo.latitude::Nullable(Float64)) , 'null ', toString(data.ipInfo.latitude:: Float64)), ',',
86+ '"longitude":', if(isNull( data.ipInfo.longitude::Nullable(Float64)) , 'null ', toString(data.ipInfo.longitude:: Float64)), ',',
87+ '"tz_identifier":', if(isNull( data.ipInfo.tzIdentifier::Nullable(String)) , 'null ', toJSONString(data.ipInfo.tzIdentifier:: String)),
8888 '}'
8989 )
9090 ),
9191 '}'
9292 ) AS JSON)
9393WHERE event_type = '$token-refresh'
94- AND JSONHas(toJSONString( data), ' refreshTokenId') ;
94+ AND data. refreshTokenId::Nullable(String) IS NOT NULL ;
9595` ;
9696
9797// Normalizes legacy $sign-up-rule-trigger rows (camelCase JSON) to the new format:
0 commit comments