The function mapping definition usr_AllPairsShortestPath specifies variables for input tables and parameters.
CREATE FUNCTION MAPPING usr_AllPairsShortestPath FOR AllPairsShortestPath SERVER TD_SERVER_DB.coprocessor USING vertices(vertex) IN TABLE , edges(edge) IN TABLE , sources(source) IN TABLE , targets(trgt) IN TABLE , TargetKey(GroupColumn) , EdgeWeight('calls') , MaxDistance(Distance) , Directed ,GroupSize ,SequenceInputBy;
The SELECT statement specifies values for the variables Distance and GroupColumn.
SELECT * FROM usr_AllPairsShortestPath ( ON callers AS vertices PARTITION BY callerid ON calls AS edges PARTITION BY callerfrom USING GroupColumn ('callerto') Distance ('-1') ) as dt ORDER BY source, target;
Upon submittal, the query is rewritten as follows. Per the mapping definition, TargetKey is substituted for GroupColumnquery and MaxDistance is substituted for Distance. EdgeWeight is also included because the mapping definition specifies a default value for this parameter.
SELECT * FROM AllPairsShortestPath ( ON callers AS vertices PARTITION BY callerid ON calls AS edges PARTITION BY callerfrom TargetKey ('callerto') EdgeWeight ('calls') MaxDistance ('-1') ) ORDER BY source, target;