-
Notifications
You must be signed in to change notification settings - Fork 117
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Refactor out looking up clob pair into SQL function. (#784)
- Loading branch information
Showing
6 changed files
with
29 additions
and
37 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
23 changes: 23 additions & 0 deletions
23
indexer/services/ender/src/scripts/dydx_get_perpetual_market_for_clob_pair.sql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
/** | ||
Returns the perpetual market record for the provided clob pair. | ||
Parameters: | ||
- clob_pair_id: The clob pair id. | ||
Returns: the only perpetual market for the clob pair. Throws an exception if not exactly one row is found. | ||
*/ | ||
CREATE OR REPLACE FUNCTION dydx_get_perpetual_market_for_clob_pair( | ||
clob_pair_id bigint | ||
) RETURNS perpetual_markets AS $$ | ||
DECLARE | ||
perpetual_market_record perpetual_markets%ROWTYPE; | ||
BEGIN | ||
SELECT * INTO STRICT perpetual_market_record FROM perpetual_markets WHERE "clobPairId" = clob_pair_id; | ||
RETURN perpetual_market_record; | ||
EXCEPTION | ||
WHEN NO_DATA_FOUND THEN | ||
RAISE EXCEPTION 'Unable to find perpetual market with clobPairId: %', clob_pair_id; | ||
WHEN TOO_MANY_ROWS THEN | ||
/** This should never happen and if it ever were to would indicate that the table has malformed data. */ | ||
RAISE EXCEPTION 'Found multiple perpetual markets with clobPairId: %', clob_pair_id; | ||
END; | ||
$$ LANGUAGE plpgsql; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters