last-fetch

This commit is contained in:
David Botton 2022-02-24 22:04:35 -05:00
parent 9b70f96a37
commit 30ccfbf276
3 changed files with 346 additions and 37 deletions

View file

@ -45,21 +45,22 @@
<li><a href="#CLOG:@CLOG-ELEMENT-COMMON%20MGL-PAX:SECTION" title="Common CLOG Elements">8 Common CLOG Elements</a></li>
<li><a href="#CLOG:@CLOG-PRESENTATIONS%20MGL-PAX:SECTION" title="CLOG Presentations">9 CLOG Presentations</a></li>
<li><a href="#CLOG:@CLOG-DATA%20MGL-PAX:SECTION" title="CLOG Data">10 CLOG Data</a></li>
<li><a href="#CLOG:@CLOG-PANELS%20MGL-PAX:SECTION" title="CLOG Panels">11 CLOG Panels</a></li>
<li><a href="#CLOG:@CLOG-STYLE-BLOCK%20MGL-PAX:SECTION" title="CLOG Style Blocks">12 CLOG Style Blocks</a></li>
<li><a href="#CLOG:@CLOG-FORM%20MGL-PAX:SECTION" title="CLOG Form Objects">13 CLOG Form Objects</a></li>
<li><a href="#CLOG:@CLOG-CANVAS%20MGL-PAX:SECTION" title="CLOG Canvas Objects">14 CLOG Canvas Objects</a></li>
<li><a href="#CLOG:@CLOG-MULTIMEDIA%20MGL-PAX:SECTION" title="CLOG Multimedia Objects">15 CLOG Multimedia Objects</a></li>
<li><a href="#CLOG:@CLOG-GUI%20MGL-PAX:SECTION" title="CLOG GUI Objects">16 CLOG GUI Objects</a></li>
<li><a href="#CLOG:@CLOG-WEB%20MGL-PAX:SECTION" title="CLOG Web Objects">17 CLOG Web Objects</a></li>
<li><a href="#CLOG:@CLOG-BODY%20MGL-PAX:SECTION" title="CLOG Body Objects">18 CLOG Body Objects</a></li>
<li><a href="#CLOG:@CLOG-WINDOW%20MGL-PAX:SECTION" title="CLOG Window Objects">19 CLOG Window Objects</a></li>
<li><a href="#CLOG:@CLOG-DOCUMENT%20MGL-PAX:SECTION" title="CLOG Document Objects">20 CLOG Document Objects</a></li>
<li><a href="#CLOG:@CLOG-LOCATION%20MGL-PAX:SECTION" title="CLOG Location Objects">21 CLOG Location Objects</a></li>
<li><a href="#CLOG:@CLOG-NAVIGATOR%20MGL-PAX:SECTION" title="CLOG Navigator Objects">22 CLOG Navigator Objects</a></li>
<li><a href="#CLOG:@CLOG-JQUERY%20MGL-PAX:SECTION" title="CLOG jQuery Objects">23 CLOG jQuery Objects</a></li>
<li><a href="#CLOG:@CLOG-HELPERS%20MGL-PAX:SECTION" title="CLOG Helper Functions">24 CLOG Helper Functions</a></li>
<li><a href="#CLOG:@CLOG-INTERNALS%20MGL-PAX:SECTION" title="CLOG Framework internals and extensions">25 CLOG Framework internals and extensions</a></li>
<li><a href="#CLOG:@CLOG-DBI%20MGL-PAX:SECTION" title="CLOG DBI">11 CLOG DBI</a></li>
<li><a href="#CLOG:@CLOG-PANELS%20MGL-PAX:SECTION" title="CLOG Panels">12 CLOG Panels</a></li>
<li><a href="#CLOG:@CLOG-STYLE-BLOCK%20MGL-PAX:SECTION" title="CLOG Style Blocks">13 CLOG Style Blocks</a></li>
<li><a href="#CLOG:@CLOG-FORM%20MGL-PAX:SECTION" title="CLOG Form Objects">14 CLOG Form Objects</a></li>
<li><a href="#CLOG:@CLOG-CANVAS%20MGL-PAX:SECTION" title="CLOG Canvas Objects">15 CLOG Canvas Objects</a></li>
<li><a href="#CLOG:@CLOG-MULTIMEDIA%20MGL-PAX:SECTION" title="CLOG Multimedia Objects">16 CLOG Multimedia Objects</a></li>
<li><a href="#CLOG:@CLOG-GUI%20MGL-PAX:SECTION" title="CLOG GUI Objects">17 CLOG GUI Objects</a></li>
<li><a href="#CLOG:@CLOG-WEB%20MGL-PAX:SECTION" title="CLOG Web Objects">18 CLOG Web Objects</a></li>
<li><a href="#CLOG:@CLOG-BODY%20MGL-PAX:SECTION" title="CLOG Body Objects">19 CLOG Body Objects</a></li>
<li><a href="#CLOG:@CLOG-WINDOW%20MGL-PAX:SECTION" title="CLOG Window Objects">20 CLOG Window Objects</a></li>
<li><a href="#CLOG:@CLOG-DOCUMENT%20MGL-PAX:SECTION" title="CLOG Document Objects">21 CLOG Document Objects</a></li>
<li><a href="#CLOG:@CLOG-LOCATION%20MGL-PAX:SECTION" title="CLOG Location Objects">22 CLOG Location Objects</a></li>
<li><a href="#CLOG:@CLOG-NAVIGATOR%20MGL-PAX:SECTION" title="CLOG Navigator Objects">23 CLOG Navigator Objects</a></li>
<li><a href="#CLOG:@CLOG-JQUERY%20MGL-PAX:SECTION" title="CLOG jQuery Objects">24 CLOG jQuery Objects</a></li>
<li><a href="#CLOG:@CLOG-HELPERS%20MGL-PAX:SECTION" title="CLOG Helper Functions">25 CLOG Helper Functions</a></li>
<li><a href="#CLOG:@CLOG-INTERNALS%20MGL-PAX:SECTION" title="CLOG Framework internals and extensions">26 CLOG Framework internals and extensions</a></li>
</ul>
<h6>[in package CLOG]</h6>
@ -3868,32 +3869,334 @@ element can be bound at a time to a lisp object.</p></li>
<p><a id="x-28CLOG-3A-40CLOG-DATA-20MGL-PAX-3ASECTION-29"></a>
<a id="CLOG:@CLOG-DATA%20MGL-PAX:SECTION"></a></p>
<p><span class="outer-navigation"><span class="navigation"> <a href="#CLOG:@CLOG-PRESENTATIONS%20MGL-PAX:SECTION" title="CLOG Presentations">&#8592;</a> <a href="#CLOG:@CLOG-MANUAL%20MGL-PAX:SECTION" title="The CLOG manual">&#8593;</a> <a href="#CLOG:@CLOG-PANELS%20MGL-PAX:SECTION" title="CLOG Panels">&#8594;</a> <a href="#CLOG:@CLOG-DATA%20MGL-PAX:SECTION" title="CLOG Data">&#8634;</a></span></span></p>
<p><span class="outer-navigation"><span class="navigation"> <a href="#CLOG:@CLOG-PRESENTATIONS%20MGL-PAX:SECTION" title="CLOG Presentations">&#8592;</a> <a href="#CLOG:@CLOG-MANUAL%20MGL-PAX:SECTION" title="The CLOG manual">&#8593;</a> <a href="#CLOG:@CLOG-DBI%20MGL-PAX:SECTION" title="CLOG DBI">&#8594;</a> <a href="#CLOG:@CLOG-DATA%20MGL-PAX:SECTION" title="CLOG Data">&#8634;</a></span></span></p>
<h2><a href="#CLOG:@CLOG-DATA%20MGL-PAX:SECTION">10 CLOG Data</a></h2>
<p>CLOG-Data - CLOG Data Binding</p>
<p>Load and Write to objects and CLOG-Elements</p>
<p><a id="x-28CLOG-3ADATA-LOAD-PLIST-20FUNCTION-29"></a>
<a id="CLOG:DATA-LOAD-PLIST%20FUNCTION"></a></p>
<ul>
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[function]</span> <span class="reference-object"><a href="#CLOG:DATA-LOAD-PLIST%20FUNCTION" >DATA-LOAD-PLIST</a></span></span> <span class="locative-args">OBJ PLIST &amp;KEY (UPCASE-KEY <code>T</code>)</span></span></p>
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[function]</span> <span class="reference-object"><a href="#CLOG:DATA-LOAD-PLIST%20FUNCTION" >DATA-LOAD-PLIST</a></span></span> <span class="locative-args">OBJ PLIST &amp;KEY (ROW-ID-NAME <code>NIL</code>) (UPCASE-KEY <code>T</code>)</span></span></p>
<p>Load a <code>PLIST</code> in to <code>OBJ</code> where key of plist is the name of slot on
<code>OBJ</code> and the value is the data to load. If slot is a clog-element
<code>OBJ</code> and the value is the data to load. If slot contains a <a href="#CLOG:CLOG-ELEMENT%20CLASS" title="CLOG:CLOG-ELEMENT CLASS"><code>CLOG-ELEMENT</code></a>
<a href="#CLOG:TEXT-VALUE%20GENERIC-FUNCTION" title="CLOG:TEXT-VALUE GENERIC-FUNCTION"><code>TEXT-VALUE</code></a> is set, if not the slot is set to the value. If key is not
the name of a slot it is ignored. The key is coverted to a string and
upper cased before attempting to match it to a slot if <code>:UPCASE-KEY</code> t
(default).</p></li>
(default). If <code>:ROW-ID-NAME</code> is set returns that fields value.</p></li>
</ul>
<p><a id="x-28CLOG-3ADATA-WRITE-LIST-20FUNCTION-29"></a>
<a id="CLOG:DATA-WRITE-LIST%20FUNCTION"></a></p>
<ul>
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[function]</span> <span class="reference-object"><a href="#CLOG:DATA-WRITE-LIST%20FUNCTION" >DATA-WRITE-LIST</a></span></span> <span class="locative-args">OBJ SLOT-NAME-LIST &amp;KEY (UPCASE-KEY <code>T</code>)</span></span></p>
<p>Returns a list, one value for each slot name in <code>SLOT-NAME-LIST</code>. If
a slot contains a <a href="#CLOG:CLOG-ELEMENT%20CLASS" title="CLOG:CLOG-ELEMENT CLASS"><code>CLOG-ELEMENT</code></a> then <a href="#CLOG:TEXT-VALUE%20GENERIC-FUNCTION" title="CLOG:TEXT-VALUE GENERIC-FUNCTION"><code>TEXT-VALUE</code></a> is used to retrieve the
value. Slot names may be symbols, keywords or text (and will be
upcased before looking up symbol if <code>:UPCASE-KEY</code> t). All slot-names
must be bound.</p></li>
</ul>
<p><a id="x-28CLOG-3ADATA-WRITE-PLIST-20FUNCTION-29"></a>
<a id="CLOG:DATA-WRITE-PLIST%20FUNCTION"></a></p>
<ul>
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[function]</span> <span class="reference-object"><a href="#CLOG:DATA-WRITE-PLIST%20FUNCTION" >DATA-WRITE-PLIST</a></span></span> <span class="locative-args">OBJ SLOT-NAME-LIST &amp;KEY (UPCASE-KEY <code>T</code>) (KEYS-AS-KEYWORDS <code>T</code>)</span></span></p>
<p>Returns a plist, one member for each slot name in <code>SLOT-NAME-LIST</code>,
the key is the slot name. If a slot contains a <a href="#CLOG:CLOG-ELEMENT%20CLASS" title="CLOG:CLOG-ELEMENT CLASS"><code>CLOG-ELEMENT</code></a> then
<a href="#CLOG:TEXT-VALUE%20GENERIC-FUNCTION" title="CLOG:TEXT-VALUE GENERIC-FUNCTION"><code>TEXT-VALUE</code></a> is used to retrieve the value otherwise it is the
slot-value. Slot names may be symbols, keywords, or text (and will be
upcased before looking up symbol if <code>:UPCASE-KEY</code> t). If a slot-name is
a cons, the first will be used as the key in the plist and the second
will be the actual slot-name. All slot-names must be bound. If
slot-name does not exist it is left out of returned plist. If
<code>:KEYS-AS-KEYWORDS</code> t (default) then the keys will be symbols in the
keyword package.</p></li>
</ul>
<p><code>SQL</code> Writing Helpers</p>
<p><a id="x-28CLOG-3ASQL-FIELD-LIST-20FUNCTION-29"></a>
<a id="CLOG:SQL-FIELD-LIST%20FUNCTION"></a></p>
<ul>
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[function]</span> <span class="reference-object"><a href="#CLOG:SQL-FIELD-LIST%20FUNCTION" >SQL-FIELD-LIST</a></span></span> <span class="locative-args">FIELD-LIST &amp;KEY QUOTE-ALL FOR-INSERT</span></span></p>
<p>Given list of fields returns a string for use in a <code>SQL</code> select and
insert field lists. Use a cons (realname asname) to rename fields for
selects, if <code>:FOR-INSERT</code> t then the realname is used. Symbols are
stringified first. If <code>:QUOTE-ALL</code> t then all fields are in quotes.</p></li>
</ul>
<p><a id="x-28CLOG-3ASQL-VALUE-LIST-20FUNCTION-29"></a>
<a id="CLOG:SQL-VALUE-LIST%20FUNCTION"></a></p>
<ul>
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[function]</span> <span class="reference-object"><a href="#CLOG:SQL-VALUE-LIST%20FUNCTION" >SQL-VALUE-LIST</a></span></span> <span class="locative-args">VALUE-LIST</span></span></p>
<p>Given list of values returns a string for use in a <code>SQL</code> insert value
list. If a value is a string it is quoted with single quotes
(and single quotes qutoed by doubling) unless is the single
character '?'.</p></li>
</ul>
<p><a id="x-28CLOG-3ASQL-UPDATE-LIST-20FUNCTION-29"></a>
<a id="CLOG:SQL-UPDATE-LIST%20FUNCTION"></a></p>
<ul>
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[function]</span> <span class="reference-object"><a href="#CLOG:SQL-UPDATE-LIST%20FUNCTION" >SQL-UPDATE-LIST</a></span></span> <span class="locative-args">PLIST</span></span></p>
<p>Given plist of field names and values returns a string for use in a
<code>SQL</code> update. if the 'key' is a cons the first 'key' used. If a value
is a string it is quoted with single quotes (and single quotes qutoed
by doubling) unless is the single character '?'.</p></li>
</ul>
<p><a id="x-28CLOG-3ASQL-SELECT-20FUNCTION-29"></a>
<a id="CLOG:SQL-SELECT%20FUNCTION"></a></p>
<ul>
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[function]</span> <span class="reference-object"><a href="#CLOG:SQL-SELECT%20FUNCTION" >SQL-SELECT</a></span></span> <span class="locative-args">TABLE FIELD-LIST &amp;KEY WHERE ORDER-BY LIMIT</span></span></p>
<p>Build basic sql select statement</p></li>
</ul>
<p><a id="x-28CLOG-3ASQL-INSERT-20FUNCTION-29"></a>
<a id="CLOG:SQL-INSERT%20FUNCTION"></a></p>
<ul>
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[function]</span> <span class="reference-object"><a href="#CLOG:SQL-INSERT%20FUNCTION" >SQL-INSERT</a></span></span> <span class="locative-args">TABLE FIELD-LIST VALUE-LIST</span></span></p>
<p>Build basic sql insert statement</p></li>
</ul>
<p><a id="x-28CLOG-3ASQL-INSERT-2A-20FUNCTION-29"></a>
<a id="CLOG:SQL-INSERT*%20FUNCTION"></a></p>
<ul>
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[function]</span> <span class="reference-object"><a href="#CLOG:SQL-INSERT*%20FUNCTION" >SQL-INSERT*</a></span></span> <span class="locative-args">TABLE PLIST</span></span></p>
<p>Build basic sql insert statement using a plist</p></li>
</ul>
<p><a id="x-28CLOG-3ASQL-UPDATE-20FUNCTION-29"></a>
<a id="CLOG:SQL-UPDATE%20FUNCTION"></a></p>
<ul>
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[function]</span> <span class="reference-object"><a href="#CLOG:SQL-UPDATE%20FUNCTION" >SQL-UPDATE</a></span></span> <span class="locative-args">TABLE PLIST WHERE</span></span></p>
<p>Build basic sql update statement</p></li>
</ul>
<p><a id="x-28CLOG-3A-40CLOG-DBI-20MGL-PAX-3ASECTION-29"></a>
<a id="CLOG:@CLOG-DBI%20MGL-PAX:SECTION"></a></p>
<p><span class="outer-navigation"><span class="navigation"> <a href="#CLOG:@CLOG-DATA%20MGL-PAX:SECTION" title="CLOG Data">&#8592;</a> <a href="#CLOG:@CLOG-MANUAL%20MGL-PAX:SECTION" title="The CLOG manual">&#8593;</a> <a href="#CLOG:@CLOG-PANELS%20MGL-PAX:SECTION" title="CLOG Panels">&#8594;</a> <a href="#CLOG:@CLOG-DBI%20MGL-PAX:SECTION" title="CLOG DBI">&#8634;</a></span></span></p>
<h2><a href="#CLOG:@CLOG-DBI%20MGL-PAX:SECTION">11 CLOG DBI</a></h2>
<p>CLOG-Database - CLOG Database Connection</p>
<p><a id="x-28CLOG-3ACLOG-DATABASE-20CLASS-29"></a>
<a id="CLOG:CLOG-DATABASE%20CLASS"></a></p>
<ul>
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[class]</span> <span class="reference-object"><a href="#CLOG:CLOG-DATABASE%20CLASS" >CLOG-DATABASE</a></span></span> <span class="locative-args"><a href="#CLOG:CLOG-ELEMENT%20CLASS" title="CLOG:CLOG-ELEMENT CLASS">CLOG-ELEMENT</a></span></span></p>
<p>Connection to database.</p></li>
</ul>
<p><a id="x-28CLOG-3ACREATE-DATABASE-20GENERIC-FUNCTION-29"></a>
<a id="CLOG:CREATE-DATABASE%20GENERIC-FUNCTION"></a></p>
<ul>
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[generic-function]</span> <span class="reference-object"><a href="#CLOG:CREATE-DATABASE%20GENERIC-FUNCTION" >CREATE-DATABASE</a></span></span> <span class="locative-args">CLOG-OBJ &amp;KEY HIDDEN CLASS HTML-ID AUTO-PLACE</span></span></p>
<p>Create a new CLOG-Database element, for use in
CLOG-Builder. If not using builder use to connect:
(dbi:connect (database-connection clog-obj) ...)</p></li>
</ul>
<p><a id="x-28CLOG-3ADATABASE-CONNECTION-20GENERIC-FUNCTION-29"></a>
<a id="CLOG:DATABASE-CONNECTION%20GENERIC-FUNCTION"></a></p>
<ul>
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[generic-function]</span> <span class="reference-object"><a href="#CLOG:DATABASE-CONNECTION%20GENERIC-FUNCTION" >DATABASE-CONNECTION</a></span></span> <span class="locative-args">CLOG-OBJ</span></span></p>
<p>Accessor to the database handle</p></li>
</ul>
<p><a id="x-28CLOG-3ACLOG-ONE-ROW-20CLASS-29"></a>
<a id="CLOG:CLOG-ONE-ROW%20CLASS"></a></p>
<ul>
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[class]</span> <span class="reference-object"><a href="#CLOG:CLOG-ONE-ROW%20CLASS" >CLOG-ONE-ROW</a></span></span> <span class="locative-args"><a href="#CLOG:CLOG-ELEMENT%20CLASS" title="CLOG:CLOG-ELEMENT CLASS">CLOG-ELEMENT</a></span></span></p>
<p>Manipulate one row of a table.</p></li>
</ul>
<p><a id="x-28CLOG-3ACREATE-ONE-ROW-20GENERIC-FUNCTION-29"></a>
<a id="CLOG:CREATE-ONE-ROW%20GENERIC-FUNCTION"></a></p>
<ul>
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[generic-function]</span> <span class="reference-object"><a href="#CLOG:CREATE-ONE-ROW%20GENERIC-FUNCTION" >CREATE-ONE-ROW</a></span></span> <span class="locative-args">CLOG-OBJ &amp;KEY CLOG-DATABASE HIDDEN CLASS HTML-ID AUTO-PLACE</span></span></p>
<p>Create a new CLOG-One-Row element. A CLOG Database
must be a parent to CLOG-One-Row.</p></li>
</ul>
<p><a id="x-28CLOG-3ACLOG-DATABASE-20GENERIC-FUNCTION-29"></a>
<a id="CLOG:CLOG-DATABASE%20GENERIC-FUNCTION"></a></p>
<ul>
<li><span class=reference-bullet><span class=reference><span class="locative-type">[generic-function]</span> <span class="reference-object"><a href="#CLOG:CLOG-DATABASE%20GENERIC-FUNCTION" >CLOG-DATABASE</a></span></span> <span class="locative-args">OBJECT</span></span></li>
</ul>
<p><a id="x-28CLOG-3ATABLE-NAME-20GENERIC-FUNCTION-29"></a>
<a id="CLOG:TABLE-NAME%20GENERIC-FUNCTION"></a></p>
<ul>
<li><span class=reference-bullet><span class=reference><span class="locative-type">[generic-function]</span> <span class="reference-object"><a href="#CLOG:TABLE-NAME%20GENERIC-FUNCTION" >TABLE-NAME</a></span></span> <span class="locative-args">OBJECT</span></span></li>
</ul>
<p><a id="x-28CLOG-3AWHERE-CLAUSE-20GENERIC-FUNCTION-29"></a>
<a id="CLOG:WHERE-CLAUSE%20GENERIC-FUNCTION"></a></p>
<ul>
<li><span class=reference-bullet><span class=reference><span class="locative-type">[generic-function]</span> <span class="reference-object"><a href="#CLOG:WHERE-CLAUSE%20GENERIC-FUNCTION" >WHERE-CLAUSE</a></span></span> <span class="locative-args">OBJECT</span></span></li>
</ul>
<p><a id="x-28CLOG-3AORDER-BY-20GENERIC-FUNCTION-29"></a>
<a id="CLOG:ORDER-BY%20GENERIC-FUNCTION"></a></p>
<ul>
<li><span class=reference-bullet><span class=reference><span class="locative-type">[generic-function]</span> <span class="reference-object"><a href="#CLOG:ORDER-BY%20GENERIC-FUNCTION" >ORDER-BY</a></span></span> <span class="locative-args">OBJECT</span></span></li>
</ul>
<p><a id="x-28CLOG-3ALIMIT-20GENERIC-FUNCTION-29"></a>
<a id="CLOG:LIMIT%20GENERIC-FUNCTION"></a></p>
<ul>
<li><span class=reference-bullet><span class=reference><span class="locative-type">[generic-function]</span> <span class="reference-object"><a href="#CLOG:LIMIT%20GENERIC-FUNCTION" >LIMIT</a></span></span> <span class="locative-args">OBJECT</span></span></li>
</ul>
<p><a id="x-28CLOG-3AROW-ID-NAME-20GENERIC-FUNCTION-29"></a>
<a id="CLOG:ROW-ID-NAME%20GENERIC-FUNCTION"></a></p>
<ul>
<li><span class=reference-bullet><span class=reference><span class="locative-type">[generic-function]</span> <span class="reference-object"><a href="#CLOG:ROW-ID-NAME%20GENERIC-FUNCTION" >ROW-ID-NAME</a></span></span> <span class="locative-args">OBJECT</span></span></li>
</ul>
<p><a id="x-28CLOG-3AROWID-20GENERIC-FUNCTION-29"></a>
<a id="CLOG:ROWID%20GENERIC-FUNCTION"></a></p>
<ul>
<li><span class=reference-bullet><span class=reference><span class="locative-type">[generic-function]</span> <span class="reference-object"><a href="#CLOG:ROWID%20GENERIC-FUNCTION" >ROWID</a></span></span> <span class="locative-args">OBJECT</span></span></li>
</ul>
<p><a id="x-28CLOG-3ATABLE-COLUMNS-20GENERIC-FUNCTION-29"></a>
<a id="CLOG:TABLE-COLUMNS%20GENERIC-FUNCTION"></a></p>
<ul>
<li><span class=reference-bullet><span class=reference><span class="locative-type">[generic-function]</span> <span class="reference-object"><a href="#CLOG:TABLE-COLUMNS%20GENERIC-FUNCTION" >TABLE-COLUMNS</a></span></span> <span class="locative-args">OBJECT</span></span></li>
</ul>
<p><a id="x-28CLOG-3ALAST-FETCH-20GENERIC-FUNCTION-29"></a>
<a id="CLOG:LAST-FETCH%20GENERIC-FUNCTION"></a></p>
<ul>
<li><span class=reference-bullet><span class=reference><span class="locative-type">[generic-function]</span> <span class="reference-object"><a href="#CLOG:LAST-FETCH%20GENERIC-FUNCTION" >LAST-FETCH</a></span></span> <span class="locative-args">OBJECT</span></span></li>
</ul>
<p><a id="x-28CLOG-3AQUERY-ROW-20GENERIC-FUNCTION-29"></a>
<a id="CLOG:QUERY-ROW%20GENERIC-FUNCTION"></a></p>
<ul>
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[generic-function]</span> <span class="reference-object"><a href="#CLOG:QUERY-ROW%20GENERIC-FUNCTION" >QUERY-ROW</a></span></span> <span class="locative-args">CLOG-OBJ PANEL SQL</span></span></p>
<p>Ignore query related prperties and instead execute
<code>SQL</code>. row-id-name is required for updates. All <code>PANEL</code> items or custom
rows on panel will be set using <a href="#CLOG:DATA-LOAD-PLIST%20FUNCTION" title="CLOG:DATA-LOAD-PLIST FUNCTION"><code>DATA-LOAD-PLIST</code></a>.</p></li>
</ul>
<p><a id="x-28CLOG-3AGET-ROW-20GENERIC-FUNCTION-29"></a>
<a id="CLOG:GET-ROW%20GENERIC-FUNCTION"></a></p>
<ul>
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[generic-function]</span> <span class="reference-object"><a href="#CLOG:GET-ROW%20GENERIC-FUNCTION" >GET-ROW</a></span></span> <span class="locative-args">CLOG-OBJ PANEL</span></span></p>
<p>Get first row from a database table based on
CLOG-OBJECT's table-name using where-clause and table-columns.
row-id-name is required. All <code>PANEL</code> items or custom rows on panel will
be set using <a href="#CLOG:DATA-LOAD-PLIST%20FUNCTION" title="CLOG:DATA-LOAD-PLIST FUNCTION"><code>DATA-LOAD-PLIST</code></a>.</p></li>
</ul>
<p><a id="x-28CLOG-3ANEXT-ROW-20GENERIC-FUNCTION-29"></a>
<a id="CLOG:NEXT-ROW%20GENERIC-FUNCTION"></a></p>
<ul>
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[generic-function]</span> <span class="reference-object"><a href="#CLOG:NEXT-ROW%20GENERIC-FUNCTION" >NEXT-ROW</a></span></span> <span class="locative-args">CLOG-OBJ PANEL</span></span></p>
<p>Get next row from a database table based on query
made for get-row. All <code>PANEL</code> items or custom rows on panel will be set
using <a href="#CLOG:DATA-LOAD-PLIST%20FUNCTION" title="CLOG:DATA-LOAD-PLIST FUNCTION"><code>DATA-LOAD-PLIST</code></a>.</p></li>
</ul>
<p><a id="x-28CLOG-3AINSERT-ROW-20GENERIC-FUNCTION-29"></a>
<a id="CLOG:INSERT-ROW%20GENERIC-FUNCTION"></a></p>
<ul>
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[generic-function]</span> <span class="reference-object"><a href="#CLOG:INSERT-ROW%20GENERIC-FUNCTION" >INSERT-ROW</a></span></span> <span class="locative-args">CLOG-OBJ PANEL</span></span></p>
<p>Insert new row in to database table based on
CLOG-OBJECT's table-name and table-columns. <a href="#CLOG:DATA-WRITE-PLIST%20FUNCTION" title="CLOG:DATA-WRITE-PLIST FUNCTION"><code>DATA-WRITE-PLIST</code></a> is
used to extract data from <code>PANEL</code> items and custom rows.</p></li>
</ul>
<p><a id="x-28CLOG-3AUPDATE-ROW-20GENERIC-FUNCTION-29"></a>
<a id="CLOG:UPDATE-ROW%20GENERIC-FUNCTION"></a></p>
<ul>
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[generic-function]</span> <span class="reference-object"><a href="#CLOG:UPDATE-ROW%20GENERIC-FUNCTION" >UPDATE-ROW</a></span></span> <span class="locative-args">CLOG-OBJ PANEL</span></span></p>
<p>Update row in database table based on
CLOG-OBJECT's table-name using current rowid and table-columns.
row-id-name is required. All <code>PANEL</code> items or custom rows
on panel will be retrieved from <code>PANEL</code> using <a href="#CLOG:DATA-WRITE-PLIST%20FUNCTION" title="CLOG:DATA-WRITE-PLIST FUNCTION"><code>DATA-WRITE-PLIST</code></a>.</p></li>
</ul>
<p><a id="x-28CLOG-3ACLEAR-ROW-20GENERIC-FUNCTION-29"></a>
<a id="CLOG:CLEAR-ROW%20GENERIC-FUNCTION"></a></p>
<ul>
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[generic-function]</span> <span class="reference-object"><a href="#CLOG:CLEAR-ROW%20GENERIC-FUNCTION" >CLEAR-ROW</a></span></span> <span class="locative-args">CLOG-OBJ PANEL</span></span></p>
<p>Clear current rowid and all fields in <code>PANEL</code>
using <a href="#CLOG:DATA-WRITE-PLIST%20FUNCTION" title="CLOG:DATA-WRITE-PLIST FUNCTION"><code>DATA-WRITE-PLIST</code></a> based on table-columns.</p></li>
</ul>
<p><a id="x-28CLOG-3ADELETE-ROW-20GENERIC-FUNCTION-29"></a>
<a id="CLOG:DELETE-ROW%20GENERIC-FUNCTION"></a></p>
<ul>
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[generic-function]</span> <span class="reference-object"><a href="#CLOG:DELETE-ROW%20GENERIC-FUNCTION" >DELETE-ROW</a></span></span> <span class="locative-args">CLOG-OBJ</span></span></p>
<p>Delete a row from a database table based on
current rowid</p></li>
</ul>
<p><a id="x-28CLOG-3A-40CLOG-PANELS-20MGL-PAX-3ASECTION-29"></a>
<a id="CLOG:@CLOG-PANELS%20MGL-PAX:SECTION"></a></p>
<p><span class="outer-navigation"><span class="navigation"> <a href="#CLOG:@CLOG-DATA%20MGL-PAX:SECTION" title="CLOG Data">&#8592;</a> <a href="#CLOG:@CLOG-MANUAL%20MGL-PAX:SECTION" title="The CLOG manual">&#8593;</a> <a href="#CLOG:@CLOG-STYLE-BLOCK%20MGL-PAX:SECTION" title="CLOG Style Blocks">&#8594;</a> <a href="#CLOG:@CLOG-PANELS%20MGL-PAX:SECTION" title="CLOG Panels">&#8634;</a></span></span></p>
<p><span class="outer-navigation"><span class="navigation"> <a href="#CLOG:@CLOG-DBI%20MGL-PAX:SECTION" title="CLOG DBI">&#8592;</a> <a href="#CLOG:@CLOG-MANUAL%20MGL-PAX:SECTION" title="The CLOG manual">&#8593;</a> <a href="#CLOG:@CLOG-STYLE-BLOCK%20MGL-PAX:SECTION" title="CLOG Style Blocks">&#8594;</a> <a href="#CLOG:@CLOG-PANELS%20MGL-PAX:SECTION" title="CLOG Panels">&#8634;</a></span></span></p>
<h2><a href="#CLOG:@CLOG-PANELS%20MGL-PAX:SECTION">11 CLOG Panels</a></h2>
<h2><a href="#CLOG:@CLOG-PANELS%20MGL-PAX:SECTION">12 CLOG Panels</a></h2>
<p>CLOG-Panel - CLOG Panels</p>
@ -4044,7 +4347,7 @@ if <code>:HTML-ID</code> &quot;myid&quot; then the <code>HTML-ID</code> for cent
<p><span class="outer-navigation"><span class="navigation"> <a href="#CLOG:@CLOG-PANELS%20MGL-PAX:SECTION" title="CLOG Panels">&#8592;</a> <a href="#CLOG:@CLOG-MANUAL%20MGL-PAX:SECTION" title="The CLOG manual">&#8593;</a> <a href="#CLOG:@CLOG-FORM%20MGL-PAX:SECTION" title="CLOG Form Objects">&#8594;</a> <a href="#CLOG:@CLOG-STYLE-BLOCK%20MGL-PAX:SECTION" title="CLOG Style Blocks">&#8634;</a></span></span></p>
<h2><a href="#CLOG:@CLOG-STYLE-BLOCK%20MGL-PAX:SECTION">12 CLOG Style Blocks</a></h2>
<h2><a href="#CLOG:@CLOG-STYLE-BLOCK%20MGL-PAX:SECTION">13 CLOG Style Blocks</a></h2>
<p>CLOG-Style-Block - CLOG Style Blocks</p>
@ -4087,7 +4390,7 @@ selector. For example:
<p><span class="outer-navigation"><span class="navigation"> <a href="#CLOG:@CLOG-STYLE-BLOCK%20MGL-PAX:SECTION" title="CLOG Style Blocks">&#8592;</a> <a href="#CLOG:@CLOG-MANUAL%20MGL-PAX:SECTION" title="The CLOG manual">&#8593;</a> <a href="#CLOG:@CLOG-CANVAS%20MGL-PAX:SECTION" title="CLOG Canvas Objects">&#8594;</a> <a href="#CLOG:@CLOG-FORM%20MGL-PAX:SECTION" title="CLOG Form Objects">&#8634;</a></span></span></p>
<h2><a href="#CLOG:@CLOG-FORM%20MGL-PAX:SECTION">13 CLOG Form Objects</a></h2>
<h2><a href="#CLOG:@CLOG-FORM%20MGL-PAX:SECTION">14 CLOG Form Objects</a></h2>
<p>CLOG-Form-Data</p>
@ -4812,7 +5115,7 @@ optionally fill in with contents of data-list.</p></li>
<p><span class="outer-navigation"><span class="navigation"> <a href="#CLOG:@CLOG-FORM%20MGL-PAX:SECTION" title="CLOG Form Objects">&#8592;</a> <a href="#CLOG:@CLOG-MANUAL%20MGL-PAX:SECTION" title="The CLOG manual">&#8593;</a> <a href="#CLOG:@CLOG-MULTIMEDIA%20MGL-PAX:SECTION" title="CLOG Multimedia Objects">&#8594;</a> <a href="#CLOG:@CLOG-CANVAS%20MGL-PAX:SECTION" title="CLOG Canvas Objects">&#8634;</a></span></span></p>
<h2><a href="#CLOG:@CLOG-CANVAS%20MGL-PAX:SECTION">14 CLOG Canvas Objects</a></h2>
<h2><a href="#CLOG:@CLOG-CANVAS%20MGL-PAX:SECTION">15 CLOG Canvas Objects</a></h2>
<p>CLOG-Canvas - Class for CLOG canvas objects</p>
@ -5204,7 +5507,7 @@ https://developer.mozilla.org/en-US/docs/Web/CSS/font</p></li>
<p><span class="outer-navigation"><span class="navigation"> <a href="#CLOG:@CLOG-CANVAS%20MGL-PAX:SECTION" title="CLOG Canvas Objects">&#8592;</a> <a href="#CLOG:@CLOG-MANUAL%20MGL-PAX:SECTION" title="The CLOG manual">&#8593;</a> <a href="#CLOG:@CLOG-GUI%20MGL-PAX:SECTION" title="CLOG GUI Objects">&#8594;</a> <a href="#CLOG:@CLOG-MULTIMEDIA%20MGL-PAX:SECTION" title="CLOG Multimedia Objects">&#8634;</a></span></span></p>
<h2><a href="#CLOG:@CLOG-MULTIMEDIA%20MGL-PAX:SECTION">15 CLOG Multimedia Objects</a></h2>
<h2><a href="#CLOG:@CLOG-MULTIMEDIA%20MGL-PAX:SECTION">16 CLOG Multimedia Objects</a></h2>
<p>CLOG-Multimedia - Base Class for CLOG multimedia objects</p>
@ -5650,7 +5953,7 @@ is nil unbind the event.</p></li>
<p><span class="outer-navigation"><span class="navigation"> <a href="#CLOG:@CLOG-MULTIMEDIA%20MGL-PAX:SECTION" title="CLOG Multimedia Objects">&#8592;</a> <a href="#CLOG:@CLOG-MANUAL%20MGL-PAX:SECTION" title="The CLOG manual">&#8593;</a> <a href="#CLOG:@CLOG-WEB%20MGL-PAX:SECTION" title="CLOG Web Objects">&#8594;</a> <a href="#CLOG:@CLOG-GUI%20MGL-PAX:SECTION" title="CLOG GUI Objects">&#8634;</a></span></span></p>
<h2><a href="#CLOG:@CLOG-GUI%20MGL-PAX:SECTION">16 CLOG GUI Objects</a></h2>
<h2><a href="#CLOG:@CLOG-GUI%20MGL-PAX:SECTION">17 CLOG GUI Objects</a></h2>
<h6>[in package CLOG-GUI]</h6>
@ -6153,7 +6456,7 @@ machine, upon close <code>ON-FILE-NAME</code> called with filename or nil if fai
<p><span class="outer-navigation"><span class="navigation"> <a href="#CLOG:@CLOG-GUI%20MGL-PAX:SECTION" title="CLOG GUI Objects">&#8592;</a> <a href="#CLOG:@CLOG-MANUAL%20MGL-PAX:SECTION" title="The CLOG manual">&#8593;</a> <a href="#CLOG:@CLOG-BODY%20MGL-PAX:SECTION" title="CLOG Body Objects">&#8594;</a> <a href="#CLOG:@CLOG-WEB%20MGL-PAX:SECTION" title="CLOG Web Objects">&#8634;</a></span></span></p>
<h2><a href="#CLOG:@CLOG-WEB%20MGL-PAX:SECTION">17 CLOG Web Objects</a></h2>
<h2><a href="#CLOG:@CLOG-WEB%20MGL-PAX:SECTION">18 CLOG Web Objects</a></h2>
<h6>[in package CLOG-WEB]</h6>
@ -6741,7 +7044,7 @@ if confirmed or nil if canceled. <code>CANCEL-TEXT</code> is only displayed if m
<p><span class="outer-navigation"><span class="navigation"> <a href="#CLOG:@CLOG-WEB%20MGL-PAX:SECTION" title="CLOG Web Objects">&#8592;</a> <a href="#CLOG:@CLOG-MANUAL%20MGL-PAX:SECTION" title="The CLOG manual">&#8593;</a> <a href="#CLOG:@CLOG-WINDOW%20MGL-PAX:SECTION" title="CLOG Window Objects">&#8594;</a> <a href="#CLOG:@CLOG-BODY%20MGL-PAX:SECTION" title="CLOG Body Objects">&#8634;</a></span></span></p>
<h2><a href="#CLOG:@CLOG-BODY%20MGL-PAX:SECTION">18 CLOG Body Objects</a></h2>
<h2><a href="#CLOG:@CLOG-BODY%20MGL-PAX:SECTION">19 CLOG Body Objects</a></h2>
<p>CLOG-Body - CLOG Body Objects</p>
@ -6818,7 +7121,7 @@ with <code>HTML</code>.</p></li>
<p><span class="outer-navigation"><span class="navigation"> <a href="#CLOG:@CLOG-BODY%20MGL-PAX:SECTION" title="CLOG Body Objects">&#8592;</a> <a href="#CLOG:@CLOG-MANUAL%20MGL-PAX:SECTION" title="The CLOG manual">&#8593;</a> <a href="#CLOG:@CLOG-DOCUMENT%20MGL-PAX:SECTION" title="CLOG Document Objects">&#8594;</a> <a href="#CLOG:@CLOG-WINDOW%20MGL-PAX:SECTION" title="CLOG Window Objects">&#8634;</a></span></span></p>
<h2><a href="#CLOG:@CLOG-WINDOW%20MGL-PAX:SECTION">19 CLOG Window Objects</a></h2>
<h2><a href="#CLOG:@CLOG-WINDOW%20MGL-PAX:SECTION">20 CLOG Window Objects</a></h2>
<p>CLOG-Window - CLOG Window Objects</p>
@ -7223,7 +7526,7 @@ on-storage event is fired for changes to :local storage keys.</p></li>
<p><span class="outer-navigation"><span class="navigation"> <a href="#CLOG:@CLOG-WINDOW%20MGL-PAX:SECTION" title="CLOG Window Objects">&#8592;</a> <a href="#CLOG:@CLOG-MANUAL%20MGL-PAX:SECTION" title="The CLOG manual">&#8593;</a> <a href="#CLOG:@CLOG-LOCATION%20MGL-PAX:SECTION" title="CLOG Location Objects">&#8594;</a> <a href="#CLOG:@CLOG-DOCUMENT%20MGL-PAX:SECTION" title="CLOG Document Objects">&#8634;</a></span></span></p>
<h2><a href="#CLOG:@CLOG-DOCUMENT%20MGL-PAX:SECTION">20 CLOG Document Objects</a></h2>
<h2><a href="#CLOG:@CLOG-DOCUMENT%20MGL-PAX:SECTION">21 CLOG Document Objects</a></h2>
<p>CLOG-Document - CLOG Document Objects</p>
@ -7395,7 +7698,7 @@ If <code>ON-FULL-SCREEN-CHANGE-HANDLER</code> is nil unbind the event.</p></li>
<p><span class="outer-navigation"><span class="navigation"> <a href="#CLOG:@CLOG-DOCUMENT%20MGL-PAX:SECTION" title="CLOG Document Objects">&#8592;</a> <a href="#CLOG:@CLOG-MANUAL%20MGL-PAX:SECTION" title="The CLOG manual">&#8593;</a> <a href="#CLOG:@CLOG-NAVIGATOR%20MGL-PAX:SECTION" title="CLOG Navigator Objects">&#8594;</a> <a href="#CLOG:@CLOG-LOCATION%20MGL-PAX:SECTION" title="CLOG Location Objects">&#8634;</a></span></span></p>
<h2><a href="#CLOG:@CLOG-LOCATION%20MGL-PAX:SECTION">21 CLOG Location Objects</a></h2>
<h2><a href="#CLOG:@CLOG-LOCATION%20MGL-PAX:SECTION">22 CLOG Location Objects</a></h2>
<p>Clog-Location - CLOG Location Objects</p>
@ -7525,7 +7828,7 @@ If <code>ON-FULL-SCREEN-CHANGE-HANDLER</code> is nil unbind the event.</p></li>
<p><span class="outer-navigation"><span class="navigation"> <a href="#CLOG:@CLOG-LOCATION%20MGL-PAX:SECTION" title="CLOG Location Objects">&#8592;</a> <a href="#CLOG:@CLOG-MANUAL%20MGL-PAX:SECTION" title="The CLOG manual">&#8593;</a> <a href="#CLOG:@CLOG-JQUERY%20MGL-PAX:SECTION" title="CLOG jQuery Objects">&#8594;</a> <a href="#CLOG:@CLOG-NAVIGATOR%20MGL-PAX:SECTION" title="CLOG Navigator Objects">&#8634;</a></span></span></p>
<h2><a href="#CLOG:@CLOG-NAVIGATOR%20MGL-PAX:SECTION">22 CLOG Navigator Objects</a></h2>
<h2><a href="#CLOG:@CLOG-NAVIGATOR%20MGL-PAX:SECTION">23 CLOG Navigator Objects</a></h2>
<p>CLOG-Navigator - CLOG Navigator Objects</p>
@ -7581,7 +7884,7 @@ If <code>ON-FULL-SCREEN-CHANGE-HANDLER</code> is nil unbind the event.</p></li>
<p><span class="outer-navigation"><span class="navigation"> <a href="#CLOG:@CLOG-NAVIGATOR%20MGL-PAX:SECTION" title="CLOG Navigator Objects">&#8592;</a> <a href="#CLOG:@CLOG-MANUAL%20MGL-PAX:SECTION" title="The CLOG manual">&#8593;</a> <a href="#CLOG:@CLOG-HELPERS%20MGL-PAX:SECTION" title="CLOG Helper Functions">&#8594;</a> <a href="#CLOG:@CLOG-JQUERY%20MGL-PAX:SECTION" title="CLOG jQuery Objects">&#8634;</a></span></span></p>
<h2><a href="#CLOG:@CLOG-JQUERY%20MGL-PAX:SECTION">23 CLOG jQuery Objects</a></h2>
<h2><a href="#CLOG:@CLOG-JQUERY%20MGL-PAX:SECTION">24 CLOG jQuery Objects</a></h2>
<p>CLOG-jQuery - Base class for CLOG jQuery Objects</p>
@ -7648,7 +7951,7 @@ result or <code>DEFAULT-ANSWER</code> on time out.</p></li>
<p><span class="outer-navigation"><span class="navigation"> <a href="#CLOG:@CLOG-JQUERY%20MGL-PAX:SECTION" title="CLOG jQuery Objects">&#8592;</a> <a href="#CLOG:@CLOG-MANUAL%20MGL-PAX:SECTION" title="The CLOG manual">&#8593;</a> <a href="#CLOG:@CLOG-INTERNALS%20MGL-PAX:SECTION" title="CLOG Framework internals and extensions">&#8594;</a> <a href="#CLOG:@CLOG-HELPERS%20MGL-PAX:SECTION" title="CLOG Helper Functions">&#8634;</a></span></span></p>
<h2><a href="#CLOG:@CLOG-HELPERS%20MGL-PAX:SECTION">24 CLOG Helper Functions</a></h2>
<h2><a href="#CLOG:@CLOG-HELPERS%20MGL-PAX:SECTION">25 CLOG Helper Functions</a></h2>
<p>Tutorial and demo helpers</p>
@ -7766,7 +8069,7 @@ clog-user:<em>body</em> to last window openned to /repl.</p></li>
<p><span class="outer-navigation"><span class="navigation"> <a href="#CLOG:@CLOG-HELPERS%20MGL-PAX:SECTION" title="CLOG Helper Functions">&#8592;</a> <a href="#CLOG:@CLOG-MANUAL%20MGL-PAX:SECTION" title="The CLOG manual">&#8593;</a> <a href="#CLOG:@CLOG-INTERNALS%20MGL-PAX:SECTION" title="CLOG Framework internals and extensions">&#8634;</a></span></span></p>
<h2><a href="#CLOG:@CLOG-INTERNALS%20MGL-PAX:SECTION">25 CLOG Framework internals and extensions</a></h2>
<h2><a href="#CLOG:@CLOG-INTERNALS%20MGL-PAX:SECTION">26 CLOG Framework internals and extensions</a></h2>
<p><em>* Introduction to Internals *</em></p>

View file

@ -89,6 +89,10 @@ CLOG-Builder. If not using builder use to connect:
:accessor queryid
:initform nil
:documentation "Current query (private)")
(last-fetch
:accessor last-fetch
:initform nil
:documentation "Last fetch plist")
(columns
:accessor table-columns
:initform nil
@ -149,8 +153,9 @@ be set using DATA-LOAD-PLIST."))
made for get-row. All PANEL items or custom rows on panel will be set
using DATA-LOAD-PLIST."))
(defmethod next-row ((obj clog-obj) panel)
(setf (last-fetch obj) (dbi:fetch (queryid obj)))
(setf (rowid obj) (data-load-plist panel
(dbi:fetch (queryid obj))
(last-fetch obj)
:row-id-name (row-id-name obj))))
(defgeneric insert-row (clog-obj panel)

View file

@ -554,6 +554,7 @@ embedded in a native template application.)"
(row-id-name generic-function)
(rowid generic-function)
(table-columns generic-function)
(last-fetch generic-function)
(query-row generic-function)
(get-row generic-function)
(next-row generic-function)