Hello<br><br>I have error with ets:select when I use MatchSpec with tuple matching.<br><br>It is my table:<br><br>(n1@test)2> ets:i(controllers).<br><1   > {{{192,168,138,73},37100,2},<0.61.0>}<br>EOT  (q)uit (p)Digits (k)ill /Regexp -->q<br>
quit<br><br>it contains IPv4 address, port and assoc_id as key and process Pid.<br><br>So, when I select with following two MatchSpecs, I have no problems:<br><br>(n1@test)5> ets:select(controllers, [{{{'$1', '$2', '$3'}, '$4'}, [{'==', '$3', 2}, {is_pid, '$4'}], ['$4']}]).<br>
[<0.61.0>]<br>(n1@test)6> ets:select(controllers, [{{{'$1', '$2', '$3'}, '$4'}, [{'==', '$2', 37100}, {is_pid, '$4'}], ['$4']}]).<br>[<0.61.0>]<br>
<br>(see on {'==', $...})<br><br>But with this MatchSpec I have error:<br><br>(n1@test)7> ets:select(controllers, [{{{'$1', '$2', '$3'}, '$4'}, [{'==', '$1', {192,168,138,73}}, {is_pid, '$4'}], ['$4']}]).<br>
** exception error: bad argument<br>     in function  ets:select/2<br>        called as ets:select(controllers,<br>                             [{{{'$1','$2','$3'},'$4'},<br>                               [{'==','$1',{192,168,138,73}},{is_pid,'$4'}],<br>
                               ['$4']}])<br><br clear="all"><br>Is it means that impossible to use tuples in MatchSpec guards?<br><br>My OTP is R12B-5.<br><br>Thank you.<br><br>-- <br>Maxim Treskin<br><br>