@@ -298,8 +298,21 @@ TEST(EscapeSequencesCase, DateTime) {
298298}
299299
300300TEST (EscapeSequencesCase, LOCATE) {
301- ASSERT_EQ (replaceEscapeSequences (" {fn LOCATE('Xsell',`dm_ExperimentsData`.`ProductLevel`,1)}" ),
302- " position(`dm_ExperimentsData`.`ProductLevel`,'Xsell')" );
301+ ASSERT_EQ (replaceEscapeSequences (
302+ " SELECT {fn LOCATE('needle', `haystack`, 42)}" ),
303+ " SELECT locate('needle',`haystack`,accurateCast(42,'UInt64'))" );
304+ ASSERT_EQ (replaceEscapeSequences (
305+ " SELECT {fn LOCATE(?, `haystack`, 42)}" ),
306+ " SELECT locate(?,`haystack`,accurateCast(42,'UInt64'))" );
307+ ASSERT_EQ (replaceEscapeSequences (
308+ " SELECT {fn LOCATE('needle', `haystack`, ?)}" ),
309+ " SELECT locate('needle',`haystack`,accurateCast(?,'UInt64'))" );
310+ ASSERT_EQ (replaceEscapeSequences (
311+ " SELECT {fn LOCATE('needle', `haystack`)}" ),
312+ " SELECT locate('needle',`haystack`,accurateCast(1,'UInt64'))" );
313+ ASSERT_EQ (replaceEscapeSequences (
314+ " SELECT {fn LOCATE(?, `haystack`)}" ),
315+ " SELECT locate(?,`haystack`,accurateCast(1,'UInt64'))" );
303316}
304317
305318TEST (EscapeSequencesCase, LCASE) {
0 commit comments