package Ġfactory . mik rate . dialect s . postgres Ċ Ċ import Ġfactory . mik rate . dialect s . api . Not Available Error Ċ import Ġfactory . mik rate . dialect s . api . Type Sql Gen Ċ import Ġfactory . mik rate . dialect s . api . models . Dialect DbType Ċ Ċ public Ġclass ĠPostgres Type Sql Gen ( protected Ġval Ġversion : ĠPostgres Version ) Ġ: ĠType Sql Gen Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġsupports Type ( db Type : ĠD ialect DbType ): ĠBoolean Ġ= Ġwhen Ġ( db Type ) Ġ{ ĊĠĠĠĠĠĠĠ ĠD ialect DbType . Boolean Type , ĊĠĠĠĠĠĠĠ ĠD ialect DbType . Text Type , ĊĠĠĠĠĠĠĠ ĠD ialect DbType . Uuid Type , ĊĠĠĠĠĠĠĠ Ġis ĠD ialect DbType . V arch ar Type Ġ-> Ġtrue ĊĠĠĠĠĠĠĠ Ġis ĠD ialect DbType . Integer Type Ġ-> Ġsupported Integer Sizes . contains ( db Type . size ) ĊĠĠĠĠĠĠĠ ĠD ialect DbType . Byte Type , ĊĠĠĠĠĠĠĠ Ġis ĠD ialect DbType . Other Ġ-> Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġfun Ġmap Type ( db Type : ĠD ialect DbType ): ĠString Ġ= Ġwhen Ġ( db Type ) Ġ{ ĊĠĠĠĠĠĠĠ ĠD ialect DbType . Boolean Type Ġ-> Ġ" boolean " ĊĠĠĠĠĠĠĠ Ġis ĠD ialect DbType . Integer Type Ġ-> Ġwhen Ġ( db Type . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 . to Short () Ġ-> Ġ" small int " ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 . to Short () Ġ-> Ġ" integer " ĊĠĠĠĠĠĠĠĠĠĠĠĠ 8 . to Short () Ġ-> Ġ" bigint " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠNot Available Error (" Postgres Ġdoesn 't Ġsupport Ġinteger Ġsizes Ġother Ġthan Ġ 2 , Ġ 4 Ġor Ġ 8 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠD ialect DbType . Text Type Ġ-> Ġ" text " ĊĠĠĠĠĠĠĠ Ġis ĠD ialect DbType . V arch ar Type Ġ-> Ġ" varchar (${ db Type . length })" ĊĠĠĠĠĠĠĠ ĠD ialect DbType . Uuid Type Ġ-> Ġ" uuid " ĊĠĠĠĠĠĠĠ ĠD ialect DbType . Byte Type , ĊĠĠĠĠĠĠĠ Ġis ĠD ialect DbType . Other Ġ-> Ġthrow ĠNot Available Error (" Postgres Ġdoesn 't Ġsupport Ġthis Ġtype ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġsupported Integer Sizes Ġ= Ġset Of < Short >( 2 , Ġ 4 , Ġ 8 ) Ċ } Ċ