Movatterモバイル変換
[0]ホーム
modulePostgreSQLBinary.EncoderwhereimportPostgreSQLBinary.PreludeimportqualifiedData.ByteStringasBimportqualifiedData.ByteString.Char8asBCimportqualifiedData.ByteString.BuilderasBBimportqualifiedData.ByteString.LazyasBLimportqualifiedData.ByteString.Lazy.Char8asBLCimportqualifiedData.TextasTimportqualifiedData.Text.EncodingasTEimportqualifiedData.Text.LazyasTLimportqualifiedData.Text.Lazy.EncodingasTLEimportqualifiedPostgreSQLBinary.Encoder.BuilderasBuilderimportqualifiedPostgreSQLBinary.ArrayasArrayimportqualifiedPostgreSQLBinary.TimeasTimeimportqualifiedPostgreSQLBinary.IntegralasIntegralimportqualifiedPostgreSQLBinary.NumericasNumerictypeEa=a->ByteStringint2::E(EitherInt16Word16)int2=eitherunpackunpackwhereunpack=Integral.unpackBySize2int4::E(EitherInt32Word32)int4=eitherunpackunpackwhereunpack=Integral.unpackBySize4int8::E(EitherInt64Word64)int8=eitherunpackunpackwhereunpack=Integral.unpackBySize8float4::EFloatfloat4=int4.Right.(unsafeCoerce::Float->Word32)float8::EDoublefloat8=int8.Right.(unsafeCoerce::Double->Word64)numeric::EScientificnumeric=Builder.run.Builder.numericchar::ECharchar=text.Left.T.singletontext::E(EitherTextTL.Text)text=eitherstrictlazywherestrict=TE.encodeUtf8.T.filter(/='\0')lazy=BL.toStrict.TLE.encodeUtf8.TL.filter(/='\0')bytea::E(EitherByteStringBL.ByteString)bytea=eitheridBL.toStrictdate::EDaydate=Builder.run.Builder.datetime::Bool->ETimeOfDaytimeinteger_datetimes(TimeOfDayhms)=letp=unsafeCoerces::Integeru=p`div`(10^6)inifinteger_datetimesthenIntegral.unpackBySize8$fromIntegralu+10^6*60*(m+60*h)elseinlinefloat8$fromIntegralu/10^6+60*(fromIntegralm+60*(fromIntegralh))timetz::Bool->E(TimeOfDay,TimeZone)timetzinteger_datetimes(timeX,tzX)=inlinetimeinteger_datetimestimeX<>tztzXwheretz=Integral.unpackBySize4.(*60).negate.timeZoneMinutestimestamp::Bool->ELocalTimetimestamp=\caseTrue->int8.Left.Time.localTimeToMicrosFalse->float8.Time.localTimeToSecstimestamptz::Bool->EUTCTimetimestamptz=\caseTrue->int8.Left.Time.utcToMicrosFalse->float8.Time.utcToSecsinterval::EDiffTimeinterval=Builder.run.Builder.intervalbool::EBoolbool=\caseFalse->B.singleton0True->B.singleton1uuid::EUUIDuuid=Builder.run.Builder.uuidarray::EArray.Dataarray=Builder.run.Builder.array
[8]ページ先頭