Home » Databases » Sybase » ASE » ISUG Techcast: New Features in ASE 15.0.2: User Defined SQL Functions & Instead of Triggers

ISUG Techcast: New Features in ASE 15.0.2: User Defined SQL Functions & Instead of Triggers

<meta content="OpenOffice.org 2.2 (Linux)" name="GENERATOR" /><meta content="20070619;12595500" name="CREATED" /><meta content="16010101;0" name="CHANGED" />During the ISUG techcast today, several questions were raised that I think are worth looking at:<br /> <style type="text/css"> <!-- @page { size: 8.5in 11in; margin: 0.79in } P { margin-bottom: 0.08in } --> </style> <blockquote> <p style="margin-bottom: 0in"><font color="#0000c0"></font><font size="1" style="font-size: 8pt"><em>Question: </em></font><font color="#000000"></font><font size="1" style="font-size: 8pt">When will Table valued SQL UDFs be supported?</font></p> <p style="margin-bottom: 0in"><font color="#c00000"></font><font size="1" style="font-size: 8pt"><em>Private Answer: </em></font><font color="#000000"></font><font size="1" style="font-size: 8pt">It is being considered for the next release.</font></p> <p style="margin-bottom: 0in"><font color="#0000c0"></font><font size="1" style="font-size: 8pt"><em>Question: </em></font><font color="#000000"></font><font size="1" style="font-size: 8pt">Next release… meaning 15.0.3 or v16?</font></p> <p style="margin-bottom: 0in"><font color="#c00000"></font><font size="1" style="font-size: 8pt"><em>Private Answer: </em></font><font color="#000000"></font><font size="1" style="font-size: 8pt">Under consideration for 15.0.3</font></p> <p style="margin-bottom: 0in"><font color="#0000c0"></font><font size="1" style="font-size: 8pt"><em>Question: </em></font><font color="#000000"></font><font size="1" style="font-size: 8pt">is there a maximum limit on the size of the text in the sql udf?</font></p> <p style="margin-bottom: 0in"><font color="#c00000"></font><font size="1" style="font-size: 8pt"><em>Private Answer: </em></font><font color="#000000"></font><font size="1" style="font-size: 8pt">The same as sql procedures. I don’t remember if there is any.</font></p> <p style="margin-bottom: 0in"><font color="#0000c0"></font><font size="1" style="font-size: 8pt"><em>Question: </em></font><font color="#000000"></font><font size="1" style="font-size: 8pt">Any plans on startup triggers (triggers to fire on ASE startup)?</font></p> <p style="margin-bottom: 0in"><font color="#0000c0"></font><font size="1" style="font-size: 8pt"><em>Answer: </em></font><font color="#000000"></font><font size="1" style="font-size: 8pt">There are no current plans for ASE startup triggers.</font></p> <p style="margin-bottom: 0in"><font color="#0000c0"></font><font size="1" style="font-size: 8pt"><em>Question: </em></font><font color="#000000"></font><font size="1" style="font-size: 8pt">is there a size limit on the return value from the udf?</font></p> <p style="margin-bottom: 0in"><font color="#c00000"></font><font size="1" style="font-size: 8pt"><em>Private Answer: </em></font><font color="#000000"></font><font size="1" style="font-size: 8pt">We cannot return text/image.</font></p> </blockquote> <p style="margin-bottom: 0in"> According to the <a href="http://www.sybase.com/detail?id=1038641">Targeted ASE 15.0 Release Schedule</a>, we should see Sybase ASE v15.0.2 by the end of the month so it shouldn’t be too long before we will be able to play with the <a title="ASE 15.0.2 New Features" href="http://www.sybase.com/files/Product_Overviews/ASE1502_newfeatures.pdf">SQL User Defined Functions and the Instead Of Triggers</a>.</p> <p>More importantly, in fact, I think this is the most important feature of v15.0.2 is row level locking for system tables:</p> <blockquote><p><em>Earlier versions of Adaptive Server used exclusive table locks on system tables. The set of system tables Adaptive Server locked depended on the type of DDL operation you executed. If another DDL tried to take a conflicting exclusive table lock on the same system table, it had to wait to acquire the lock on any system catalogs. These DDL operations were executed serially.</em></p> <p><em><br /> This system impedes performance in temporary databases because their DDL activity is very high compared to regular database, which means their catalog contention is very high. This can limit the Adaptive Server throughput for applications that work with temporary tables.</em></p> <p><em><br /> The row-locked system tables allow the concurrent execution of DDL commands by using the row level locking infrastructure. Adaptive Server release 15.0.2 uses row-level locking to resolve these issues:<br /> </em></p> <ul> <li><em>System table contention, which was a bottleneck for many DDLs and utilities.</em></li> <li><em>tempdb contention. Because the system tables are locked at the row level, Adaptive Server 15.0.2 elimiates tempdb contention.</em></li> <li><em>Shared or exclusive table-level locks. Adaptive Server takes intent locks on catalogs only, which removes potential contention.</em></li> <li><em>Shared or exclusive table-level locks while executing DDLs and utilities. Adaptive Server 15.0 converted most of the system tables to DOL, but still took shared or exclusive table-level locks while executing DDLs and utilities. Using row-level locks for system tables eliminates this contention.</em></li> <li><em>DDLs and utilities blocking each other. Adaptive Server 15.0.2 allows DDLs and utilities to run in parallel.</em></li> </ul> </blockquote> <p>Eventually this techcast will show up on <a href="http://www.sybase.com/asearchivedevents">Sybase’s TechCast Listing</a>.</p> <div style="padding-bottom:20px; padding-top:10px;" class="hupso-share-buttons"><!-- Hupso Share Buttons - http://www.hupso.com/share/ --><a class="hupso_toolbar" href="http://www.hupso.com/share/"><img src="http://static.hupso.com/share/buttons/share-medium.png" style="border:0px; padding-top:5px; float:left;" alt="Share Button"/></a><script type="text/javascript">var hupso_services_t=new Array("Twitter","Facebook","Google Plus","Pinterest","Linkedin","Tumblr","StumbleUpon","Digg","Reddit","Bebo","Delicious","VKontakte","Odnoklassniki","Sina Weibo","QZone","Renren","Email","Print");var hupso_background_t="#EAF4FF";var hupso_border_t="#66CCFF";var hupso_toolbar_size_t="medium";var hupso_twitter_via = "jfroebe";var hupso_image_folder_url = "";var hupso_twitter_via="jfroebe";var hupso_url_t="";var hupso_title_t="ISUG Techcast: New Features in ASE 15.0.2: User Defined SQL Functions & Instead of Triggers";</script><script type="text/javascript" src="http://static.hupso.com/share/js/share_toolbar.js"></script><!-- Hupso Share Buttons --></div> <!-- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> <rdf:Description rdf:about="http://froebe.net/blog/2007/06/19/isug-techcast-new-features-in-ase-1502-user-defined-sql-functions-instead-of-triggers/" dc:identifier="http://froebe.net/blog/2007/06/19/isug-techcast-new-features-in-ase-1502-user-defined-sql-functions-instead-of-triggers/" dc:title="ISUG Techcast: New Features in ASE 15.0.2: User Defined SQL Functions & Instead of Triggers" trackback:ping="http://froebe.net/blog/2007/06/19/isug-techcast-new-features-in-ase-1502-user-defined-sql-functions-instead-of-triggers/trackback/" /> </rdf:RDF> --> </div> <!-- end div .entry --> <span class="postmeta_box"> <span class="auth"> <span class="meta-prep meta-prep-author posted"></span><a href="http://froebe.net/blog/2007/06/19/isug-techcast-new-features-in-ase-1502-user-defined-sql-functions-instead-of-triggers/" title="12:25 pm" rel="bookmark"><span class="timestamp updated">June 19, 2007</span></a><span class="byline"></span><span class="author vcard"><a class="url fn n" href="http://froebe.net/blog/author/administrator/" title="View all posts by Jason L Froebe">Jason L Froebe</a></span></span> <span class="postcateg"><a href="http://froebe.net/blog/categories/databases/sybase/ase/" rel="category tag">ASE</a>, <a href="http://froebe.net/blog/categories/databases/" rel="category tag">Databases</a>, <a href="http://froebe.net/blog/categories/databases/sybase/" rel="category tag">Sybase</a></span> <span class="comp"><a href="http://froebe.net/blog/2007/06/19/isug-techcast-new-features-in-ase-1502-user-defined-sql-functions-instead-of-triggers/#respond">No Comment</a></span> </span><!-- .entry-header --> <div class="gap"></div> <div id="single-nav" class="clearfix"> <div id="single-nav-left">«<strong><a href="http://froebe.net/blog/2007/06/13/fw-barcamp-chicago-2007/" rel="prev">FW: BarCamp Chicago 2007</a></strong></div> <div id="single-nav-right"><strong><a href="http://froebe.net/blog/2007/06/19/nas-disk-init-issues-ase-125x-150x-on-windows-xp-2k-2k3-vista/" rel="next">NAS disk init issues ASE 12.5.x, 15.0.x on Windows XP, 2k, 2k3, Vista</a></strong>»</div> </div> <!-- END single-nav --> <div class="comments"> <div id="comments" class="comments-area"> <div id="respond" class="comment-respond"> <h3 id="reply-title" class="comment-reply-title">Leave a Reply <small><a rel="nofollow" id="cancel-comment-reply-link" href="/blog/index.php/2007/06/19/isug-techcast-new-features-in-ase-1502-user-defined-sql-functions-instead-of-triggers/#respond" style="display:none;">Cancel reply</a></small></h3> <form action="http://froebe.net/blog/wp-comments-post.php" method="post" id="commentform" class="comment-form"> <p class="comment-notes"><span id="email-notes">Your email address will not be published.</span> Required fields are marked <span class="required">*</span></p><p class="comment-form-comment"><label for="comment">Comment</label> <textarea id="comment" name="dd1b1-comment" cols="45" rows="8" maxlength="65525" aria-required="true" required="required"></textarea><textarea name="comment" style="display:none" rows="1" cols="1"></textarea></p><div class="large-6 columns"><div class="row collapse prefix-radius"><div class="small-3 columns"><span class="prefix"><i class="fa fa-user"></i> <span class="required">*</span></span> </div><div class="small-9 columns"><input class="form-control" placeholder="Name" id="author" name="author" type="text" value="" size="20" aria-required='true' /></div></div></div> <div class="large-6 columns"><div class="row collapse prefix-radius"><div class="small-3 columns"><span class="prefix"><i class="fa fa-envelope-o"></i> <span class="required">*</span></span></div> <div class="small-9 columns"><input class="form-control" placeholder="Email" id="email" name="email" type="text" value="" size="20" aria-required='true' /></div></div></div> <div class="large-6 columns"><div class="row collapse prefix-radius"><div class="small-3 columns"><span class="prefix"><i class="fa fa-external-link"></i></span> </div><div class="small-9 columns"><input class="form-control" placeholder="Website" id="url" name="url" type="text" value="" size="30" /></div></div></div> <p class="form-submit"><input name="submit" type="submit" id="submit" class="button" value="Post Comment" /> <input type='hidden' name='comment_post_ID' value='236' id='comment_post_ID' /> <input type='hidden' name='comment_parent' id='comment_parent' value='0' /> </p><input type="hidden" id="sk2_time" name="sk2_time" value="1481218397" /><input type="hidden" id="sk2_ip" name="sk2_ip" value="46.161.9.12" /><input type="hidden" id="sk2_payload" name="sk2_payload" value="52197e6f8be19382e6c2b42be4252bfd" /><input type="hidden" id="sk2_my_js_check1" name="sk2_my_js_check1" value="y2jpv2r1s0" /> <input type="hidden" id="sk2_my_js_check2" name="sk2_my_js_check2" value="76f34ada54afb660166796467e06deaa" /> <script type="text/javascript"> <!-- document.write('<input type="hidden" id="sk2_my_js_payload" name="sk2_my_js_payload" value="'); document.write(Math.round ( Math.abs(((Math.min(Math.round ( Math.abs(((((Math.round ( Math.abs(1 % 5)) + 12) + 9) + 12) + Math.round( Math.abs(100*Math.sin(27)) ) ) % 7)), 30) + 5) * 16)))); document.write('" />'); --> </script> </form> </div><!-- #respond --> </div><!-- #comments --> </div> <!-- end div .comments --> </div> <!-- end div #content --> <div id="sidebar"> <div class="box clearfloat"><div class="boxinside clearfloat"> <div class="textwidget"><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- rect1 --> <ins class="adsbygoogle" style="display:inline-block;width:300px;height:250px" data-ad-client="ca-pub-2450040328571544" data-ad-slot="1293010971"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script></div> </div></div> <div class="box clearfloat"><div class="boxinside clearfloat"> <!-- Widget added by an AddThis plugin --> <!-- widget name: Follow Buttons - Horizontal --> <!-- tool class: AddThisFollowButtonsHorizontalTool --> <h4 class="widgettitle">Follow Me</h4> <div class="addthis_horizontal_follow_toolbox"></div> <!-- End of widget --> </div></div> <div class="box clearfloat"><div class="boxinside clearfloat"><form role="search" method="get" id="searchform" class="searchform" action="http://froebe.net/blog/" > <div><label class="screen-reader-text" for="s">Search for:</label> <div class="input-group"><input class="input-group-field" type="text" placeholder="Search.." value="" name="s" id="s" /> <div class="input-group-button"><input type="submit" class="button" id="searchsubmit" value="Go" /> </div></div></div> </form></div></div><div class="box clearfloat"><div class="boxinside clearfloat"><h4 class="widgettitle">Archives</h4> <label class="screen-reader-text" for="archives-dropdown-4">Archives</label> <select id="archives-dropdown-4" name="archive-dropdown" onchange='document.location.href=this.options[this.selectedIndex].value;'> <option value="">Select Month</option> <option value='http://froebe.net/blog/2016/09/'> September 2016 </option> <option value='http://froebe.net/blog/2016/08/'> August 2016 </option> <option value='http://froebe.net/blog/2016/07/'> July 2016 </option> <option value='http://froebe.net/blog/2016/03/'> March 2016 </option> <option value='http://froebe.net/blog/2016/02/'> February 2016 </option> <option value='http://froebe.net/blog/2016/01/'> January 2016 </option> <option value='http://froebe.net/blog/2015/12/'> December 2015 </option> <option value='http://froebe.net/blog/2015/11/'> November 2015 </option> <option value='http://froebe.net/blog/2015/10/'> October 2015 </option> <option value='http://froebe.net/blog/2015/09/'> September 2015 </option> <option value='http://froebe.net/blog/2015/08/'> August 2015 </option> <option value='http://froebe.net/blog/2015/07/'> July 2015 </option> <option value='http://froebe.net/blog/2015/06/'> June 2015 </option> <option value='http://froebe.net/blog/2015/05/'> May 2015 </option> <option value='http://froebe.net/blog/2015/04/'> April 2015 </option> <option value='http://froebe.net/blog/2015/02/'> February 2015 </option> <option value='http://froebe.net/blog/2015/01/'> January 2015 </option> <option value='http://froebe.net/blog/2014/12/'> December 2014 </option> <option value='http://froebe.net/blog/2014/11/'> November 2014 </option> <option value='http://froebe.net/blog/2014/10/'> October 2014 </option> <option value='http://froebe.net/blog/2014/09/'> September 2014 </option> <option value='http://froebe.net/blog/2014/08/'> August 2014 </option> <option value='http://froebe.net/blog/2014/07/'> July 2014 </option> <option value='http://froebe.net/blog/2014/05/'> May 2014 </option> <option value='http://froebe.net/blog/2014/04/'> April 2014 </option> <option value='http://froebe.net/blog/2014/03/'> March 2014 </option> <option value='http://froebe.net/blog/2014/02/'> February 2014 </option> <option value='http://froebe.net/blog/2014/01/'> January 2014 </option> <option value='http://froebe.net/blog/2013/12/'> December 2013 </option> <option value='http://froebe.net/blog/2013/11/'> November 2013 </option> <option value='http://froebe.net/blog/2013/10/'> October 2013 </option> <option value='http://froebe.net/blog/2013/09/'> September 2013 </option> <option value='http://froebe.net/blog/2013/08/'> August 2013 </option> <option value='http://froebe.net/blog/2013/07/'> July 2013 </option> <option value='http://froebe.net/blog/2013/06/'> June 2013 </option> <option value='http://froebe.net/blog/2013/05/'> May 2013 </option> <option value='http://froebe.net/blog/2013/04/'> April 2013 </option> <option value='http://froebe.net/blog/2013/03/'> March 2013 </option> <option value='http://froebe.net/blog/2013/02/'> February 2013 </option> <option value='http://froebe.net/blog/2013/01/'> January 2013 </option> <option value='http://froebe.net/blog/2012/11/'> November 2012 </option> <option value='http://froebe.net/blog/2012/10/'> October 2012 </option> <option value='http://froebe.net/blog/2012/08/'> August 2012 </option> <option value='http://froebe.net/blog/2012/01/'> January 2012 </option> <option value='http://froebe.net/blog/2011/11/'> November 2011 </option> <option value='http://froebe.net/blog/2011/04/'> April 2011 </option> <option value='http://froebe.net/blog/2011/01/'> January 2011 </option> <option value='http://froebe.net/blog/2010/12/'> December 2010 </option> <option value='http://froebe.net/blog/2010/11/'> November 2010 </option> <option value='http://froebe.net/blog/2010/09/'> September 2010 </option> <option value='http://froebe.net/blog/2010/08/'> August 2010 </option> <option value='http://froebe.net/blog/2010/06/'> June 2010 </option> <option value='http://froebe.net/blog/2010/05/'> May 2010 </option> <option value='http://froebe.net/blog/2010/04/'> April 2010 </option> <option value='http://froebe.net/blog/2010/03/'> March 2010 </option> <option value='http://froebe.net/blog/2010/02/'> February 2010 </option> <option value='http://froebe.net/blog/2010/01/'> January 2010 </option> <option value='http://froebe.net/blog/2009/12/'> December 2009 </option> <option value='http://froebe.net/blog/2009/11/'> November 2009 </option> <option value='http://froebe.net/blog/2009/10/'> October 2009 </option> <option value='http://froebe.net/blog/2009/09/'> September 2009 </option> <option value='http://froebe.net/blog/2009/08/'> August 2009 </option> <option value='http://froebe.net/blog/2009/07/'> July 2009 </option> <option value='http://froebe.net/blog/2009/06/'> June 2009 </option> <option value='http://froebe.net/blog/2009/05/'> May 2009 </option> <option value='http://froebe.net/blog/2009/04/'> April 2009 </option> <option value='http://froebe.net/blog/2009/03/'> March 2009 </option> <option value='http://froebe.net/blog/2009/02/'> February 2009 </option> <option value='http://froebe.net/blog/2009/01/'> January 2009 </option> <option value='http://froebe.net/blog/2008/12/'> December 2008 </option> <option value='http://froebe.net/blog/2008/11/'> November 2008 </option> <option value='http://froebe.net/blog/2008/10/'> October 2008 </option> <option value='http://froebe.net/blog/2008/09/'> September 2008 </option> <option value='http://froebe.net/blog/2008/08/'> August 2008 </option> <option value='http://froebe.net/blog/2008/07/'> July 2008 </option> <option value='http://froebe.net/blog/2008/06/'> June 2008 </option> <option value='http://froebe.net/blog/2008/05/'> May 2008 </option> <option value='http://froebe.net/blog/2008/04/'> April 2008 </option> <option value='http://froebe.net/blog/2008/03/'> March 2008 </option> <option value='http://froebe.net/blog/2008/02/'> February 2008 </option> <option value='http://froebe.net/blog/2008/01/'> January 2008 </option> <option value='http://froebe.net/blog/2007/12/'> December 2007 </option> <option value='http://froebe.net/blog/2007/11/'> November 2007 </option> <option value='http://froebe.net/blog/2007/10/'> October 2007 </option> <option value='http://froebe.net/blog/2007/09/'> September 2007 </option> <option value='http://froebe.net/blog/2007/08/'> August 2007 </option> <option value='http://froebe.net/blog/2007/07/'> July 2007 </option> <option value='http://froebe.net/blog/2007/06/'> June 2007 </option> <option value='http://froebe.net/blog/2007/05/'> May 2007 </option> <option value='http://froebe.net/blog/2007/04/'> April 2007 </option> <option value='http://froebe.net/blog/2007/03/'> March 2007 </option> <option value='http://froebe.net/blog/2007/02/'> February 2007 </option> <option value='http://froebe.net/blog/2007/01/'> January 2007 </option> <option value='http://froebe.net/blog/2006/12/'> December 2006 </option> <option value='http://froebe.net/blog/2006/11/'> November 2006 </option> <option value='http://froebe.net/blog/2006/10/'> October 2006 </option> <option value='http://froebe.net/blog/2006/09/'> September 2006 </option> <option value='http://froebe.net/blog/2006/08/'> August 2006 </option> </select> </div></div><div class="box clearfloat"><div class="boxinside clearfloat"><h4 class="widgettitle">Categories</h4><label class="screen-reader-text" for="cat">Categories</label><select name='cat' id='cat' class='postform' > <option value='-1'>Select Category</option> <option class="level-0" value="17">Apache</option> <option class="level-0" value="792">APIs</option> <option class="level-1" value="793">   Flickr</option> <option class="level-0" value="27">Breast Cancer 3 Day Walk</option> <option class="level-0" value="1861">C / C++</option> <option class="level-0" value="381">contest</option> <option class="level-0" value="1896">Cosplay</option> <option class="level-0" value="38">Crafts</option> <option class="level-0" value="33">Databases</option> <option class="level-1" value="29">   IBM DB2</option> <option class="level-1" value="11">   Microsoft</option> <option class="level-2" value="15">      SQL Server</option> <option class="level-1" value="284">   My Databases</option> <option class="level-1" value="12">   MySQL</option> <option class="level-1" value="13">   Oracle</option> <option class="level-1" value="14">   PostgreSQL</option> <option class="level-1" value="213">   SQLite</option> <option class="level-1" value="2">   Sybase</option> <option class="level-2" value="3">      ASE</option> <option class="level-2" value="28">      Backup Server</option> <option class="level-2" value="1846">      HANA</option> <option class="level-2" value="490">      IQ</option> <option class="level-2" value="109">      ISUG</option> <option class="level-2" value="101">      Powerbuilder</option> <option class="level-2" value="5">      Replication Server</option> <option class="level-3" value="4">         RepAgents</option> <option class="level-2" value="543">      SQL Anywhere</option> <option class="level-2" value="1680">      Sybase Control Center</option> <option class="level-2" value="35">      TeamSybase</option> <option class="level-3" value="36">         Annual Meeting</option> <option class="level-2" value="6">      TechWave</option> <option class="level-2" value="26">      Workspace</option> <option class="level-0" value="45">Family</option> <option class="level-0" value="1862">FORTRAN</option> <option class="level-0" value="16">Gadgets</option> <option class="level-0" value="39">Geek Spotlight</option> <option class="level-0" value="298">Gimp</option> <option class="level-0" value="30">How To</option> <option class="level-0" value="37">humor</option> <option class="level-0" value="734">java</option> <option class="level-0" value="1266">Jobs</option> <option class="level-0" value="1616">Judaism</option> <option class="level-0" value="2103">Martial Arts</option> <option class="level-0" value="2065">Microsoft OneNote</option> <option class="level-0" value="1317">Microsoft Sharepoint</option> <option class="level-0" value="2077">Microsoft Surface</option> <option class="level-0" value="25">misc</option> <option class="level-0" value="19">MovableType</option> <option class="level-0" value="1048">Music</option> <option class="level-0" value="22">News</option> <option class="level-1" value="21">   Events</option> <option class="level-0" value="20">OS</option> <option class="level-1" value="414">   AIX</option> <option class="level-1" value="18">   Linux</option> <option class="level-2" value="1945">      Quickly</option> <option class="level-1" value="34">   Mac OSX</option> <option class="level-1" value="24">   Windows</option> <option class="level-0" value="7">Perl</option> <option class="level-1" value="8">   DBI</option> <option class="level-1" value="9">   Mason</option> <option class="level-1" value="10">   mod_perl</option> <option class="level-0" value="43">Podcast</option> <option class="level-0" value="1286">Python</option> <option class="level-0" value="362">Reviews</option> <option class="level-1" value="363">   Audio Book</option> <option class="level-1" value="1039">   Book</option> <option class="level-0" value="1904">Science</option> <option class="level-1" value="1905">   Space</option> <option class="level-0" value="2045">Shell</option> <option class="level-1" value="2083">   BASH</option> <option class="level-1" value="2046">   Korn</option> <option class="level-0" value="31">subversion</option> <option class="level-0" value="23">Training</option> <option class="level-0" value="1">Uncategorized</option> <option class="level-0" value="610">virtualization</option> <option class="level-1" value="1254">   libvirt / KVM</option> <option class="level-1" value="1239">   Proxmox VE</option> <option class="level-1" value="1009">   virtualbox</option> <option class="level-1" value="85">   VMware</option> <option class="level-0" value="54">Wordpress</option> </select> <script type='text/javascript'> /* <![CDATA[ */ (function() { var dropdown = document.getElementById( "cat" ); function onCatChange() { if ( dropdown.options[ dropdown.selectedIndex ].value > 0 ) { location.href = "http://froebe.net/blog/?cat=" + dropdown.options[ dropdown.selectedIndex ].value; } } dropdown.onchange = onCatChange; })(); /* ]]> */ </script> </div></div><div class="box clearfloat"><div class="boxinside clearfloat"><h4 class="widgettitle">Recent Comments</h4><ul id="recentcomments"><li class="recentcomments"><span class="comment-author-link"><a href='http://www.froebe.net/blog' rel='external ' class='url'>Jason L Froebe</a></span> on <a href="http://froebe.net/blog/2013/10/29/how-to-root-the-bell-and-howell-c714-tablet/comment-page-1/#comment-95226">How to root the Bell and Howell C714 tablet</a></li><li class="recentcomments"><span class="comment-author-link">Dostoievsky</span> on <a href="http://froebe.net/blog/2008/11/14/getting-xlib-putty-x11-proxy-wrong-authentication-protocol-attempted-i-have-the-answer/comment-page-3/#comment-94549">Getting “Xlib: PuTTY X11 proxy: wrong authentication protocol attempted”? I have the answer :)</a></li><li class="recentcomments"><span class="comment-author-link">Rebecca</span> on <a href="http://froebe.net/blog/2013/10/29/how-to-root-the-bell-and-howell-c714-tablet/comment-page-1/#comment-94148">How to root the Bell and Howell C714 tablet</a></li><li class="recentcomments"><span class="comment-author-link"><a href='http://www.froebe.net/blog' rel='external ' class='url'>Jason L Froebe</a></span> on <a href="http://froebe.net/blog/2009/12/24/how-to-create-an-itunesipod-compatible-audiobook-mpeg4-m4b-on-linux-using-mp4box-and-mp4v2-v1-9-1-it-can-be-done/comment-page-1/#comment-94112">How to create an iTunes/iPod compatible audiobook (MPEG4 m4b) on Linux using MP4Box and mp4v2 v1.9.1 – it can be done!</a></li><li class="recentcomments"><span class="comment-author-link">Ajar</span> on <a href="http://froebe.net/blog/2009/12/24/how-to-create-an-itunesipod-compatible-audiobook-mpeg4-m4b-on-linux-using-mp4box-and-mp4v2-v1-9-1-it-can-be-done/comment-page-1/#comment-94038">How to create an iTunes/iPod compatible audiobook (MPEG4 m4b) on Linux using MP4Box and mp4v2 v1.9.1 – it can be done!</a></li></ul></div></div><div class="box clearfloat"><div class="boxinside clearfloat"><h4 class="widgettitle">Tags</h4><div class="tagcloud"><a href='http://froebe.net/blog/tag/aldiko/' class='tag-link-1674 tag-link-position-1' title='12 topics' style='font-size: 9.2125984251969pt;'>aldiko</a> <a href='http://froebe.net/blog/tag/ase/' class='tag-link-1980 tag-link-position-2' title='93 topics' style='font-size: 18.692913385827pt;'>ASE</a> <a href='http://froebe.net/blog/tag/bash/' class='tag-link-833 tag-link-position-3' title='12 topics' style='font-size: 9.2125984251969pt;'>bash</a> <a href='http://froebe.net/blog/tag/bug/' class='tag-link-115 tag-link-position-4' title='12 topics' style='font-size: 9.2125984251969pt;'>bug</a> <a href='http://froebe.net/blog/tag/chicago/' class='tag-link-186 tag-link-position-5' title='10 topics' style='font-size: 8.4409448818898pt;'>Chicago</a> <a href='http://froebe.net/blog/tag/database/' class='tag-link-233 tag-link-position-6' title='25 topics' style='font-size: 12.51968503937pt;'>Database</a> <a href='http://froebe.net/blog/tag/dbdsybase/' class='tag-link-220 tag-link-position-7' title='12 topics' style='font-size: 9.2125984251969pt;'>dbd::sybase</a> <a href='http://froebe.net/blog/tag/dbms/' class='tag-link-2014 tag-link-position-8' title='10 topics' style='font-size: 8.4409448818898pt;'>DBMS</a> <a href='http://froebe.net/blog/tag/ed-barlow/' class='tag-link-1550 tag-link-position-9' title='12 topics' style='font-size: 9.2125984251969pt;'>Ed Barlow</a> <a href='http://froebe.net/blog/tag/error/' class='tag-link-1184 tag-link-position-10' title='15 topics' style='font-size: 10.204724409449pt;'>error</a> <a href='http://froebe.net/blog/tag/flickr/' class='tag-link-296 tag-link-position-11' title='10 topics' style='font-size: 8.4409448818898pt;'>flickr</a> <a href='http://froebe.net/blog/tag/gimp/' class='tag-link-2024 tag-link-position-12' title='9 topics' style='font-size: 8pt;'>Gimp</a> <a href='http://froebe.net/blog/tag/hardy-heron/' class='tag-link-230 tag-link-position-13' title='11 topics' style='font-size: 8.8818897637795pt;'>hardy heron</a> <a href='http://froebe.net/blog/tag/howto/' class='tag-link-113 tag-link-position-14' title='61 topics' style='font-size: 16.708661417323pt;'>howto</a> <a href='http://froebe.net/blog/tag/humor/' class='tag-link-2007 tag-link-position-15' title='18 topics' style='font-size: 11.086614173228pt;'>humor</a> <a href='http://froebe.net/blog/tag/ibm/' class='tag-link-232 tag-link-position-16' title='9 topics' style='font-size: 8pt;'>IBM</a> <a href='http://froebe.net/blog/tag/iq/' class='tag-link-2027 tag-link-position-17' title='44 topics' style='font-size: 15.165354330709pt;'>IQ</a> <a href='http://froebe.net/blog/tag/isug/' class='tag-link-96 tag-link-position-18' title='25 topics' style='font-size: 12.51968503937pt;'>ISUG</a> <a href='http://froebe.net/blog/tag/java/' class='tag-link-2030 tag-link-position-19' title='9 topics' style='font-size: 8pt;'>java</a> <a href='http://froebe.net/blog/tag/kvm/' class='tag-link-1158 tag-link-position-20' title='11 topics' style='font-size: 8.8818897637795pt;'>kvm</a> <a href='http://froebe.net/blog/tag/linux/' class='tag-link-1995 tag-link-position-21' title='77 topics' style='font-size: 17.811023622047pt;'>Linux</a> <a href='http://froebe.net/blog/tag/microsoft/' class='tag-link-1988 tag-link-position-22' title='31 topics' style='font-size: 13.622047244094pt;'>Microsoft</a> <a href='http://froebe.net/blog/tag/openclient/' class='tag-link-1073 tag-link-position-23' title='10 topics' style='font-size: 8.4409448818898pt;'>openclient</a> <a href='http://froebe.net/blog/tag/oracle/' class='tag-link-1991 tag-link-position-24' title='23 topics' style='font-size: 12.188976377953pt;'>Oracle</a> <a href='http://froebe.net/blog/tag/pdf/' class='tag-link-667 tag-link-position-25' title='13 topics' style='font-size: 9.6535433070866pt;'>pdf</a> <a href='http://froebe.net/blog/tag/perl/' class='tag-link-1983 tag-link-position-26' title='76 topics' style='font-size: 17.811023622047pt;'>Perl</a> <a href='http://froebe.net/blog/tag/podcast/' class='tag-link-2010 tag-link-position-27' title='10 topics' style='font-size: 8.4409448818898pt;'>Podcast</a> <a href='http://froebe.net/blog/tag/powerbuilder/' class='tag-link-2021 tag-link-position-28' title='9 topics' style='font-size: 8pt;'>Powerbuilder</a> <a href='http://froebe.net/blog/tag/replication-server/' class='tag-link-1981 tag-link-position-29' title='9 topics' style='font-size: 8pt;'>Replication Server</a> <a href='http://froebe.net/blog/tag/sap/' class='tag-link-1339 tag-link-position-30' title='72 topics' style='font-size: 17.48031496063pt;'>sap</a> <a href='http://froebe.net/blog/tag/sap-iq/' class='tag-link-1683 tag-link-position-31' title='16 topics' style='font-size: 10.535433070866pt;'>sap iq</a> <a href='http://froebe.net/blog/tag/sap-sybase/' class='tag-link-1629 tag-link-position-32' title='11 topics' style='font-size: 8.8818897637795pt;'>sap sybase</a> <a href='http://froebe.net/blog/tag/solved/' class='tag-link-1790 tag-link-position-33' title='11 topics' style='font-size: 8.8818897637795pt;'>solved</a> <a href='http://froebe.net/blog/tag/sql/' class='tag-link-171 tag-link-position-34' title='14 topics' style='font-size: 9.9842519685039pt;'>sql</a> <a href='http://froebe.net/blog/tag/sql-server/' class='tag-link-1992 tag-link-position-35' title='10 topics' style='font-size: 8.4409448818898pt;'>SQL Server</a> <a href='http://froebe.net/blog/tag/sybase/' class='tag-link-1979 tag-link-position-36' title='187 topics' style='font-size: 22pt;'>Sybase</a> <a href='http://froebe.net/blog/tag/sybase-ase/' class='tag-link-100 tag-link-position-37' title='17 topics' style='font-size: 10.866141732283pt;'>Sybase ASE</a> <a href='http://froebe.net/blog/tag/sybase-iq/' class='tag-link-412 tag-link-position-38' title='18 topics' style='font-size: 11.086614173228pt;'>Sybase IQ</a> <a href='http://froebe.net/blog/tag/techwave/' class='tag-link-1982 tag-link-position-39' title='13 topics' style='font-size: 9.6535433070866pt;'>TechWave</a> <a href='http://froebe.net/blog/tag/ubuntu/' class='tag-link-191 tag-link-position-40' title='56 topics' style='font-size: 16.377952755906pt;'>ubuntu</a> <a href='http://froebe.net/blog/tag/video/' class='tag-link-126 tag-link-position-41' title='34 topics' style='font-size: 13.952755905512pt;'>video</a> <a href='http://froebe.net/blog/tag/vista/' class='tag-link-158 tag-link-position-42' title='10 topics' style='font-size: 8.4409448818898pt;'>vista</a> <a href='http://froebe.net/blog/tag/vmware/' class='tag-link-2020 tag-link-position-43' title='16 topics' style='font-size: 10.535433070866pt;'>VMware</a> <a href='http://froebe.net/blog/tag/windows/' class='tag-link-1999 tag-link-position-44' title='22 topics' style='font-size: 11.968503937008pt;'>Windows</a> <a href='http://froebe.net/blog/tag/youtube/' class='tag-link-257 tag-link-position-45' title='22 topics' style='font-size: 11.968503937008pt;'>youtube</a></div> </div></div><div class="box clearfloat"><div class="boxinside clearfloat"> <div class="textwidget"><a data-flip-widget="pro" href="http://flipboard.com/profile/jfroebe">Jason Froebe</a><script src="https://cdn.flipboard.com/web/buttons/js/flbuttons.min.js" type="text/javascript"></script> <a data-pin-do="embedUser" href="http://www.pinterest.com/jfroebe/"data-pin-scale-width="80" data-pin-scale-height="200" data-pin-board-width="400">Visit Jason's profile on Pinterest.</a><!-- Please call pinit.js only once per page --><script type="text/javascript" async src="//assets.pinterest.com/js/pinit.js"></script> <div id="clustrmaps-widget"></div><script type="text/javascript">var _clustrmaps = {'url' : 'http://www.froebe.net', 'user' : 1087540, 'server' : '2', 'id' : 'clustrmaps-widget', 'version' : 1, 'date' : '2013-04-02', 'lang' : 'en', 'corners' : 'square' };(function (){ var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = 'http://www2.clustrmaps.com/counter/map.js'; var x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x);})();</script><noscript><a href="http://www2.clustrmaps.com/user/9f4109834"><img src="http://www2.clustrmaps.com/stats/maps-no_clusters/www.froebe.net-thumb.jpg" alt="Locations of visitors to this page" /></a></noscript> </div> </div></div><div class="box clearfloat"><div class="boxinside clearfloat"><h4 class="widgettitle">Meta</h4> <ul> <li><a href="http://froebe.net/blog/wp-login.php?action=register">Register</a></li> <li><a href="http://froebe.net/blog/wp-login.php">Log in</a></li> <li><a href="http://froebe.net/blog/feed/">Entries <abbr title="Really Simple Syndication">RSS</abbr></a></li> <li><a href="http://froebe.net/blog/comments/feed/">Comments <abbr title="Really Simple Syndication">RSS</abbr></a></li> <li><a href="https://wordpress.org/" title="Powered by WordPress, state-of-the-art semantic personal publishing platform.">WordPress.org</a></li> </ul> </div></div></div> <!-- end div #sidebar --> </div><!-- end div #page-inner --> </div><!-- end div #page --><!-- END PAGE --><!-- BEGIN BOTTOM-MENU --> <div id="footer"> <div id="footer-inner" class="clearfix"> Copyright © 2016 <a href="http://froebe.net/blog/" title="Jason L. Froebe – Tech tips and How Tos for Fellow Techies" >Jason L. Froebe – Tech tips and How Tos for Fellow Techies</a> | <a href="http://www.insertcart.com/product/refresh-wp-theme/" title="Design"><strong>Theme ReFresh </strong></a> </br>Powered by <a href="http://wordpress.org/">WordPress</a> </div> <!-- end div #footer-inner --> </div> <!-- end div #footer --> <!-- END FOOTER --> </div> <!-- end wrapper --> <div id="sk2-footer" style="color:#FFF; background-color:#444; padding: 3px 2px 3px 2px; border-top: #888 solid 1px;">This blog is protected by <a href="http://unknowngenius.com/blog/" title="Dave">Dave</a>'s <strong><a href="http://unknowngenius.com/blog/wordpress/spam-karma/" title="SK2">Spam Karma 2</a></strong>: <strong>134728</strong> Spams eaten and counting...</div> <!-- WP-FB AutoConnect Init v4.3.0 (NEW API) --> <div id="fb-root"></div> <script type="text/javascript">//<!-- window.fbAsyncInit = function() { FB.init({ appId: '', status: true, cookie: true, xfbml: true, version: 'v2.7' }); }; (function() { var e = document.createElement('script'); e.src = document.location.protocol + '//connect.facebook.net/en_US/sdk.js'; e.async = true; document.getElementById('fb-root').appendChild(e); }()); //--></script> <!-- WP-FB AutoConnect Callback v4.3.0 --> <form id="wp-fb-ac-fm" name="jfb_js_login_callback_form" method="post" action="http://froebe.net/blog/wp-login.php" > <input type="hidden" name="redirectTo" value="/blog/index.php/2007/06/19/isug-techcast-new-features-in-ase-1502-user-defined-sql-functions-instead-of-triggers/" /> <input type="hidden" name="access_token" id="jfb_access_token" value="0" /> <input type="hidden" name="fbuid" id="jfb_fbuid" value="0" /> <input type="hidden" id="autoconnect_nonce" name="autoconnect_nonce" value="a67754b91d" /><input type="hidden" name="_wp_http_referer" value="/blog/index.php/2007/06/19/isug-techcast-new-features-in-ase-1502-user-defined-sql-functions-instead-of-triggers/" /> </form> <script type="text/javascript">//<!-- function jfb_js_login_callback() { //wpfb_add_to_js: An action to allow the user to inject additional JS to be executed before the login takes place //wpfb_add_to_js: Finished //Make sure the user logged into Facebook (didn't click "cancel" in the login prompt) FB.getLoginStatus(function(response) { if (!response.authResponse) { //Note to self: if this is happening unexpectedly, it could be because third-party browser cookies are disabled. return; } //Set the uid & access token to be sent in to our login script jQuery('#jfb_access_token').val(response.authResponse.accessToken); jQuery("#jfb_fbuid").val(response.authResponse.userID); //Submit the login and close the FB.getLoginStatus call document.jfb_js_login_callback_form.submit(); }) } //--></script> Facebook login by <a href="http://www.justin-klein.com/projects/wp-fb-autoconnect">WP-FB-AutoConnect</a><div id='wrap'><div id='footer'><p>The opinions expressed within are the sole rantings of a raving lunatic and in no way reflect the rantings, fits, tantrums, errors, corrections, allocutions, or aimless thoughts of Sybase or its employees or of TeamSybase or ISUG. Any resemblance to reasonable thought, or any official or published opinion of Sybase, TeamSybase or ISUG is merely coincidental, and should be totally ignored.</p><p><a href='http://froebe.net/blog'>Jason L. Froebe - Tech tips and How Tos for Fellow Techies</a> © 2016</p></div></div><script type='text/javascript' src='http://froebe.net/blog/wp-content/plugins/prettify-code-syntax/javascripts/prettify.js?ver=4.6.1'></script> <script type='text/javascript' src='http://froebe.net/blog/wp-content/plugins/prettify-code-syntax/javascripts/lang-sql.js?ver=4.6.1'></script> <script type='text/javascript' src='http://froebe.net/blog/wp-content/plugins/prettify-code-syntax/javascripts/lang-tex.js?ver=4.6.1'></script> <script type='text/javascript' src='http://froebe.net/blog/wp-content/plugins/prettify-code-syntax/javascripts/load.js?ver=4.6.1'></script> <script type='text/javascript' src='http://froebe.net/blog/wp-includes/js/comment-reply.min.js?ver=4.6.1'></script> <script type='text/javascript' src='http://froebe.net/blog/wp-content/plugins/youtube-embed-plus/scripts/fitvids.min.js?ver=4.6.1'></script> <script type='text/javascript' src='http://froebe.net/blog/wp-includes/js/wp-embed.min.js?ver=4.6.1'></script> <script>function lc_get_cookie(name) {var c = document.cookie;if (c.indexOf(name) != -1) {var x = c.indexOf(name)+name.length+1;var y = c.indexOf(";",x);if (y < 0) y = c.length;return decodeURIComponent(c.substring(x,y));} else return "";}if ((d = document.getElementById("commentform")) != null) { e = d.elements;var z = lc_get_cookie("comment_author_email_dd1b1a9045e631d1779b688eeb211e82");if (z != "") e["email"].value = z;z = lc_get_cookie("comment_author_dd1b1a9045e631d1779b688eeb211e82");if (z != "") e["author"].value = z.replace(/\+/g, " ");z = lc_get_cookie("comment_author_url_dd1b1a9045e631d1779b688eeb211e82");if (z != "") e["url"].value = z;}</script></body></html><!-- hyper cache gzip 2016-12-08 05:33:18 -->