# SchemaFunction

<div class="jsdoc-content"><header>
    
        <h2><span class="attribs"><span class="type-signature"></span></span>
            <span class="ancestors"><a href="index.html">metadata</a>~</span>SchemaFunction<span class="signature">()</span><span class="type-signature"></span></h2>
        
            <div class="class-description"><p>Describes a CQL function.</p></div>
        
    
</header>


    
        

    
    </div>

## Constructor

<div class="jsdoc-content">
    

    
    <h4 class="name" id="SchemaFunction"><span class="type-signature"></span>new SchemaFunction<span class="signature">()</span><span class="type-signature"></span></h4>
    

    



<div class="description">
    <p>Creates a new SchemaFunction.</p>
</div>













<div class="admonition note"><p class="admonition-title">Source</p><p><a href="https://github.com/scylladb/nodejs-rs-driver/blob/v0.6.1/lib/metadata/schema-function.js#L8" target="_blank" rel="noopener">metadata/schema-function.js, line 8</a></p></div>




















    
    

    

    

    

    

    

    

    
        </div>

## Members

<div class="jsdoc-content">

        
            
<h4 class="name" id="argumentNames"><span class="type-signature"></span>argumentNames<span class="type-signature"> :Array&lt;String></span></h4>




<div class="description">
    <p>List of the function argument names.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">Array&lt;String></span>


        </li>
    </ul>





<div class="admonition note"><p class="admonition-title">Source</p><p><a href="https://github.com/scylladb/nodejs-rs-driver/blob/v0.6.1/lib/metadata/schema-function.js#L31" target="_blank" rel="noopener">metadata/schema-function.js, line 31</a></p></div>






        
            
<h4 class="name" id="argumentTypes"><span class="type-signature"></span>argumentTypes<span class="type-signature"> :Array&lt;{code, info}></span></h4>




<div class="description">
    <p>List of the function argument types.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">Array&lt;{code, info}></span>


        </li>
    </ul>





<div class="admonition note"><p class="admonition-title">Source</p><p><a href="https://github.com/scylladb/nodejs-rs-driver/blob/v0.6.1/lib/metadata/schema-function.js#L36" target="_blank" rel="noopener">metadata/schema-function.js, line 36</a></p></div>






        
            
<h4 class="name" id="body"><span class="type-signature"></span>body<span class="type-signature"> :String</span></h4>




<div class="description">
    <p>Body of the function.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">String</span>


        </li>
    </ul>





<div class="admonition note"><p class="admonition-title">Source</p><p><a href="https://github.com/scylladb/nodejs-rs-driver/blob/v0.6.1/lib/metadata/schema-function.js#L41" target="_blank" rel="noopener">metadata/schema-function.js, line 41</a></p></div>






        
            
<h4 class="name" id="calledOnNullInput"><span class="type-signature"></span>calledOnNullInput<span class="type-signature"> :Boolean</span></h4>




<div class="description">
    <p>Determines if the function is called when the input is null.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">Boolean</span>


        </li>
    </ul>





<div class="admonition note"><p class="admonition-title">Source</p><p><a href="https://github.com/scylladb/nodejs-rs-driver/blob/v0.6.1/lib/metadata/schema-function.js#L46" target="_blank" rel="noopener">metadata/schema-function.js, line 46</a></p></div>






        
            
<h4 class="name" id="deterministic"><span class="type-signature"></span>deterministic<span class="type-signature"> :Boolean</span></h4>




<div class="description">
    <p>Indicates whether or not this function is deterministic.  This means that
given a particular input, the function will always produce the same output.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">Boolean</span>


        </li>
    </ul>





<div class="admonition note"><p class="admonition-title">Source</p><p><a href="https://github.com/scylladb/nodejs-rs-driver/blob/v0.6.1/lib/metadata/schema-function.js#L62" target="_blank" rel="noopener">metadata/schema-function.js, line 62</a></p></div>






        
            
<h4 class="name" id="keyspaceName"><span class="type-signature"></span>keyspaceName<span class="type-signature"></span></h4>




<div class="description">
    <p>Name of the keyspace where the cql function is declared.</p>
</div>







<div class="admonition note"><p class="admonition-title">Source</p><p><a href="https://github.com/scylladb/nodejs-rs-driver/blob/v0.6.1/lib/metadata/schema-function.js#L21" target="_blank" rel="noopener">metadata/schema-function.js, line 21</a></p></div>






        
            
<h4 class="name" id="language"><span class="type-signature"></span>language<span class="type-signature"> :String</span></h4>




<div class="description">
    <p>Name of the programming language, for example: java, javascript, ...</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">String</span>


        </li>
    </ul>





<div class="admonition note"><p class="admonition-title">Source</p><p><a href="https://github.com/scylladb/nodejs-rs-driver/blob/v0.6.1/lib/metadata/schema-function.js#L51" target="_blank" rel="noopener">metadata/schema-function.js, line 51</a></p></div>






        
            
<h4 class="name" id="monotonic"><span class="type-signature"></span>monotonic<span class="type-signature"> :Boolean</span></h4>




<div class="description">
    <p>Indicates whether or not this function is monotonic on all of its
arguments.  This means that it is either entirely non-increasing or
non-decreasing.  Even if the function is not monotonic on all of its
arguments, it's possible to specify that it is monotonic on one of
its arguments, meaning that partial applications of the function over
that argument will be monotonic.</p>
<p>Monotonicity is required to use the function in a GROUP BY clause.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">Boolean</span>


        </li>
    </ul>





<div class="admonition note"><p class="admonition-title">Source</p><p><a href="https://github.com/scylladb/nodejs-rs-driver/blob/v0.6.1/lib/metadata/schema-function.js#L74" target="_blank" rel="noopener">metadata/schema-function.js, line 74</a></p></div>






        
            
<h4 class="name" id="monotonicOn"><span class="type-signature"></span>monotonicOn<span class="type-signature"> :Array&lt;String></span></h4>




<div class="description">
    <p>The argument names that the function is monotonic on.</p>
<p>If monotonic is true, this will return all argument names.
Otherwise, this will return either one argument or an empty array.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">Array&lt;String></span>


        </li>
    </ul>





<div class="admonition note"><p class="admonition-title">Source</p><p><a href="https://github.com/scylladb/nodejs-rs-driver/blob/v0.6.1/lib/metadata/schema-function.js#L82" target="_blank" rel="noopener">metadata/schema-function.js, line 82</a></p></div>






        
            
<h4 class="name" id="name"><span class="type-signature"></span>name<span class="type-signature"> :String</span></h4>




<div class="description">
    <p>Name of the cql function.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">String</span>


        </li>
    </ul>





<div class="admonition note"><p class="admonition-title">Source</p><p><a href="https://github.com/scylladb/nodejs-rs-driver/blob/v0.6.1/lib/metadata/schema-function.js#L17" target="_blank" rel="noopener">metadata/schema-function.js, line 17</a></p></div>






        
            
<h4 class="name" id="returnType"><span class="type-signature"></span>returnType<span class="type-signature"> :Object</span></h4>




<div class="description">
    <p>Type of the return value.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">Object</span>


        </li>
    </ul>





<div class="admonition note"><p class="admonition-title">Source</p><p><a href="https://github.com/scylladb/nodejs-rs-driver/blob/v0.6.1/lib/metadata/schema-function.js#L56" target="_blank" rel="noopener">metadata/schema-function.js, line 56</a></p></div>






        
            
<h4 class="name" id="signature"><span class="type-signature"></span>signature<span class="type-signature"> :Array&lt;String></span></h4>




<div class="description">
    <p>Signature of the function.</p>
</div>



    <h5>Type:</h5>
    <ul>
        <li>
            
<span class="param-type">Array&lt;String></span>


        </li>
    </ul>





<div class="admonition note"><p class="admonition-title">Source</p><p><a href="https://github.com/scylladb/nodejs-rs-driver/blob/v0.6.1/lib/metadata/schema-function.js#L26" target="_blank" rel="noopener">metadata/schema-function.js, line 26</a></p></div></div>
