@@ -1900,6 +1900,36 @@ describe(`Parameter statement tests`, () => {
1900
1900
expect ( result . content ) . toBe ( content ) ;
1901
1901
} ) ;
1902
1902
1903
+ test ( 'No embedded area on MERGE (issue 348)' , ( ) => {
1904
+ const content = [
1905
+ `merge into sample.employee e` ,
1906
+ ` using (select *from ` ,
1907
+ ` (values ('000011', 'PAOLO', 'I', 'SALVATORE', 'A00', 1234, 'OPERATOR', 14)) as ` ,
1908
+ `newemp (empno, firstnme, midinit, lastname, workdept, phoneno, job , edlevel)) a` ,
1909
+ ` on a.empno = e.empno` ,
1910
+ `when matched then update ` ,
1911
+ ` set e.firstnme = a.firstnme, e.midinit = a.midinit, e.lastname = a.lastname, ` ,
1912
+ ` e.workdept = a.workdept, e.phoneno = a.phoneno,` ,
1913
+ ` e.job = a.job, e.edlevel = a.edlevel` ,
1914
+ `when not matched then ` ,
1915
+ ` insert (empno, firstnme, midinit, lastname, workdept, phoneno, job , edlevel)` ,
1916
+ ` values (a.empno, a.firstnme, a.midinit, a.lastname, a.workdept, a.phoneno, ` ,
1917
+ ` a.job, a.edlevel);` ,
1918
+ ] . join ( `\n` ) ;
1919
+
1920
+ const document = new Document ( content ) ;
1921
+ const statements = document . statements ;
1922
+ expect ( statements . length ) . toBe ( 1 ) ;
1923
+
1924
+ const statement = statements [ 0 ] ;
1925
+ expect ( statement . type ) . toBe ( StatementType . Merge ) ;
1926
+
1927
+ const result = document . removeEmbeddedAreas ( statement ) ;
1928
+ expect ( result . parameterCount ) . toBe ( 0 ) ;
1929
+ expect ( result . content + `;` ) . toBe ( content ) ;
1930
+ expect ( result . changed ) . toBe ( false ) ;
1931
+ } ) ;
1932
+
1903
1933
test ( `Callable blocks` , ( ) => {
1904
1934
const lines = [
1905
1935
`call qsys2.create_abcd();` ,
0 commit comments