/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 5 ĠAndrew ĠO ' M alley Ċ Ġ* Ċ Ġ* ĠPermission Ġis Ġhereby Ġgranted , Ġfree Ġof Ġcharge , Ġto Ġany Ġperson Ġobtaining Ġa Ġcopy Ċ Ġ* Ġof Ġthis Ġsoftware Ġand Ġassociated Ġdocumentation Ġfiles Ġ( the Ġ" Software "), Ġto Ġdeal Ċ Ġ* Ġin Ġthe ĠSoftware Ġwithout Ġrestriction , Ġincluding Ġwithout Ġlimitation Ġthe Ġrights Ċ Ġ* Ġto Ġuse , Ġcopy , Ġmodify , Ġmerge , Ġpublish , Ġdistribute , Ġsublicense , Ġand / or Ġsell Ċ Ġ* Ġcopies Ġof Ġthe ĠSoftware , Ġand Ġto Ġpermit Ġpersons Ġto Ġwhom Ġthe ĠSoftware Ġis Ċ Ġ* Ġfurnished Ġto Ġdo Ġso , Ġsubject Ġto Ġthe Ġfollowing Ġconditions : Ċ Ġ* Ċ Ġ* ĠThe Ġabove Ġcopyright Ġnotice Ġand Ġthis Ġpermission Ġnotice Ġshall Ġbe Ġincluded Ġin Ċ Ġ* Ġall Ġcopies Ġor Ġsubstantial Ġportions Ġof Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠTHE ĠSOFTWARE ĠIS ĠPROVIDED Ġ" AS ĠIS ", ĠWITHOUT ĠWARRANTY ĠOF ĠANY ĠKIND , ĠEXPRESS ĠOR Ċ Ġ* ĠIMPLIED , ĠINCLUDING ĠBUT ĠNOT ĠLIMITED ĠTO ĠTHE ĠWARRANTIES ĠOF ĠMERCHANTABILITY , Ċ Ġ* ĠFITNESS ĠFOR ĠA ĠPARTICULAR ĠPURPOSE ĠAND ĠNONINFRINGEMENT . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE Ċ Ġ* ĠAUTHORS ĠOR ĠCOPYRIGHT ĠHOLDERS ĠBE ĠLIABLE ĠFOR ĠANY ĠCLAIM , ĠDAMAGES ĠOR ĠOTHER Ċ Ġ* ĠLIABILITY , ĠWHETHER ĠIN ĠAN ĠACTION ĠOF ĠCONTRACT , ĠTORT ĠOR ĠOTHERWISE , ĠARISING ĠFROM , Ċ Ġ* ĠOUT ĠOF ĠOR ĠIN ĠCONNECTION ĠWITH ĠTHE ĠSOFTWARE ĠOR ĠTHE ĠUSE ĠOR ĠOTHER ĠDEALINGS ĠIN Ċ Ġ* ĠTHE ĠSOFTWARE . Ċ Ġ*/ Ċ Ċ package Ġcom . github . and rew oma . kw ery . core . dialect Ċ Ċ import Ġjava . sql .* Ċ Ċ open Ġclass ĠH sql Dialect Ġ: ĠD ialect Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġbind ( value : ĠAny , Ġlimit : ĠInt ): ĠString Ġ= Ġwhen Ġ( value ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠString Ġ-> Ġescape Single Quoted String ( value . truncate ( limit )) ĊĠĠĠĠĠĠĠ Ġis ĠTimestamp Ġ-> Ġtimestamp Format . get (). format ( value ) ĊĠĠĠĠĠĠĠ Ġis ĠDate Ġ-> Ġ"' $ value '" ĊĠĠĠĠĠĠĠ Ġis ĠTime Ġ-> Ġ"' $ value '" ĊĠĠĠĠĠĠĠ Ġis Ġjava . sql . Array Ġ-> Ġbind Array ( value , Ġlimit , Ġ" array [ ", Ġ"] ") ĊĠĠĠĠĠĠĠ Ġis ĠBlob Ġ-> Ġstandard Blob ( value , Ġlimit ) ĊĠĠĠĠĠĠĠ Ġis ĠByteArray Ġ-> Ġstandard ByteArray ( value , Ġlimit ) ĊĠĠĠĠĠĠĠ Ġis ĠC lob Ġ-> Ġescape Single Quoted String ( standard C lob ( value , Ġlimit )) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġvalue . toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval Ġsupports Array Based In Ġ= Ġtrue ĊĊĠĠĠ Ġoverride Ġfun Ġarray Based In ( name : ĠString ) Ġ= Ġ" in ( un nest (: $ name )) " ĊĊĠĠĠ Ġoverride Ġval Ġsupports Allocate Ids Ġ= Ġtrue ĊĊĠĠĠ Ġoverride Ġfun Ġallocate Ids ( count : ĠInt , Ġsequence : ĠString , ĠcolumnName : ĠString ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" select Ġnext Ġvalue Ġfor Ġ$ sequence Ġas Ġ$ columnName Ġfrom Ġun nest ( sequence _ array ( 1 , Ġ$ count , Ġ 1 )) " ĊĊĠĠĠ Ġoverride Ġval Ġsupports Fetching Generated Keys ByName Ġ= Ġtrue Ċ }