/* ĠĊ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 1 ĠHu awei ĠTechnologies ĠCo ., L td . Ċ Ġ* Ċ Ġ* Ġopen Ga uss Ġis Ġlicensed Ġunder ĠMul an ĠP SL Ġv 2 . Ċ Ġ* ĠYou Ġcan Ġuse Ġthis Ġsoftware Ġaccording Ġto Ġthe Ġterms Ġand Ġconditions Ġof Ġthe ĠMul an ĠP SL Ġv 2 . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof ĠMul an ĠP SL Ġv 2 Ġat : Ċ Ġ* Ċ Ġ* ĠĠĠĠĠĠĠĠĠĠ Ġhttp :// license . co scl . org . cn / Mul an P SL 2 Ċ Ġ* ĠĠĠĠĠĠĠĠĊ Ġ* ĠTHIS ĠSOFTWARE ĠIS ĠPROVIDED ĠON ĠAN Ġ" AS ĠIS " ĠBASIS , ĠWITHOUT ĠWARRANTIES ĠOF ĠANY ĠKIND , Ċ Ġ* ĠE IT HER ĠEXPRESS ĠOR ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠNON - INFRINGEMENT , Ċ Ġ* ĠMERCHANTABILITY ĠOR ĠF IT ĠFOR ĠA ĠPARTICULAR ĠPURPOSE . Ċ Ġ* ĠSee Ġthe ĠMul an ĠP SL Ġv 2 Ġfor Ġmore Ġdetails . Ċ Ġ*/ Ċ Ċ package Ġcom . hu awei . gauss . y at . script Ċ Ċ import Ġcom . hu awei . gauss . y at . sql . parser . Sql Lex Error Ċ import Ġcom . hu awei . gauss . y at . sql . parser . Sql ParseError Ċ import Ġcom . hu awei . gauss . y at . sql . parser . Sql Parser Ċ import Ġjava . io . String Reader ĊĊ Ċ class ĠSql Script Ġinternal Ġconstructor ( builder : ĠSql Script Builder ) Ġ: ĠBase Sql Script ( builder ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġexecute ( script : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparser Ġ= ĠSql Parser ( String Reader ( script )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġres Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( parser . hasNext ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġres Ġ= Ġexec X Statement ( parser . next Statement ()) Ġ&& Ġres ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠSql Lex Error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutput . echo (" Sql Ġlex Ġerror : Ġ${ e . message }") ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠSql ParseError ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoutput . echo (" Sql Ġparse Ġerror : Ġ${ e . message }") ĊĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclose () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} Ċ }