package Ġcom . ko ql . core . dsl . mysql . structure Ċ Ċ import Ġcom . ko ql . core . dsl . mysql . config . Configuration Ċ import Ġcom . ko ql . core . dsl . mysql . config . Render Config Ċ import Ġcom . ko ql . core . statement . structure . Table Ċ import Ġcom . ko ql . core . statement . structure . Table Ref Ċ Ċ abstract Ġclass ĠM ysql Table ( name Ġ: ĠString ) Ġ: ĠTable ( name ){ ĊĊĠĠĠ Ġfun Ġpartition ( var arg Ġpartition Name Ġ: ĠString ) Ġ: ĠPartition Table Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠPartition Table ( this Ġ, Ġpartition Name . to Mutable List ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġalias ( alias Name : ĠString ): ĠAlias Table Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠAlias Table ( this Ġ, Ġalias Name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġ` as `( alias Name : ĠString ): ĠAlias Table Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠAlias Table ( this Ġ, Ġalias Name ) ĊĠĠĠ Ġ} ĊĊĊ Ċ } ĊĊĊ Ċ open Ġclass ĠPartition Table ( ĊĠĠĠ Ġval Ġtable : ĠM ysql Table , ĊĠĠĠ Ġval Ġpartition Names : ĠMutable List < String > Ċ ) Ġ: ĠTable Ref Ġby Ġtable Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġprotected Ġval ĠPART ITION Ġ Ġ= Ġ" PARTITION " ĊĊĠĠĠ Ġ} ĊĊĊĊĠĠĠ Ġoverride Ġfun Ġrender ( config : ĠConfiguration , Ġrender Configuration : ĠRender Config ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtable . render ( config , Ġrender Configuration )+" Ġ"+ PARTITION +" Ġ(" + Ġpartition Names . join ToString (",") Ġ{ Ġ"${ config . field Se paration Character }$ it ${ config . field Se paration Character }" Ġ} Ġ+ ") Ġ" ĊĠĠĠ Ġ} Ċ } Ċ Ċ open Ġclass ĠAlias Table ( ĊĠĠĠ Ġval Ġtable : ĠM ysql Table , ĊĠĠĠ Ġval Ġalias Name : ĠString Ċ ) Ġ: ĠTable Ref Ġby Ġtable Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġprotected Ġval ĠAS Ġ Ġ= Ġ" AS " ĊĊĠĠĠ Ġ} ĊĊĊĊĠĠĠ Ġoverride Ġfun Ġrender ( config : ĠConfiguration Ġ, Ġrender Configuration : ĠRender Config ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtable . render ( config Ġ, Ġrender Configuration )+" Ġ"+ AS +" Ġ` "+ Ġalias Name + "` Ġ" ĊĠĠĠ Ġ} Ċ }