From a996bd8f4e0b24cf9e3130c67591e4d4ba31830a Mon Sep 17 00:00:00 2001 From: yevhenii-moroziuk Date: Mon, 26 Jan 2026 16:28:45 +0200 Subject: [PATCH 1/2] HCK-14467: Extend logic to handle inline comments --- .../src/main/java/org/db2/Db2Service.java | 9 +++++++-- shared/addons/Db2Client.jar | Bin 4301356 -> 4301466 bytes 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/shared/Db2Client/src/main/java/org/db2/Db2Service.java b/shared/Db2Client/src/main/java/org/db2/Db2Service.java index 21778aa..ebf88e7 100644 --- a/shared/Db2Client/src/main/java/org/db2/Db2Service.java +++ b/shared/Db2Client/src/main/java/org/db2/Db2Service.java @@ -32,7 +32,8 @@ public JSONArray executeQuery(String query) throws SQLException { } public int applyScript(String script) throws SQLException { - String[] statements = splitStatements(script); + String cleanedScript = removeComments(script); + String[] statements = splitStatements(cleanedScript); int totalUpdateCount = 0; for (String statement : statements) { @@ -72,8 +73,12 @@ public int applyScript(String script) throws SQLException { return totalUpdateCount; } + private String removeComments(String script) { + return script.replaceAll("(?s)(?m)(?<=\\n)(?:/\\*.*?\\*/|--.*?$)(?=\\n)", ""); + } + private String[] splitStatements(String query) { - String[] parts = query.trim().split(";\\s+", -1); + String[] parts = query.split(";"); java.util.ArrayList statements = new java.util.ArrayList<>(); for (String part : parts) { part = part.trim(); diff --git a/shared/addons/Db2Client.jar b/shared/addons/Db2Client.jar index 1ce23359bf7b9b7bd161571da42156529a11b3d6..f9ef0b04d1e35cd22bd843df74d11fd0afc16cad 100644 GIT binary patch delta 27076 zcmZvl1zZ$c*v8#iLb^Ky1(cAKj@>~eBozY@5L>ZZ6a{QR5k)u#B6brNHrTD$1&VrA zR1~n=?>T!GUBBO-5%?`%DOEq{{wj~S1` zdNgbsz2)%qJ-fOze9=vske}eTxN>2rdPlD>@Ah{#yPEpUvFgh{_Zx+xNjna8X>bxO zi(NM&|90Ckzn=W4Puc1&P8XFQKd2-On&Xoe7eQXBU46zwuGsb3u%@ms% zHgjxkuvuWU#MTyDJ8V|itg+c(Ymco1Hd}0V*zB=6VC#s@5t|b>XKXImT(P-f>x9i6 zn+G;eY+l&BvH4*0#pZ|2A6r1hU1ib6Z8}}i8!30)e8R>tmBQ+HpMDU z>v>D>SL3L$t|=K-%c?9|x9#Q{8q(F+QZOoHeNIH+xia0(H_!iPq|n~&G&QByEb*PFEQtG}lS|qI+R#(A3~G6P;`SML(UNv8K1fj=Fw2QD^qN)~#{h z*RNY$aArn&W{(xh`L;8*jvtrQb

!tc61wbIv-<6FcOGzZ>qC-*fA$o4Rg?wHJ?; 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 Myr#naY7yN22ZPneU;qFB delta 26668 zcmZ9V1zZ(P7sk1J>AbWwC;|eKqLTNnMW~2fD4^I%h+T*+7K$>qU}Itjc6TeHf?yY6 zw|>vubM?jV{eA1@|C}>t&d$!x*6e;uPfruJoSG&W#I%&E>#C_~tEnAI^Oq+CDC+z8+d$=Wwd~PWAr3ExY>9 z4KA`SE0}ZRLA$ujk)=P?b{spPBR!nvlRZwij`DZ4t{?xMT%jzt5D zCKfF$+E{e3a6dgP`dAFG7-BKPBEw>g#RQ8f7Bej7SS+wuVyT723X3%s8!Wb1?6BBl zalqn;#R*GoEOoFrW2uY91&b>dH!StAxMT6a;)$g`7B4K`SbVVfV)4V`kEH>Y04xo$ zG{VvtOCXjYEWubpu!Ld>+gGG3Uz^VxVc+x9@=sc(_$yZPiuI?u`f6&&EY;L%si`sV zJkctBT^F5E9d4Wds!Hrzn)ptLbUfZxrtW;+*=bVd;`jzO)~q!y_KP?v(rcu>TV0#7EDI-i?1> zdAY}x(C5FehCYw&8T9jmjvAYh-?MSnn&bH=HTEfvKf9KGCuVp9v)7xGs)`3s86x?- zAi}d(kPhJ3K`T^TSuad^t84)wim_-eG*&^?*gzriij zfJt?ht)Cb4=uOu>2b!I2kiNW5nXiF|@w~2Q7EcZ`@UYr5xy8VW13_0#4wF33j8Ahl z(4VblviowxmNr|1;?A}@aN%ZK2mNgWs|GKaZ24mGR?TIv3SZg0ntXX^%C@p`ivFVmo;11 z_vWz6Uwpln?&xsxcF;EQ;^Nnfx+%hY-)}SB^Wus54}KcjNp|b@H{N_eo=_F@Ic1Of zz8>LPIcY8iwM$%jIYbeK2_TXX~Mlg6wS8uIL%P+d9YmmA~`c z(4Z49%&V>L5AiqKTlmCoh~7t=8;2LEWsEjWlUtY=HGK8rq|1$7*3MpLv)(jV*ev6n zPSx2i4?W{v9`D;LuJF#LEXVNSA141QZ`Z8f$Wu9ke+-P!k6XCbZe}Ns^oKglJnzqH zJoL%g8wqtHbDJJM+|PGmWa_kNA|* z)X$_Mpp|!0^SN48ri<@)anQb`J3=csDE+?8^P)z3_U`UcboX9|PWOr*l#c%BIqkCI zz2|`+hIS(#{hZzEUG1~lvA6FJo%bQ5!4K(;M?>qqvbS?s81{0<YX4?^!aHHuh`kMa?%2C;_1?jkzeNRIIjEbN zu5C1ERI{_`Yeo&eJK?F;`s@7$Z?DuY-kWe^djs8;&DKsoGS%*JqdOO*VVin;hqbW! z=@fh@vc;ZRu8D&Wt-W*0C2EY|P*l+7tn1p6#~p^)SyVo#HS^n$$_8X0Dn;gR-|JjH!0v2yV8$W!k_L&^e%tk8KiqklFz(&wN9rrDS8tj7ygFpo^!X+AeV6sU z8EbU9dy856Q@gHlo&5OuTMYy67hh^0aZaf`b@qBc&y$^2$M&gT|Eb5*J1j9P>2`IW zGo_dAY_rojxnNh^?Y9B-hPy|`UrYD7^l5F0v7ePyG1EJe_juVCi@KlJ)eS!1WR~T_ z<0AvcwK@Cwt>4YK7Ae_Q2?qxmoNjWV@yn7mX(M0%?i{wfv>g&|GagRFhPVW6+ZMt6U%I2pBC#3vv z&v=slyMO6@>m|7ZJ>nvx6TkHi(rwnOMfaUY&-&baxzSD5@9;st#1>B;z7#hcuGj0l z?yzwct!$Prdz7;_(6~|YsKxnBL!G+r2+HnsFRuQe?hoFq*x2nty9?JG_N~?ROm>;m zesV}RS&6a!via)sF6^0}?Uy_$YKxuzp@mB#s}HTyUo)v9eRtcy;T;AXo2=`9dR)ud zC5v16BzcUVQe@pxG{2h~Y-ZPf)|2<{Q@6Vo=+-mnH?95Vodtuktsdq~%VM2M{ffIR zX>{hUdaFKBXHHyg*(lZ}@qR&K$kO2pWEU%+ch#6?ZdiAA={DnqA-e0zayD-1T{q%o z=JdQEU)wL^O{aYtoObef`qI+*+g?ta-0Gm>N~aNh^}5v?+~nuZ!Lx_29h3d&(%Rl0 zqr1MEWB*q3aisrX&yGt5zMBzug@u<1IXw-JSf{mhTxIaa{M^0;1N*JNU;HvB+5TMm zxVoEiyhCrlGv3hc$k{I+CuKe=`tfU8`r&g&&g{LDu71K>GxvO(BR|Y8wAu0Sxo!Hy zt5sekb&Ay4c$>ed{BKujWnnpOOqHPFR{+>-6M} zfs1_;76kPTdgnX2@zoCQIcuBs>EL<#;lj-Heh<&@U3N6R?CY)TbK6CodwwZ0{j_oH z?WOHIcYXXJu#M-?r=CMC3upBh`*z{gu5WsFS@U(b*kIk#K859_(}Vpl+!-~_-l1@a z;g+T4@AWgTJ~9}-^JMz9eMX@H2c~WqV>x>KfyrIkzbTn~dO~rJboIQYA#tU8iz_}q z{TdP;pJ=+vC@HSeKR>y}lPA`pC7)kjeelZS`;{$=cdUALJI{2`fYpPIu5H<~rCs9K ziNmK4PBR<4e(3SQ!~`$95%wi}&H6m~R{Kk;uid`6hX)l*^jqq-c}Y8qUZMTcPmI&} z*xPt>^~IDrUkm39E}c_%)Z$?KlN~)zyc*rp^i$eZ$=>i{`!zqFyH%L4Ywh(p=h3PV z`Mev})!sjrc^$Fu{J7(xGsQs{#;=(0A}`wLhU*58^x!2<@109y5)Y=@CO^_#@Sssa}aptwXGr2D~wQ7ykQ)QQ!2TW%`#dg$|1T=&fdFS*vs^>9 zlNY^NyxDA)cju?J;qM*yhRs@`b$jN5?ZvNVtN9LEmpWu)v*6+vj^8fkx3sxl(e6vn zCZQf}YiFHF-|8{Bd*^Q^Pj+0g)ZJI_$*b1oin&>xBc8_&Jhi07yKzsJm-kbTG%m%Yx9#n{e^ISN8(tiqy#H|K(ba`ttWK2#T!~uc z|Fk^+e%f}&t7A6(PRM9#2J~m%F)#qFSuh zEMKh^xc~jo@=o*n8}?n$!D?o7{zQ-Hyq;FKL#A~KJJx=8X1xc_^B#8mFn`Ucf;|h~ zR1R2UH?Qi<6S*9 zTHAH@QtYXH@ARVAW)1xGt1cYd({j`e%K@9unZG;Qc(`*x=O^o4dQW-Wpke<}5hqPw zg?(|H;`Q$4Z28qb?aGFl@32}sJu%B`O9%VVUGLoH7NxGf7T88Q3oTPixA zbpGy83`dA;@S%D&T9bT3%w^ul~< zR`&awr<~2TH+DL6<>`R4{o1tZr1NTFkmy-!g{+w*Bckh_+%psNZ|v0lHSWjd#+k|f z#dDuTZ;$fZmz^2BP#80?&9}SP7wC1|mc1aZ&+C}QzH<&wOc#pv%eDNL2TT2m)}48G z)2Zhi^Yv%6Z_e}Y-EH9PTECnFM$DK#z7JFRb2qTfNHIjge4`j+QC zQYjbETh!Vbsij@Zem~e%Gi2OQ!f;UN4D{K6B2mg zNy6GT`Ilbn_)S=y_GWqu7L}c6rv3Wm{2QrJnG;@x8HSIHZeDP|tJRwk9W~}XdR}Kq z$=0=1R|`DW8KrewP%kLTuX%Xn!56aC5f^0bf9dh-KQmnaX{+%ojWNgN1J%{ftm)Bx zU-@PE6v3EZbS%t>GEY=fQ|pbzJG(&Fnq^&+*Ya;aqRr)&^`kr^Tepqa)Sn{oxA-4+NTURXzSzWIor>r8T@Zk_T{GBTT)1W z2j7x=Nh;{?@weplCHBnsHhhlUf=^rJ-`NwST1@-4+)XltbGYOXxj5!~XtJBPebr_;>g51ax+%FtG))axFdI$bl`$QGL`?BvPE~`vzPw9a|ac@q`%XfG&W*x zMRIp77Y#MFrfpiYc|~$NHlhgOBiPg;d4ME|6&A?@C5zd|BDBgGjqGv_a~645?k0TX zf19#tcM-21lN8IXSaruhEq3QF>QCfCgk%MaDwg|6j<@E$x zt?WE4OV+MfZp-T5lN$8_U#%H zc+Pg0$Qw!w+3OMn2xA_la^>9w*0xk`BS~RHO68W0yho!W|NReF(yIStY87IRZuSmc z8+No*uFEgI*(H<|E^^U|_j+BX{}Acw>Sasbn6uUou^w0T`QO>U_4U{mZp$!W*URJ< ztn#5;F5EZ#3kK}qQ^@_x}vtj||2>NRWoBu>^k?pN~pzl-E<4}rrvB-`oHDbq}BH=a9RIHO-^30${&Th|8(WaM5>;0GJ zEcqF{pS=dVFl+BWYj&M`8CP&GCVegs5ZYQZ@dfteHqYfv1eq;?!d7C%wtU4}1=~qv zxKTp?ts03>CO_F-hU2bnBs-JjpPN(dLfS#K8LaSFXXkDyIdmU>C0FV z{;Co0f}G-glS|B5W(6DuyhMW2nv=ZrrCbzlwjhv(ON_~9apXTiW<`=iVWh-@`Mgm4 z*@&+YscuiQEqjGXg}n*3^^@qZAFt#-!i0W*6-(Y?GB)rvO1VkaEU9INELh5Jj%RkjT6xxES-*kw5> z-Iq)Ba;hOrT0z3T71%;uxni@5l$cdW67k)I0lB2C%#|2$9~m=#iyHG*lN|n5-a?SB zCCCS0oU48-?OElpHiD(^rc}r^KD4OvyKnJNepf7%9_H+~g`m&o{X(;zwq#C%!jxV4C2uBNup)5% zE%y_`n-C-cu$SijMz_7vo3tO?0sE@5sLu#Ndr?b;yU=5#QdpF!@Do0bqrb1?@3INx zXqYZ&Ge-$LSIi_OP6Bh{Jc9KcR?R1<07#lMM?uk2IJ=!|=Irx!LD`RFY>S|<76$Gi zxkOONg%M(|TCw3v)_k-}$lA<6d(A+MC8>c&S%c_>wgI9GB~S9BImnX^0%g$2t} zS2Py}S#z*tmFkKZ!N&G4=(Dc2QWM^fWo(I^wC1opo8@XKVkElkt%f3AIxAV7Ib~^> zu~03A4m*{s?nH&cQ`KvBmY~#{ZVxmSQPK-T|C4%1XAS$0FmgYWn^31K(!z?J)nlR_ z+N4xlq03CP6>WrBvKq>1nT8G3x>XzALFRvL(ZUNWf?C!ZhOE}#zHHM?qvo;0up4=W zbnOs7?il%b{n5IL7Q(1r1iy6^T5NkS4SjY*7X_k+|CJRuMN;S~ z+6hIoxn{?V=4j}$LOpnCWRVh@rD4Q+{_VQM7X6b>zeQ}mzQT$vTclyYs?0E!DEF-4 z`U-2waF(U7Xe;EbqUyfrD?$V_jGsKemIi=Edk9tv1aaGULq(v_EQiILDr&K4BSll8|5Ad@ zMv72j>`H=dD>aQ&!=5QZ%v`N$RO8q@cD2fDwPr0gM8?~96Dg}VY1USjTO?Dcv(4Ky zYi^d6+sMh%SkY0qyOTg~m!|7~B@P>7i<|5tQ}cbAbt#Dg1(I+zQCLZuG0{ZPL+E{! zyI8RUCfI+{PjawhmZpku$yOF;s^}vWU8ESLriw;F*;N8>Gwh|6PdHdGho_qM|5ZHj z**~fFct%chpJ`g~P3A5Pd-GS(VcXtl8Yo*>xtg8L71q-DN}SyDJtwPD)0oG_!J6yI z?=)GShn6|ZeW$6(tiJx)`WBxxYwl4xpH*&kEEK-dpWjsE^<7hoMK~c?rbMe|TaK47 zUrVgTHi?!NJ7j?b{WM7Vg#ftH^RZM!2nub|vMd$8!cskgVh&ei1ixh{U#}L*r(2Lx zU;$;*_dj_~s)a3b(w1zyYoX}T+62|L;pnP~+}!K^lbc;Va)_=6ht^hzeO#r?vqElD z*>Nl6R_sq+PS%JyM?r8zfg(ygz9ntvB z>;P#S3FdI{+C&hyNn4AR*r8y*Eu=WuqhbYXYmbW4x06<|9bWtG;dP~el-~tV0tGt0 zs#C!5=OtSoWNhFjs^h%~D(u{#zAk*Pscx)dW^=@@-wQ)?NIi^B6I}=jTy(YBoO(#%lN%{lV3s^!5_hC9$eXlycNEF= zC&=e8ya~ZO4u$Orf;|8YJ9DsLQ#}+uf>sZL%N|G|IgTJVPFIWBd7{n*{Yi=Q#A)MQ(13Yh%7jW`9yGk0RY23C?p+uT5am0I=091D&k~HIna9Glki9uL_ZVj=?=SCA8jYhip4Uz7xKBTMhgwMlXE^LkCNOG@Iwv!+G3q=%mb5%*LgVoSuQ;^IAsC;7I)egH z=h|hYj0=RhVmX2R3Yaf(^Ua;47zQCcuGWJPKKc=9xzL0nTq*HYddcBvB|&v1$_ECc z{KINeWN)Eh*O##c!Pwu#k0hT8MycCh2@FC2b$<|a;t-<7u7@G`Du5)CT@OL+O|?k# z4TVD=9fC0&9^pO|_ddxX!JR-q43Jizpd*Jz69`rUB+=|z7=kWZO`4A!4&BxfjOO6A znILYnKE^ybR_XX&QuGusf4W4_fkRvwK~@=jYc<5m)-o}W)i_VnGhqoLGJK}M_CIGq z;3XoDAuL`*9#;0G9fKxpb|lbg0tl`{(2m2Mx&+HO6uA*R;c&x~png+;h7Z9A4iEeZ zjshf>>}^w2H#~^6w$0%1PEN3tLwp3mV-9no364Y?XfZeIKO<*UdjlDJH3kR6(Dvkz z)E*Awnxm2IJCo9;GZen_D^JXBH^&+FRaV^`b!YYG8m zAOu=GA8o3g`cIpFPa%h4;qXozPH>om(|7{S2!KsGK^uU?gk?k^h3*-om2-#slL&fF zLPfaKLK%yZ=&enrk|`|`e)bDgffn$DIv}B&+-G7A$r@4c*|UTo8X(DK6QfYshE=4M zafe;23F@^3G+9qDl*5>OX51QGq_8ErNX%9OX)9P>7Z9}KFljfzA`aX36Fl6Hl=>MV zrH`%9&{a&<8Wn#&M%I+paMeCdaDYS3IRYUXaN{CDOAba?2^3cmaalArXp0-9lyI|6 z5rIn^fa^ViWPoHA%WH!=_mq()iQ(Rl38Fasen#N)9FdpCAadeMQXX*g$~Od8-@xqI z7Upl2q$IUPcte)k7U2hdRBAcxP~z+tvPW|0`JG_icNAaJ4#oHXB;`IgA68?&ofH;} zDh;)mM|)VyrAmPfX%FiNErPuquIm!~21v#*-wvo2XGXj@o8JKr^UMj3nIqWZ2BLn> zP+Swe>ws&!X;x&a(-D5t?Fa^QSn5Quhr?xOf?ojKhV|)$Dn59!<6TfiRwtYmrnBQ* za|s~LsWS>01`@~vQLS=Y?+Y=kImT=XA%|Vu`;mg+2Zx!>2%2{RTnZeZzBXFD!Uw$`IIS#$fG^}~crIf|=K()2zl5ar|6uh#4;P(PU zt(=~yqj?SqO?tvQdkMkeB?yaiNg12I!cfM(_rzd0W(C=9amPV<1a@(N9_t9^u0yFI zaR?foPs(mY$`0-)a!mYRqL=#zj^qsu9R zt=!V^9Kk0J?w1JUy--~gOYMc~dfg=LIy7P39Rlm#fDiWwdUIG;La>Fyg))MV9FlO7 z&g)+F7;B~MksT8;`k1nmM1z^V^G183^ITrUp8-VeF1xa5=`UJU&15<;C2-t!QcH*UAZ=C3H{*kOpjm_haw|__Z;q;5`^>z+^{5= z%Hg05!4-hyYR&+}oK%OT_yMr1yAtGc_~uUVj>CH|g5ZIGTt9*-9ELX}xXi&Sh`?eH z;8!R?96++1%^!s7GMkh3mOCWl^f3kNm>X%N$rOXpWtv5kGHEc(4{_6xn`P~caAfX` zerVItsOD&3*pVFM9pPXz1m!n(A*IImQT0wfyDF$J|1 z;%+b3CZ@n)@kE02941U5*ggfZtx}Q4pc$lePldVbY=X5MT4xbV$bxVGerTCK3;)TZ z%R+K!I27KIc!I<0Ob6gG>W-nvBN&ffxMrLN2hX(xJ=XqNt<*G(bh|f@yoUQkZ&n4_ z3?Jp7U{mll&*yNGLknF3{jq=mJYwdSjvQ=E2v!0l zTI||b1l6-9&1W1OKHCwD=8)z{aDv0yIs|&-0XJO;I&kQPiw9oA3J&XW@xb93hy6YT z-V;z=f0i%-)$MLX+Hq)tW-x(nI-p$`L3<8NBv{VjVKV|*bD0)y6p&bG61%n2wHbS*{&IgX4{P`=4>f9kLy9OrH4$L zz2fHIy-4xy4MjO_G@XR*ysJ0K!zSVW1g=JvAr1pDH=%kGQYfjzGNz*~VkRT(LVtoK z9Nsn{c*NmV0D;F8z^E{SVH|W71cy1aZ%&{&6)-Y_pbbEBmSs#ub%||AE9VYB+7Z-m zkFL?BOm%|Zsgp^~@h-9xIi*cQiHltc4sqz+gFs_CKs|vV8h{6@6Q`rH*#4xIafgqC z2^+_!emu-8xVhIvQXayL*)+zP zsMtA^wA4%#={$?zAcxF31kzc6*errMSqK&pj}fi+ENnB)Y?2popVf^mERSpZ){-WfgF*xH38FaE-As_pVdhqX2OPq-6C`g({ho8NGP8G* zk~9~!`LW!&h+Mo^spZT=iIb4}K(V{(KavYs7rBv9|X(^u;+khdK)Yz1;`~bLi+!u!qAL zPl8_n$!6x0ji7V=NXyEGgGB>^Vh(N%32H9{lr|zTYHUhZ0rV)TQ;_LDy)uZrcJm@# zn-TovaJ8ora^g_D^&+fbVggy`EkZ86+3`il6l-M|!pg#xsFoFUOebWiP zaJVvwK*6}%41(ktsAe8RH5X@+a*dmZ%qCbd8)k>aFx$)}C4Mo?{T35!Jo*!^yF((R(=C>zl@eD{H6V>Rn&#k&Ce>z0|^ra zwqu#XjBOXpbXZpne(!x19$uZ3n$>L6LMeIqFGCS0U4j^06sh%;-=W||7A?c*d5je- zQ}hy?Ot^~$b6<}1K9~}uaX>FoS`KkIVM(B|0)VHRN=r0AvY$;{fsGOCL|Pelcv**_ z-b%nO7lNT2qTC1yIpli~sILMXs!!0GLsK7u91ezl1P=i?p*7A$br!*-?bH@cX{Bc5 zVy`a`A^Bh~%6*Y@Fk|gB{`l0&gU|0~BzrYC(_(G%uvs@okTNe172ql=56@fMb|Y^4HQL*a+(w0LLu4WVb%0?Ei)+*fb0Ni|?qKjl0OIoLBC(&ld@gs~~%Tm{)_ibKl zX2V|m!qkMA4cN||)|=J5o{MBD>lKlb?(E=tMK`JaW;6Cyr&b--W3w3^6Cc9B8GO&I z=CeMpdrA*ymUPcdlf5|$kIftKsL-^TIWJk4RcufMNFz?DC~Bi30Kq42RKyAm*RhO^ z3RiY%AG)AXKKgmN6>hHS)N*03k0`9!xO~JZTcwhY<|`UVZ|l_J4nA!51ys~<6S^oK zUu{yvN^>fdmb$EPgqt2K+k|NL309OsT!NJz3*8K9!ZnpNZ!@x*+RU09-f+^`jeFp` zt$mnmA7XEGwW--G%UJpr)UrRvhDv-lbJ1glTM=@;rY%YFTM^`Vnu-o{a($yB>up%= zcowq_tL=B0wcVz0Vaui=#KUa}@jlF+LKOPe(PJUoAvqsWNprU&&MJQgawzk6&||Z& zDU6xtS_h*V6Vh;FzJRxai6c1`jE2Rc3dN10n=|EM%%;U)N=w3M3OjJqn6Km`74eO2xUn(i;1iUi# z!E47>mGoz;%9!)X+BJK*`BCVa~Uo6v8Z; zpxne;3bEbhVn!QRlv~)~5R{gfg~OGs{pe8Gz?cwrnTdz7v&}e*#=FRUCfwkP8#6kL zbDOP9aaa+D)45#!GbHB-{>9t^{04w7^@l0_HKV4Za|M`-0 z9RFgr0sp~sY5wz`IiA2zV>XfhtY>BXr#@4h#Lo(r%YWQ+PT^lnYv4a!*)jfu`AMho z^NUU7KUu7d|KNh_41V6RT>i5&=PdqBW$|aRQ#l@F31_i-PtRgN^u9_UKZp4ewl4@) zaj5*Qghf7e4Or<-Y$V(B*#2A1>$38+x^C>^J|{gs63N&&uBX*k>93BUt32S+*Km~- z8c|n|d0s$=GU=g`Y&OAb`2~2LPE$($>3EDu%2pV75_QL3f!FRXDhcBkGUQTBvPx=sfM<9WQs-$Z z>CcFU=Hq(xa+R(e)-GK|9XfkeQtQ2_*7F)9^D8Rp^>&3VTX9WcC7t|4CF$}Z>&G?3 z^8K!ol)XOoIwZNVE9I-~_J_Ds%T*=Cy1J?cHrpG}FNG*|TUIc_O^5Zofg{P)sQ)A! z*={I&r2Yf`lk{k)^SO!A@pEeGID%o$KGz3ruc>d_jw;co+@;s9)YSj$Q>}0DRH|zl zjozZr@>|$Hui=SS5%$LFTiC_L0D?BR0lzyEY~wI$1cAXFzyd}vm_z4%1n4;dco;1y zQuLIFEFM474L0?7ODR`hk15B!h>&_U$G6~+njRBE>M0LyG8P{Dk6Tb|O}Fu}a8r(j z$M0gz?u@NzRCXfAV(8mf*3^|fDV^(DM{DZJ?o`V47Y|jsV_7{5et?v*(0kDDs=3oz z$RzH#U40KNE!I^@*seI}-^0f-rDy*$DkM15c%X>JGa^L^CV!3Z$ixzb19KZ8nz6ESoKjsW!SFg2)9Feu zeQ{rwhdpyB#U}2vgcP>K!-%yUhOSss`O2EvOH zPUVV7X_&T3Owsn#VwvS=+Bs$_>8P2f)}mru6(CuA$!_+W7uXx5vhJ+HDvo-DCTbC? zk~Tj=HRcLj7b-mM*pEjD)~cDxCVz}danJiPVvL@t5^qA3rp;B6-4lgeI&GgP%edif z%J%H@v|zSF{6AMv+II&IMtpjtGL-9cgfhG9 z$x>fp_=-ApB>HNwy(O|QxylT#i9ACwZ-(Xf^_-ma1b@)uM;5GVFDV`c~ zODRCIgvs7uYVc17CRRWj@dgf_P6Y8z-pUDZ?m}*DQVc6l5Xk5?l%Jnocl{!}u8l1v3!&rG_YDFDkM3B+nt)whBJF*v)w9&?WFms=|(U zcqu8>OQ9U#N}ZLY{Nx1=Z6T=I0&|;cm7vVkDWd|nf z^8yXu!)MHAf~}w7Ge8$Ui@A>sdo=gC#C=R9?CmGa99O?kB zEBK*^kS-kU$F7_Enlsr?K3vaKQCCi{SE*<n=z!S(`h(f|GD2shL3r{NTa+zY3k?d%;WQk=@RkcNnS2o*%GrX-p|Y+-w3aMn3W*pYSYuD% zF1Zr;FS}3hlEaWs1S>zGFlLXsD-UMecdP*O`k!Pz1(3GYXh3acAQkx&aJf{BkXq@g z#8q5;#jZ=maB03(0QWRw-s+;CG%`R%qd18{Dmu>TX1I!UHBdwIr8pH^8eqfkrMXLo zQ^Q zQJg*)t7rkIu2w3#$0^@aMYXj-=e<-kkdvXWio$#wV#w1*?$`ZQ(l_oH@MfBzACcT1-bTDQ7=wQ2dHQhC*#>FddI0&wu*xEKpzgO zXc9=6>c@O}x$e{5oiew!Obwh@M+LKxMR;F_T*mxMBzkr;zX z`Uys2q|mQ7H<>fmyOBA6byIbh^qCR*^j9X4i7~>eB$j84etIpbkv41WhI1C>jnoVo zs<}0k+bo%8S|i+w{9C+;+r&|1(=`@@gtmAtz#V%Si%l>|H`iEfE&Rake`C>#`J8K{ z$M!$^Q+JDNjcSfwf!Cb&4IyEI93rGXpYD!bMbf{iU=`NR^_|=pg{Tr)p z$tpL({eZ?buXnBl)byQbiQ*3eYf87c)UHWQX>Jol^sa?nX(7?Xu7!QZ zx6OY>J$9`Y;#}@nQ*yR~w5W6A>^yZdHkiZ09t68NEK4Bx!C`0$K{IPW>@b4a95xOo zxW&O|3PJo7q^R>ZAAcLu+7}m?ue4iS%sY#D4l(Z z97FBlc=jB@R1P055nKk~$-!@XjNfKANbBJMhkCaN)^TvVO;7>A+p7+a@E%jtm|cI+ z7;on}iow!750vD}<~d?ZRXK|GQmrzT!!;*SorRP&mN8F#7+s$4f%b`r5}r>S!^tL8x!0y6m4=Gv3_ZFG0NbrHD#eqb;SU@=~`A-Y$ud@bIp|L`vlr5 z2Q_kcK_(7tu8Y_L_u+24h|v-Y=IkoAlje$n?2s7f#Fn~Zd#bevWVS5=-C3&yG~G{E z(H>)_ts6>xVZGhN)_BErhntunJ=`%c+gQ_*e^9`Vu6sMy!#0?e^j9`ymy!Yvn85(V z+0AXs(#UotEwC1wZ3tQBj_^;Ix4Vc>P>c#>j-vt{*$Q{j9gk(txr=S2r^W=bvN3^m zncM?nS2oZ?jFz^U7|1ea20E~N9_T8)CMn5{HS`n%qG}Nm(fi*{o zk~vBbd-ldt^ucATU41c9a)$M*FSeFu1?zrEZ?}ektdiKprjKW*J&Am~0-Db>0+>Ca_3SiY5qUtl=h;W9LdyB1v0KCud zE7oQwb|_59dUtnV&7uAx-tYGnUD&rE-no3Rbz}E&#g(nx7pTp81|ubFU%t@~lH9`= zow9;u`HI~Hc9d&w%*+pCd8-rTkmLu4_AJj24zJIWR{tDgrME+@5P!s4b%Eq`e;gg; zmkI81sJKeteGLUd8=ya~xj{-+1DNCR;sej^H3u`i^T1(q2OOPy1|Y5kFFtU^RsrPz zSF}n=`4NBuTgwQl$`HIvfozf+!YAS}$qhx6y1*5+XQUW3!m1o&ibhzK{;!$X2V*uyTVn zb`Gl9Up$;u5uD*r9f}Qf(UlYGT-hG^>iHuv zcR3RKh3gMqZ=4*7&BSRPhrYo{Npfp3^`mI0|#YKIotw)&*IV)fpfyqM@`bnWy^WE@QJ%Lh!kb~ z6X-$)d3lCn54sYL7y(mA`ESS1oc2$V@zcoR=rjaIKa#O25hzzMgJcW_wb(bN@+SHUS5j;AfQ)=n4#h%I4kX2`5qr;Ol5L|A`~6k|3?#MK zyl9xC3rNW--~&h?GOFNm!A_EW+F+28?P2rVVl;`_^QUhqGs-{kPe#iRaIbo->_Cua z4(~QU+aS=?LtJ%doq|zg_ZTP-F#2;Pss)q-TnWbaUbr&xBr;caD9g5xo8TKSTuupr z<8UaFek`jk_NSkhxWR+f55;B5m#hC|@ft@0Zkxqz^V%WID;x=wVVn_N*<~uY?1`_# za9QRCSvmf+Y!A6rG0Fe+n|v;}e?W3od$i(8yadOK#>C;A9g}c0uB*8d`uJM)Uh*i>d#U-Bd6uRS!!oAh(S{{$Y~+C=IOA6NuEXKZ{bxHMh!5}%Cf38MZMf+G(Vd6@*T>oG# zHYXORJR9rPP`<{BK0=cJU&WZ7h$zeV?t$`Zm?O#8C8viNEUaxz@QQ=AoFJ^H*i0zF zgh}pZBnDg7Sj!h;aLt3`eUZEjngrYP5AUcFZQkM^uf{FNYha6DLw*t~W8Yf-<51C( zJK$0$4mT3kM-x1V4mRU8 z?k||Iz=1f?D@;I$^Swy^-7DCbBAfPt+&hWns9w0ZxS2|zGc?$od@gXGJHtrUA0F(% zKjWi1=?&=(+wDnzZN^M%0BT#xXy zexh8kEUBUNEBPm#KzIpi5C1wO2q((_f)#HPAHnH4DV?7On@~e2uNp=SK*~OB{s3{L z;95y8Jt~8(nS3C2m6>n3V#$1thiI^4Z-c#Sw85EyDEWw$4-}Im;Vfp5m?X@r#o7+S zfbn_|Rw3JtgFA~JjM}Hw=HSF8)yL3qU@+2kaV90kH$;yOaSp-r_#vpVz`ce%YzT^) z`TkXKuETvA`m^K7q8Cf|50SB`Bq+{uQijMwO!=jYjOjKFskxv0Y{DIUS!B}?bK0Sm zYaf`5Op5VF6t_)F76T<0*s)}Bf)EnJwU%sF3Nnc8%ps5!bPmyEKT=SiYXVoiSV}?& zPRmlE9P2}herkw5JDrN%sM~-V%Ju;vhOEs{IG#-TE1U440bex0gghSX_c#<)o_{HG z^G!o;zb9~8eKsZyc^EGvC{E*jW+ev~7B~z;VoDxwBU`p1FT{-bjKKQu8-~&Yx3J?Q zM0?hKI~qzd9Ao{Utu>V1!x5+Uc2Ww5BWJ%o9O^K~5xASzYA->`o)BF&bA;FsclnQv zz;Pk4khL9!Ejytw#E5kniB)KGn3QcJF^nC@R}Z*Z^C)VCS;q8^htzzc_lw1h61xit zm&mVZl-L-zx@Duqo{|`rJX-83ee@!P{dy7NLff+IyO5fPo>uQdSoPNs2NpU;43pma zsw6l12#vDk_Krc%^k>({h%wUcnxSl@W@tUudMqwzf3Z zj}7&-At@`zqZywD5>$;B1BI@k1o8>kYTd&KW`%{SZtW`T+A#q^Z^*gLf<2yqdnQk! z2+UiCnzMqbsJK%)R&f$bO&2=}zWAh022RVX({Y{X+Jhi!BDS_mJVF0>R4{!F?u`+|h^KafM*ST|MXw4pi``VLn;ygW@O1zwm zmiWIC`zIshRJ^y&Yl1@yygT4C1vk6Jjm&onMwww7QG>Fvc1?ln`z<6tpMtGyvXh|s z&QN@bgEwf}X^7YFxesJqs#ao)Y@UU6`u6dkb*jL-_uR|w6Tau6TxqM%|FpV3GoFci zK$>b{OwtJ3X!K0nfLxE)qLg%TCi=(-Cdm}rOQ-6Eu{^ynCpIb*_tK^tDybGboQZn| zds$^BZWCqOgt6^5VRa~#)LA&iORN*dCe{hF;}Sj|hgs8ekWS2O9ANIbgy}P**^u)w ze_AEC7B0ARaABusqc=NY{xk=NIT*Iwy$I6hpvujxV2;>J7>a4sb8s0EIv4w3VgSpV zhpxS3F7`D4Mg;X1;&5s+4^1{TgeyMmT1c27Gg^SwnhF_rymIG>3BrMroqDIBj1>oe-%Aee-Y~2Hy@5c z(Ii*9g=w;wm@suFSpaXnn15wmmb?IM$LEAGV}{ALm~YfT`jMzEvtA6B z#jN>aQ7-MhA&jMO2*XQWT>Qk&Eymc?#1PK{yrmLt{q9pr3l2e~6_xdQvpqmFX+t0TTQiEm}7s$9JS zRnBLJS0H*g(_D$f0{Y8Y+y3yP`87PTF)OiWZB3K2^J(~CsdBcFGT{qcHybHuJ|ppU z&)+LihsIcZr(~?$lIaY`xU2MPIYC}?+zn$%t3(k~Tnkp=A>uk#y$UzZ)7Hz`y!EIw zE*C*=?v%5tov3O%r{lZitYnwmg+ZE8obV&le5g@__A(rKT%)#!Dd#ThjsJ6 uEa#irjQuK=8#2e$qNy^_Kc8^^Cs5(l|0|%*R`T!MPFXF=GzVXk!})&_-#cFb From fcb969b52910b982ca234e781aa969d29029ace9 Mon Sep 17 00:00:00 2001 From: yevhenii-moroziuk Date: Mon, 26 Jan 2026 17:22:54 +0200 Subject: [PATCH 2/2] HCK-14467: Restore split logic --- .../src/main/java/org/db2/Db2Service.java | 2 +- shared/addons/Db2Client.jar | Bin 4301466 -> 4301463 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/shared/Db2Client/src/main/java/org/db2/Db2Service.java b/shared/Db2Client/src/main/java/org/db2/Db2Service.java index ebf88e7..55b7aec 100644 --- a/shared/Db2Client/src/main/java/org/db2/Db2Service.java +++ b/shared/Db2Client/src/main/java/org/db2/Db2Service.java @@ -78,7 +78,7 @@ private String removeComments(String script) { } private String[] splitStatements(String query) { - String[] parts = query.split(";"); + String[] parts = query.trim().split(";\\s+", -1); java.util.ArrayList statements = new java.util.ArrayList<>(); for (String part : parts) { part = part.trim(); diff --git a/shared/addons/Db2Client.jar b/shared/addons/Db2Client.jar index f9ef0b04d1e35cd22bd843df74d11fd0afc16cad..62923b827c9cf39ddd765a6d0d784e3ec0b70c87 100644 GIT binary patch delta 3859 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 b2ACiXko?~yqS9#FY$KfNJ+h@qII#U6y7n1Z