Packages
postgrex
0.15.10
1.0.0-rc.1
retired
1.0.0-rc.0
retired
0.22.3
0.22.2
0.22.1
0.22.0
0.21.1
0.21.0
0.20.0
0.19.3
0.19.2
0.19.1
0.19.0
0.18.0
0.17.5
0.17.4
0.17.3
0.17.2
0.17.1
0.17.0
0.16.5
0.16.4
0.16.3
0.16.2
0.16.1
0.16.0
0.15.13
0.15.12
0.15.11
0.15.10
0.15.9
0.15.8
0.15.7
0.15.6
0.15.5
0.15.4
0.15.3
0.15.2
0.15.1
0.15.0
0.14.3
0.14.2
0.14.1
0.14.0
0.14.0-rc.1
0.14.0-rc.0
0.13.5
0.13.4
0.13.3
0.13.2
0.13.1
0.13.0
0.13.0-rc.0
0.12.2
0.12.1
0.12.0
0.11.2
0.11.1
0.11.0
0.10.0
0.9.1
0.9.0
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.0
0.6.0
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.2
PostgreSQL driver for Elixir
Current section
Files
Jump to
Current section
Files
lib/postgrex/extensions/point.ex
defmodule Postgrex.Extensions.Point do
@moduledoc false
import Postgrex.BinaryUtils, warn: false
use Postgrex.BinaryExtension, send: "point_send"
def encode(_) do
quote location: :keep do
%Postgrex.Point{x: x, y: y} ->
<<16::int32, x::float64, y::float64>>
other ->
raise DBConnection.EncodeError, Postgrex.Utils.encode_msg(other, Postgrex.Point)
end
end
def decode(_) do
quote location: :keep do
<<16::int32, x::float64, y::float64>> -> %Postgrex.Point{x: x, y: y}
end
end
# used by other extensions
def encode_point(%Postgrex.Point{x: x, y: y}, _) do
<<x::float64, y::float64>>
end
def encode_point(other, wanted) do
raise DBConnection.EncodeError, Postgrex.Utils.encode_msg(other, wanted)
end
end