Sylvain Lebresne created CASSANDRA-7812:
-------------------------------------------

             Summary: DROP FUNCTION drops all function with a given name
                 Key: CASSANDRA-7812
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7812
             Project: Cassandra
          Issue Type: Improvement
            Reporter: Sylvain Lebresne
             Fix For: 3.0


We support multiple overloads of a given function name, so that you can define:
{noformat}
CREATE FUNCTION div(int a, int b) RETUNS int 'myDivOnIntegerFct';
CREATE FUNCTION div(double a, double b) RETUNS double 'myDivOnDoubleFct';
{noformat}
In other words, a function is uniquely identified by it's name *and* it's 
argument types.

But the {{DROP FUNCTION}} syntax currently only take a function name and if 
there is multiple overload for that name, drop all of them without any way to 
drop one without the other.

So we should probably allow to optionally pass the type arguments to DROP to 
select a specific overloading, something like:
{noformat}
DROP FUNCTION div(double, double);
{noformat}
Also, and while that's probably debatable, I'd also suggest to change the 
behavior of:
{noformat}
DROP FUNCTION div;
{noformat}
to complain if the there is multiple overload of the {{div}} method instead of 
dropping all overload as it feels somewhat foot-shooting otherwise.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to