XG@F      !"#$%&'()*+,-./0123456789:;<=>?@ABCDENone36=K ]It is not fully implemented in PostgreSQL yet. It is kept just to match all geometric types.  Translation 9box '((0,0),(1,1))' + point '(2.0,0)' = box '(3,1),(2,0)' Translation ;box '((0,0),(1,1))' - point '(2.0,0)' = box '(-1,1),(-2,0)'Scaling/rotation 9box '((0,0),(1,1))' * point '(2.0,0)' = box '(2,2),(0,0)'Scaling/rotation 9box '((0,0),(2,2))' / point '(2.0,0)' = box '(1,1),(0,0)'Point or box of intersection  :lseg '((1,-1),(-1,1))' # '((1,1),(-1,-1))' = point '(0,0)' ?box '((1,-1),(-1,1))' # '((1,1),(-1,-1))' = box '(1,1),(-1,-1)'1Closest point to first operand on second operand 5point '(0,0)' ## lseg '((2,0),(0,2))' = point '(1,1)'Distance between circle '((0,0),1)'  - circle '((5,0),1)' = 3 Overlaps? 1box '((0,0),(1,1))' && box '((0,0),(2,2))' = trueIs strictly left of? /circle '((0,0),1)' << circle '((5,0),1)' = trueIs strictly right of? /circle '((5,0),1)' >> circle '((0,0),1)' = truePDoes not extend to the right of? box '((0,0),(1,1))' &< box '((0,0),(2,2))' = t  Does not extend to the left of? 1box '((0,0),(3,3))' &> box '((0,0),(2,2))' = trueIs strictly below? 2box '((0,0),(3,3))' <<| box '((3,4),(5,5))' = trueIs strictly above? +box '((3,4),(5,5))' |>> box '((0,0),(3,3))'Does not extend above? 2box '((0,0),(1,1))' &<| box '((0,0),(2,2))' = trueDoes not extend below? 2box '((0,0),(3,3))' |&> box '((0,0),(2,2))' = true Is below (allows touching)? /circle '((0,0),1)' <^ circle '((0,5),1)' = true!Is above (allows touching)? /circle '((0,5),1)' >^ circle '((0,0),1)' = true" Intersects? 5lseg '((-1,0),(1,0))' ?# box '((-2,-2),(2,2))' = true#Are horizontally aligned? %point '(1,0)' ?- point '(0,0)' = true$Are vertically aligned? %point '(0,1)' ?| point '(0,0)' = true%Is perpendicular? 4lseg '((0,0),(0,1))' ?-| lseg '((0,0),(1,0))' = true&Are parallel? 6lseg '((-1,0),(1,0))' ?|| lseg '((-1,2),(1,2))' = true' Contains? *circle '((0,0),2)' @> point '(1,1)' = true(Contained in or on? *point '(1,1)' <@ circle '((0,0),2)' = true) Same as? 9polygon '((0,0),(1,1))' ~= polygon '((1,1),(0,0))' = trueFGHIJKLMNOPQ RSTUVWXY !"#$%&'()Z[\]^_`abcdefghijklmnopqrstuvwxyz{|}~)  !"#$%&'())   !"#$%&'()FGHIJKLMNOPQ   RSTUVWXY !"#$%&'()Z[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None 2346=KMAvoid orphan instances.Table name and a list of field names and according delete statements assume that this function is called only for ephemeral fieldsgudt_name, character_maximum_length, numeric_precision, numeric_scale, datetime_precision, interval_type0KPut explicit type for expression. It is useful for values which are defaulted to a wrong type. For example, a literal Int from a 64bit machine can be defaulted to a 32bit int by Postgresql. Also a value entered as an external string (geometry, arrays and other complex types have this representation) may need an explicit type. 1Casts expression to a type. castType value "INT" results in  value::INT.2=Distinct only on certain fields or expressions. For example, select $ CondEmpty 2 (lower EmailField, IpField).B*+,connection stringnumber of connections to open-connection string.connection stringnumber of connections to open/012o      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLM*+,-./012 ,-.*+012/@*+,-./012None 234=K3Represents PostgreSQL arrays ?VConcatenates array elements using supplied delimiter. array_to_string(ARRAY[1, 2, 3], ~^~) = 1~^~2~^~3 @LSplits string into array elements using supplied delimiter. string_to_array('xx~^~yy~^~zz', ~^~) = {xx,yy,zz} C)Contains. ARRAY[1,4,3] @> ARRAY[3,1] = t D4Is contained by. ARRAY[2,7] <@ ARRAY[1,7,4,2,6] = t EBOverlap (have elements in common). ARRAY[1,4,3] && ARRAY[2,1] = t !NO34PQRSTUV56789:;<=>?@ABCDEWXYZ[3456789:;<=>?@ABCDE3456879:;<=>?@ABCDENO34PQRSTUV56789:;<=>?@ABCDEWXYZ[\        !"#$%&'()**+,-./01223456789:;<=>?@'(ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~6      !"#$%&'()*+,-./011233456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUNVWXYZgroundhog-postgresql-0.7.0Database.Groundhog.Postgresql&Database.Groundhog.Postgresql.Geometry#Database.Groundhog.Postgresql.Arraygroundhog-0.7.0Database.Groundhog.Generic runDbConnCirclePolygonPathOpenPath ClosedPathBoxLsegLinePoint+.-.*./.###<->&&<<>>&<&><<||>>&<||&><^>^?#?-?|?-|?||@><@~= PostgresqlwithPostgresqlPoolwithPostgresqlConncreatePostgresqlPool showSqlType explicitTypecastType distinctOnArray!!:prependappendarrayCat arrayDims arrayNDims arrayLower arrayUpper arrayLength arrayToString stringToArrayanyalloverlaps IntersectsClosest ContainedContainsDistancePlusLineLsegBoxPointBoxCirclePointPolygonBoxCirclePathPointBoxCirclePolygon BoxLineLseg parseHelperpairpointpointsshowPath showPointpsqlOperatorExprpsqlOperatorCond$fIntersectsPathPath$fIntersectsLsegLseg$fIntersectsLsegLine$fIntersectsLsegBox$fIntersectsLineBox$fIntersectsLineLine$fIntersectsBoxBox$fClosestPointLseg$fClosestPointBox$fClosestPointLine$fClosestLsegLseg$fClosestLsegLine$fClosestLsegBox$fClosestLineLseg$fClosestLineBox$fContainedPolygonPolygon$fContainedPointCircle$fContainedPointPolygon$fContainedPointPath$fContainedPointLine$fContainedPointBox$fContainedPointLseg$fContainedLsegLine$fContainedLsegBox$fContainedCircleCircle$fContainedBoxBox$fContainsPolygonPoint$fContainsPolygonPolygon$fContainsPathPoint$fContainsCirclePoint$fContainsCircleCircle$fContainsBoxPoint$fContainsBoxBox$fDistancePolygonPolygon$fDistancePointLseg$fDistancePointBox$fDistancePointLine$fDistancePointCircle$fDistancePointPoint$fDistancePointPath$fDistancePathPath$fDistanceLsegBox$fDistanceLsegLseg$fDistanceLsegLine$fDistanceLineBox$fDistanceLineLine$fDistanceCirclePolygon$fDistanceCircleCircle$fDistanceBoxBox$fPlusPointPoint$fPlusPathPath$fPlusPathPoint$fPlusCirclePoint$fPlusBoxPoint$fLineLsegLseg$fLineLsegLine$fBoxPointPoint $fBoxPointBox$fBoxCirclePointPolygonPolygon$fBoxCirclePointPolygonPoint$fBoxCirclePointPolygonCircle$fBoxCirclePointPolygonBox$fBoxCirclePathPointPoint$fBoxCirclePathPointPath$fBoxCirclePathPointCircle$fBoxCirclePathPointBox$fBoxCirclePolygonPolygon$fBoxCirclePolygonCircle$fBoxCirclePolygonBox$fBoxLineLsegLseg$fBoxLineLsegLine$fBoxLineLsegBox$fPersistFieldCircle$fPrimitivePersistFieldCircle$fPersistFieldPolygon$fPrimitivePersistFieldPolygon$fPersistFieldPath$fPrimitivePersistFieldPath$fPersistFieldBox$fPrimitivePersistFieldBox$fPersistFieldLseg$fPrimitivePersistFieldLseg$fPersistFieldLine$fPrimitivePersistFieldLine$fPersistFieldPoint$fPrimitivePersistFieldPointPmigTriggerOnUpdate readSqlTypeGetteropen'close'insert'insert_'insertIntoConstructorTable insertList'getList'getKey executeRaw' renderConfigescapeSdelim'toEntityPersistValues'migrate' migrationPack showColumnmigTriggerOnDelete analyzeTable' getColumnanalyzeTableReferences showAlterDbshowAlterTableshowAlterColumn compareUniqs compareRefs compareTypescompareDefaultsdefaultPriorityschemaPriorityreferencePriorityfunctionPrioritytriggerPriority mainTableIdescape getStatement queryRaw' convertPV getGetterunBinaryproxy withSchema preColumns $fToFieldP-$fSingleConnectionManagerPostgresqlPostgresql!$fConnectionManagerPoolPostgresql'$fConnectionManagerPostgresqlPostgresql$fSavepointPostgresql$fSchemaAnalyzerDbPersist$fPersistBackendDbPersist$fFloatingSqlDbPostgresql$fSqlDbPostgresql$fDbDescriptorPostgresqlbase GHC.Floatatan2Database.Groundhog.InstancesTuple2_0SelectorTuple2_1SelectorTuple3_0SelectorTuple3_1SelectorTuple3_2SelectorTuple4_0SelectorTuple4_1SelectorTuple4_2SelectorTuple4_3SelectorTuple5_0SelectorTuple5_1SelectorTuple5_2SelectorTuple5_3SelectorTuple5_4Selector(Database.Groundhog.Generic.Sql.Functionscase_degreesradianscotupperlowernotLikelikenotIn_in_Database.Groundhog.Generic.SqlnotEqualsOperatorequalsOperatorquotRem'signum'SqlDbDatabase.Groundhog.ExpressiontoArithliftExprisFieldNothing>=.>.<=.<./=.==.||.&&.=. deleteByKeyrunMigrationUnsafe runMigrationprintMigrationexecuteMigrationUnsafeexecuteMigrationcreateMigrationDatabase.Groundhog.CoreorderByoffsetBylimitTo~> DefaultKeyAutoKeyKeyUniqueBackendSpecific UniqueMarkerAndOrNotCompareCondRaw CondEmptyCondAscDescOrderSelector AutoKeyField unDbPersist DbPersistgetList insertListqueryRaw executeRawmigrateprojectcountAllcount deleteAlldeleteBydeleteupdategetByget selectAllselect replaceByreplace insertByAllinsertByinsert_insert PhantomDbPersistBackend extractUnique ArrayElem parseElem arrayType parseStringjstring_unescape doubleQuote backslashparseArr$fPrimitivePersistFieldArray $fArrayElema$fArrayElemArray$fPersistFieldArray