<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head profile="http://internetalchemy.org/2003/02/profile"> <link rel="foaf" type="application/rdf+xml" title="FOAF" href="http://www.openlinksw.com/dataspace/uda/about.rdf" /> <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" /> <meta name="dc.title" content="Function: rowvector_digit_sort - Virtuoso Functions Guide" /> <meta name="dc.subject" content="Function: rowvector_digit_sort - Virtuoso Functions Guide" /> <meta name="dc.creator" content="OpenLink Software Documentation Team ; " /> <meta name="dc.copyright" content="OpenLink Software, 1999 - 2009" /> <link rel="top" href="index.html" title="OpenLink Virtuoso Universal Server: Documentation" /> <link rel="search" href="/doc/adv_search.vspx" title="Search OpenLink Virtuoso Universal Server: Documentation" /> <link rel="parent" href="functions.html" title="Chapter Contents" /> <link rel="prev" href="appendixa.html" title="Appendix" /> <link rel="next" href="functions.html#.html" title="" /> <link rel="shortcut icon" href="../images/misc/favicon.ico" type="image/x-icon" /> <link rel="stylesheet" type="text/css" href="doc.css" /> <link rel="stylesheet" type="text/css" href="/doc/translation.css" /> <title>Function: rowvector_digit_sort - Virtuoso Functions Guide</title> <meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8" /> <meta name="author" content="OpenLink Software Documentation Team ; " /> <meta name="copyright" content="OpenLink Software, 1999 - 2009" /> <meta name="keywords" content="" /> <meta name="GENERATOR" content="OpenLink XSLT Team" /> </head> <body> <div id="header"> <a name="fn_rowvector_digit_sort" /> <img src="../images/misc/logo.jpg" alt="" /> <h1>22. Virtuoso Functions Guide - rowvector_digit_sort</h1> </div> <div id="navbartop"> <div> <a class="link" href="functions.html">Chapter Contents</a> | <a class="link" href="fn_position.html" title="position">Prev</a> | <a class="link" href="fn_serialize.html" title="serialize">Next</a> </div> </div> <div id="currenttoc"> <form method="post" action="/doc/adv_search.vspx"> <div class="search">Keyword Search: <br /> <input type="text" name="q" /> <input type="submit" name="go" value="Go" /> </div> </form> <div> <a href="http://www.openlinksw.com/">www.openlinksw.com</a> </div> <div> <a href="http://docs.openlinksw.com/">docs.openlinksw.com</a> </div> <br /> <div> <a href="index.html">Book Home</a> </div> <br /> <div> <a href="contents.html">Contents</a> </div> <div> <a href="preface.html">Preface</a> </div> <br /> <div> <a class="selected" href="functions.html">Virtuoso Functions Guide</a> </div> <br /> <div> <a href="functions.html#admin">Administration</a> </div> <div> <a href="functions.html#aggr">Aggregate Functions</a> </div> <div> <a class="selected" href="functions.html#array">Array Manipulation</a> </div> <div class="selected"> <div> <a href="fn_aref.html">aref</a> </div> <div> <a href="fn_aset.html">aset</a> </div> <div> <a href="fn_concat.html">concat</a> </div> <div> <a href="fn_concatenate.html">concatenate</a> </div> <div> <a href="fn_dvector.html">dvector</a> </div> <div> <a href="fn_get_keyword.html">get_keyword</a> </div> <div> <a href="fn_get_keyword_ucase.html">get_keyword_ucase</a> </div> <div> <a href="fn_gvector_digit_sort.html">gvector_digit_sort</a> </div> <div> <a href="fn_gvector_sort.html">gvector_sort</a> </div> <div> <a href="fn_isarray.html">isarray</a> </div> <div> <a href="fn_make_array.html">make_array</a> </div> <div> <a href="fn_position.html">position</a> </div> <div> <a class="selected" href="fn_rowvector_digit_sort.html">rowvector_digit_sort</a> </div> <div> <a href="fn_serialize.html">serialize</a> </div> <div> <a href="fn_split_and_decode.html">split_and_decode</a> </div> <div> <a href="fn_tree_md5.html">tree_md5</a> </div> <div> <a href="fn_vector.html">vector</a> </div> <div> <a href="fn_vector_concat.html">vector_concat</a> </div> </div> <div> <a href="functions.html#bpel">BPEL APIs</a> </div> <div> <a href="functions.html#backup">Backup</a> </div> <div> <a href="functions.html#compression">Compression</a> </div> <div> <a href="functions.html#cursors">Cursor</a> </div> <div> <a href="functions.html#time">Date & Time Manipulation</a> </div> <div> <a href="functions.html#debug">Debug</a> </div> <div> <a href="functions.html#dict">Dictionary Manipulation</a> </div> <div> <a href="functions.html#encoding">Encoding & Decoding</a> </div> <div> <a href="functions.html#file">File Manipulation</a> </div> <div> <a href="functions.html#ft">Free Text</a> </div> <div> <a href="functions.html#hash">Hashing / Cryptographic</a> </div> <div> <a href="functions.html#ldap">LDAP</a> </div> <div> <a href="functions.html#localization">Locale</a> </div> <div> <a href="functions.html#mail">Mail</a> </div> <div> <a href="functions.html#misc">Miscellaneous</a> </div> <div> <a href="functions.html#number">Number</a> </div> <div> <a href="functions.html#phrz">Phrases</a> </div> <div> <a href="functions.html#rdf">RDF data</a> </div> <div> <a href="functions.html#rmt">Remote SQL Data Source</a> </div> <div> <a href="functions.html#repl">Replication</a> </div> <div> <a href="functions.html#soap">SOAP</a> </div> <div> <a href="functions.html#sql">SQL</a> </div> <div> <a href="functions.html#string">String</a> </div> <div> <a href="functions.html#txn">Transaction</a> </div> <div> <a href="functions.html#type">Type Mapping</a> </div> <div> <a href="functions.html#uddi">UDDI</a> </div> <div> <a href="functions.html#udt">User Defined Types & The CLR</a> </div> <div> <a href="functions.html#vad">VAD</a> </div> <div> <a href="functions.html#jvmpl">Virtuoso Java PL API</a> </div> <div> <a href="functions.html#bif">Virtuoso Server Extension Interface (VSEI)</a> </div> <div> <a href="functions.html#ws">Web & Internet</a> </div> <div> <a href="functions.html#xml">XML</a> </div> <div> <a href="functions.html#XPATH">XPATH & XQUERY</a> </div> <br /> <div> <a href="functionidx.html">Functions Index</a> </div> <br /> </div> <div id="text"> <h2>rowvector_digit_sort</h2> <div class="refpurpose">Performs a stable "digit" sort of a given array of arrays.</div> <div class="funcsynopsis"> <span class="funcdef"> <span class="function">rowvector_digit_sort</span> </span> (<span class="paramdef">inout <span class="parameter">data</span> vector</span>, <span class="paramdef">in <span class="parameter">key_idx_in_row</span> integer</span>, <span class="paramdef">in <span class="parameter">sort_ascending</span> integer</span>); </div> <div class="refsect1"> <div class="refsect1title">Description</div> <p>The function gets an vector that contains uniform arrays ("rows") as items, such as a result set produced by <a href="fn_exec.html">exec</a>(). One element of each row is a key of sorting; it is identified by its zero-based position within the row, <span class="computeroutput">key_idx_in_row</span> (if the <span class="computeroutput">data</span> vector is a result set then N-th elements of all rows are from N-th column of the result set). The sorting procedure edits <span class="computeroutput">data</span> and reorders rows in such a way that their keys become ordered ascending or descending, depending on <span class="computeroutput">sort_ascending</span> flag.</p> <p>The performed sorting is stable. It means that it will not permutate rows in vain: it will preserve the relative order of any two rows that have equal keys. Using this property, one may sort a result set by a "secondary sorting columns", starting with less significant and then by "primary sorting column". E.g., if each row contain elements for country code and province code then it is possible to make two-column sorting by sorting first by province and then by country; that will work even if province codes are not globally unique (say, if they're enumerated from 1 in each country).</p> <p>This function supports only integer values of sorting keys. </p> </div> <div class="refsect1"> <div class="refsect1title">Parameters</div> <div class="refsect2"> <span class="refsect2title">data – </span> A vector of rows to sort. </div> <div class="refsect2"> <span class="refsect2title">key_idx_in_row – </span> Zero-based position of key element in row, should be nonnegative and less than the length of each row. </div> <div class="refsect2"> <span class="refsect2title">sort_ascending – </span> Direction of sorting, nonzero for ascending sort, zero for descending. </div> </div> <div class="refsect1"> <div class="refsect1title">Return Types</div> <p>The function returns the length of the <span class="computeroutput">data</span> vector.</p> </div> <div class="refsect1"> <div class="refsect1title">See Also</div> <p> <a href="fn_gvector_digit_sort.html">gvector_digit_sort</a> </p> <p> <a href="fn_gvector_sort.html">gvector_sort</a> </p> </div> </div> <div id="footer"> <div>Copyright© 1999 - 2009 OpenLink Software All rights reserved.</div> <div id="validation"> <a href="http://validator.w3.org/check/referer"> <img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" /> </a> <a href="http://jigsaw.w3.org/css-validator/"> <img src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!" height="31" width="88" /> </a> </div> </div> </body> </html>