Skip to content

Instantly share code, notes, and snippets.

@abrkn
Created November 8, 2012 15:16
Show Gist options
  • Save abrkn/4039407 to your computer and use it in GitHub Desktop.
Save abrkn/4039407 to your computer and use it in GitHub Desktop.
CREATE OR REPLACE FUNCTION match_order (
left_id int
) RETURNS int AS $$
DECLARE
left "order"%ROWTYPE;
right "order"%ROWTYPE;
price bigint;
BEGIN
SELECT * INTO left FROM "order" o WHERE o.order_id = left_id;
SELECT * INTO right FROM "order" o
WHERE
o.have = left.want AND
o.want = left.have
ORDER BY
o.price ASC, o.created ASC;
RETURN NULL;
END; $$ LANGUAGE plpgsql;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment