<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>MLai - Reflecting my Life &#187; Tech Talk</title>
	<atom:link href="http://www.mlai.org/weblog/category/computer-related/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mlai.org/weblog</link>
	<description>This is a place where I can write a little rant and keep it as my notepad.</description>
	<lastBuildDate>Mon, 12 Dec 2011 10:02:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>2011 Atlanta REALStudio Conference</title>
		<link>http://www.mlai.org/weblog/2011/03/21/2011-atlanta-realstudio-conference/</link>
		<comments>http://www.mlai.org/weblog/2011/03/21/2011-atlanta-realstudio-conference/#comments</comments>
		<pubDate>Mon, 21 Mar 2011 13:20:21 +0000</pubDate>
		<dc:creator>miltonlai</dc:creator>
				<category><![CDATA[Photography]]></category>
		<category><![CDATA[Tech Talk]]></category>

		<guid isPermaLink="false">http://www.mlai.org/weblog/?p=479</guid>
		<description><![CDATA[Writing this WAY after it actually happened: The conference this year was at Atlanta. It was hosted by both the Association of REALbasic Professionals and REAL Software. Great location next to the Airport. There was a call for speakers and I was jokingly entered, and ended up speaking about Serial devices and Barcode Printing using [...]]]></description>
			<content:encoded><![CDATA[<p>Writing this WAY after it actually happened:<br />
<br />
The conference this year was at Atlanta. It was hosted by both the <a href="http://arbpmembers.org/">Association of REALbasic Professionals</a> and <a href="http://www.realsoftware.com/">REAL Software</a>. Great location next to the Airport. There was a call for speakers and I was jokingly entered, and ended up speaking about Serial devices and Barcode Printing using REALbasic. There were announcements by <a href="http://en.wikipedia.org/wiki/Geoff_Perlman">Geoff Perlman</a>, the CEO of REAL Software. He went through the up and coming features of REALStudio as well as the Web components. There were numerous topics that were covered, all of which were very interesting. Overall, a fantastic trip.</p>

<div class="ngg-galleryoverview" id="ngg-gallery-51-479">


	<!-- Piclense link -->
	<div class="piclenselink">
		<a class="piclenselink" href="javascript:PicLensLite.start({feedUrl:'http://www.mlai.org/weblog/wp-content/plugins/nextgen-gallery/xml/media-rss.php?gid=51&amp;mode=gallery'});">
			[View with PicLens]		</a>
	</div>
	
	<!-- Thumbnails -->
		
	<div id="ngg-image-436" class="ngg-gallery-thumbnail-box" style="width:100%;" >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.mlai.org/weblog/wp-content/gallery/rbconference2011/psrs201101.jpg" title=" " class="shutterset_set_51" >
								<img title="psrs201101" alt="psrs201101" src="http://www.mlai.org/weblog/wp-content/gallery/rbconference2011/thumbs/thumbs_psrs201101.jpg" width="600" height="428" />
							</a>
		</div>
	</div>
	
				<br style="clear: both" />
	
 		
	<div id="ngg-image-437" class="ngg-gallery-thumbnail-box" style="width:100%;" >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.mlai.org/weblog/wp-content/gallery/rbconference2011/psrs201102.jpg" title=" " class="shutterset_set_51" >
								<img title="psrs201102" alt="psrs201102" src="http://www.mlai.org/weblog/wp-content/gallery/rbconference2011/thumbs/thumbs_psrs201102.jpg" width="600" height="428" />
							</a>
		</div>
	</div>
	
				<br style="clear: both" />
	
 	 	
	<!-- Pagination -->
 	<div class="ngg-clear"></div> 	
</div>


<p>Written by Milton Lai</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mlai.org/weblog/2011/03/21/2011-atlanta-realstudio-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sybase ASE 15.5 Like Operator Issue</title>
		<link>http://www.mlai.org/weblog/2010/09/27/sybase-ase-15-5-like-operator-issue/</link>
		<comments>http://www.mlai.org/weblog/2010/09/27/sybase-ase-15-5-like-operator-issue/#comments</comments>
		<pubDate>Mon, 27 Sep 2010 05:47:08 +0000</pubDate>
		<dc:creator>miltonlai</dc:creator>
				<category><![CDATA[Tech Talk]]></category>

		<guid isPermaLink="false">http://www.mlai.org/weblog/?p=368</guid>
		<description><![CDATA[We migrated several databases across from ASE 15.0.2 to a new sybase server over the weekend. All went well until this morning when we found out that the like operator wasn&#8217;t behaving as expected. Instead of the percent/mod operator representing this definition: &#8220;Matches any string of zero or more characters.&#8221;; it became &#8220;any string of [...]]]></description>
			<content:encoded><![CDATA[<p>We migrated several databases across from ASE 15.0.2 to a new sybase server over the weekend. All went well until this morning when we found out that the like operator wasn&#8217;t behaving as expected. Instead of the percent/mod operator representing this definition: &#8220;Matches any string of zero or more characters.&#8221;; it became &#8220;any string of one or more characters&#8221;.<br />
For example:</p>
<pre class="brush:sql">select firstname from person where firstname like 'paul%'</pre>
<p>This query would, in versions prior to ASE 15.5, return a list similar to the following:<br />
	paul<br />
	paulie<br />
	pauline<br />
In ASE 15.5 though, you&#8217;ll get the following:<br />
	paulie<br />
	pauline</p>
<p>This threw off our applications completely. Sybase technical support did manage to confirm that it was a known bug, which is fixed in 15.5 ESD#1 17791. In the meantime, he suggested we call the following command on the database to work around it until we find the time to do the update:</p>
<pre class="brush:sql">dbcc traceon(7739)</pre>
<p>There was only one link online which really let us know that it could be Sybase&#8217;s fault rather than a simple parameter, being the <a href="http://groups.google.com/group/sybase.public.ase.general/browse_thread/thread/2ecb79b0aa466086/fccdc170da684db5?lnk=raot&#038;fwc=1">sybase.public.ase.general group</a> on google.<br />
This was all run on a Sun Solaris SPARC server:</p>
<pre class="brush:sql">select @@version</pre>
<p>	Adaptive Server Enterprise/15.5/EBF 17336 SMP/P/Sun_svr4/OS 5.8/ase155/2391/64-bit/FBO/Tue Nov 10 01:27:55 2009</p>
<p>This is a quote from an email I received from a Sybase Technical Officer ( this is not official in any way):</p>
<p><cite>CR#616224-WRONGRES  % wildcard is not matching 0 characters (i.e. end of string)<br />
Details:<br />
Like pattern matching may return fewer rows when the following conditions are met: <br/><br />
1. server&#8217;s default sortorder is non-binary single-byte sortorder <br/><br />
2. like pattern is a constant literal <br/><br />
3. like pattern string length is the same as column data length <br/><br />
4. column is either varchar or char <br/><br/><br />
Workaround: <br/><br />
1. remove &#8216;lig =&#8217; lines in the .srt file if ligatures are not used, this will then require<br />
a sort order change and accompanying steps. <br/><br />
or <br/><br />
2. enable &#8216;statement cache&#8217; and enable literal parameterization of literals in the LIKE<br />
clause with traceflag 7739. Certain statements such as &#8216;select into&#8217; will not benefit<br />
from this workaround. <br/><br/><br />
This bug was fixed on 15.5 ESD#1, 17791. </cite></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mlai.org/weblog/2010/09/27/sybase-ase-15-5-like-operator-issue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP truncating Sybase varchar results to 255 character limit</title>
		<link>http://www.mlai.org/weblog/2010/06/17/php-truncating-sybase-varchar-results-to-255-character-limit/</link>
		<comments>http://www.mlai.org/weblog/2010/06/17/php-truncating-sybase-varchar-results-to-255-character-limit/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 04:54:03 +0000</pubDate>
		<dc:creator>miltonlai</dc:creator>
				<category><![CDATA[Tech Talk]]></category>

		<guid isPermaLink="false">http://www.mlai.org/weblog/?p=358</guid>
		<description><![CDATA[Just re-encountered this issue. If you have a table where there is an attribute of type varchar(2000) for instance (really just anything greater than 255), when you pull it out using sybase_connect, it will only return 255 characters. This is outlined as a bug on php.net. To get around this issue, use a convert to [...]]]></description>
			<content:encoded><![CDATA[<p>Just re-encountered this issue. If you have a table where there is an attribute of type varchar(2000) for instance (really just anything greater than 255), when you pull it out using sybase_connect, it will only return 255 characters. This is outlined as a <a href="http://bugs.php.net/bug.php?id=33221&#038;edit=1">bug</a> on php.net. To get around this issue, use a convert to text or update the attribute to be of type text if you can.</p>
<pre class="brush:sql">
select convert(text, reallybigvarcharattribute) from table
</pre>
<p>Written by Milton Lai</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mlai.org/weblog/2010/06/17/php-truncating-sybase-varchar-results-to-255-character-limit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compiling PHP with Sybase on Solaris</title>
		<link>http://www.mlai.org/weblog/2010/05/12/compiling-php-with-sybase-on-solaris/</link>
		<comments>http://www.mlai.org/weblog/2010/05/12/compiling-php-with-sybase-on-solaris/#comments</comments>
		<pubDate>Wed, 12 May 2010 00:08:29 +0000</pubDate>
		<dc:creator>miltonlai</dc:creator>
				<category><![CDATA[Tech Talk]]></category>

		<guid isPermaLink="false">http://www.mlai.org/weblog/?p=353</guid>
		<description><![CDATA[I&#8217;m currently setting up a new server to play with and apart from the usual nightmare of compiling everything and finding all their dependencies and what not, I did hit an issue which I couldn&#8217;t find a clear answer online for. I used the following to configure PHP 5.3.2: ./configure &#8211;with-apxs2=/usr/local/apache2/bin/apxs &#8211;with-gettext &#8211;with-zlib &#8211;with-jpeg-dir &#8211;with-png-dir [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m currently setting up a new server to play with and apart from the usual nightmare of compiling everything and finding all their dependencies and what not, I did hit an issue which I couldn&#8217;t find a clear answer online for. I used the following to configure PHP 5.3.2:</p>
<p>./configure &#8211;with-apxs2=/usr/local/apache2/bin/apxs &#8211;with-gettext &#8211;with-zlib &#8211;with-jpeg-dir &#8211;with-png-dir &#8211;with-ldap &#8211;with-openssl=/usr/local/ssl &#8211;with-curl &#8211;enable-exif &#8211;enable-ftp &#8211;with-gd &#8211;with-xsl &#8211;with-libxml-dir &#8211;with-libxml-dir &#8211;with-gd &#8211;with-sybase-ct=/home/sybase/sybase64/OCS-15_0</p>
<p>This worked a treat, but it was when I called &#8220;make&#8221; that the following appeared.</p>
<pre>	ld: fatal: library -lcomn: not found
	ld: fatal: library -lct: not found
	ld: fatal: library -lcs: not found
</pre>
<p>The first approach I had was to edit the Makefile that configure creates to change lcomn to lsybcomn, lct to lsybct and lcs to lsybcs. You should be able to notice that within your sybase/OCS-15_0/lib folder, there are files which reflect the later name changes &#8211; libsybcomn.so .<br />
This worked. I then was told (since it was scribbled on a piece of paper somewhere) about sybase/OCS-15_0/scripts/lnsyblibs which creates softlinks with the expected library file names. So now there are a bunch of files looking like libcomn.so -> libsybcomn.so . </p>
<p>Written by Milton Lai</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mlai.org/weblog/2010/05/12/compiling-php-with-sybase-on-solaris/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Insufficient heap memory for &#8220;for xml&#8221; queries from Sybase</title>
		<link>http://www.mlai.org/weblog/2010/04/28/insufficient-heap-memory-for-for-xml-queries-from-sybase/</link>
		<comments>http://www.mlai.org/weblog/2010/04/28/insufficient-heap-memory-for-for-xml-queries-from-sybase/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 02:10:30 +0000</pubDate>
		<dc:creator>miltonlai</dc:creator>
				<category><![CDATA[Tech Talk]]></category>

		<guid isPermaLink="false">http://www.mlai.org/weblog/?p=335</guid>
		<description><![CDATA[We just recently hit the following error from Sybase: &#8220;There is insufficient heap memory to allocate -1562977772 bytes. Please increase configuration parameter &#8216;heap memory per user&#8217; or try again when there is less activity on the system&#8221; when trying to get the results out of Sybase as xml using the &#8220;for xml all&#8221; function. It [...]]]></description>
			<content:encoded><![CDATA[<p>We just recently hit the following error from Sybase:</p>
<p>&#8220;There is insufficient heap memory to allocate -1562977772 bytes. Please increase configuration parameter &#8216;heap memory per user&#8217; or try again when there is less activity on the system&#8221;</p>
<p>when trying to get the results out of Sybase as xml using the &#8220;for xml all&#8221; function. It works fine normally, until your result sets hit over 500 rows or so. This is due to the heap memory space which most people would be reluctant to change &#8211; the query returns your data, by default, as one big row and normally of type TEXT. To get around this, &#8220;for xml option &#8220;incremental=yes root=yes&#8221;" will set each row of results as a separate row coming back. This means that instead of a huge chunk of TEXT coming back, it&#8217;ll appear like a normal record set, but instead of the normal data, it&#8217;ll appear as xml data. </p>
<p>For more information on XML for Sybase head to <a href="http://manuals.sybase.com/onlinebooks/group-as/asg1251e/xmlb/@Generic__BookTextView/4521">http://manuals.sybase.com/onlinebooks/group-as/asg1251e/xmlb/@Generic__BookTextView/4521</a>. The following section is taken from that page and helps explain the &#8220;incremental&#8221; option.</p>
<p>The result set that a for_xml_select statement returns depends on the incremental option:</p>
<p style="text-indent: 2em;">incremental = no returns a result set containing a single row and a single column. The column datatype is text. The value of that text column is the SQLX-XML representation of the result of the basic select statement. This is the <strong>default</strong> option.</p>
<p style="text-indent: 2em;">incremental = yes returns a result set containing a row for each row of the basic select statement. If the root option specifies yes (the default option), an initial row specifies the opening XML root element, and a final row specifies the closing XML root element.</p>
<p>      For example, these select statements return <strong>two, one, two, and four rows</strong>, respectively:</p>
<pre class="brush:sql">
select 11, 12 union select 21, 22
select 11, 12 union select 21, 22 for xml
select 11, 12 union select 21, 22 for xml option "incremental=yes root=no"
select 11, 12 union select 21, 22 for xml option "incremental=yes root=yes"
</pre>
<p>Written by Milton Lai.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mlai.org/weblog/2010/04/28/insufficient-heap-memory-for-for-xml-queries-from-sybase/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

