<?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>Weez.com</title>
	<atom:link href="http://www.weez.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.weez.com</link>
	<description>Solving everyday practical LAMP problems... one at a time</description>
	<lastBuildDate>Sun, 05 Feb 2012 03:28:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>ApPHP Data Form</title>
		<link>http://www.weez.com/2012/02/apphp-data-form/</link>
		<comments>http://www.weez.com/2012/02/apphp-data-form/#comments</comments>
		<pubDate>Sun, 05 Feb 2012 03:28:09 +0000</pubDate>
		<dc:creator>Abidoon</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[ApPHP]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[form]]></category>

		<guid isPermaLink="false">http://www.weez.com/2012/02/apphp-data-form/</guid>
		<description><![CDATA[Package: ApPHP Data Form Summary: Compose, generate and filter HTML forms Groups: HTML, PHP 5 Author: Chara Miteo Description: This package can compose, generate and filter HTML forms&#8230; Read more at http://www.phpclasses.org/package/7332-PHP-Compose-generate-and-filter-HTML-forms.html View full post on PHP Classes: Latest entries]]></description>
			<content:encoded><![CDATA[<div>
<div style="float: right"><img border="0" width="150" height="94" alt="General View" src="http://www.phpclasses.org/browse/view/image/file/38482/name/draw_bounded.png"></div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Package:</div>
<div><a href="http://www.phpclasses.org/package/7332-PHP-Compose-generate-and-filter-HTML-forms.html">ApPHP Data Form</a></div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Summary: </div>
<div><span name="description">Compose, generate and filter HTML forms</span></div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Groups: </div>
<div><a href="http://www.phpclasses.org/browse/class/1.html">HTML</a>, <a href="http://www.phpclasses.org/browse/class/8.html">PHP 5</a></div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Author: </div>
<div><a href="http://www.phpclasses.org/browse/author/867441.html">Chara Miteo</a></div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Description: </div>
<div>This package can compose, generate and filter HTML forms&#8230;</p>
<p>Read more at http://www.phpclasses.org/package/7332-PHP-Compose-generate-and-filter-HTML-forms.html</p></div>
</div>
<p><a href="http://feedads.g.doubleclick.net/~a/7vOvd67GhVKKOIm_DCpIL1ywDgk/0/da"><img src="http://feedads.g.doubleclick.net/~a/7vOvd67GhVKKOIm_DCpIL1ywDgk/0/di" border="0" ismap="true"></img></a><br/><br />
<a href="http://feedads.g.doubleclick.net/~a/7vOvd67GhVKKOIm_DCpIL1ywDgk/1/da"><img src="http://feedads.g.doubleclick.net/~a/7vOvd67GhVKKOIm_DCpIL1ywDgk/1/di" border="0" ismap="true"></img></a></p>
<p><img src="http://feeds.feedburner.com/~r/phpclasses/~4/c3qsp5ijm4M" height="1" width="1"/></p>
<p>View full post on <a href="http://feedproxy.google.com/~r/phpclasses/~3/c3qsp5ijm4M/7332-PHP-Compose-generate-and-filter-HTML-forms.html">PHP Classes: Latest entries</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.weez.com/2012/02/apphp-data-form/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Daniel Nichter: Encore: What Drizzle needs</title>
		<link>http://www.weez.com/2012/02/daniel-nichter-encore-what-drizzle-needs/</link>
		<comments>http://www.weez.com/2012/02/daniel-nichter-encore-what-drizzle-needs/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 20:09:21 +0000</pubDate>
		<dc:creator>Abidoon</dc:creator>
				<category><![CDATA[Drizzle]]></category>
		<category><![CDATA[Daniel]]></category>
		<category><![CDATA[encore]]></category>
		<category><![CDATA[needs]]></category>
		<category><![CDATA[Nichter]]></category>

		<guid isPermaLink="false">http://www.weez.com/2012/02/daniel-nichter-encore-what-drizzle-needs/</guid>
		<description><![CDATA[I&#8217;m giving a talk titled Getting Started with Drizzle 7.1 at Percona Live MySQL Conference &#038; Expo 2012. Therefore, I want to follow up on a post of mine from six months ago: What Drizzle needs. This time, my point of view is what Drizzle (7.1) needs from the naïve/new user&#8217;s perspective (by naïve I [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m giving a talk titled Getting Started with Drizzle 7.1 at Percona Live MySQL Conference &#038; Expo 2012. Therefore, I want to follow up on a post of mine from six months ago: What Drizzle needs. This time, my point of view is what Drizzle (7.1) needs from the naïve/new user&#8217;s perspective (by naïve I [...]</p>
<p>View full post on <a href="http://hackdrizzle.com/encore-what-drizzle-needs/">Planet Drizzle</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.weez.com/2012/02/daniel-nichter-encore-what-drizzle-needs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>URI Rewrite Handler</title>
		<link>http://www.weez.com/2012/02/uri-rewrite-handler/</link>
		<comments>http://www.weez.com/2012/02/uri-rewrite-handler/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 03:26:02 +0000</pubDate>
		<dc:creator>Abidoon</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[handler]]></category>
		<category><![CDATA[Rewrite]]></category>

		<guid isPermaLink="false">http://www.weez.com/2012/02/uri-rewrite-handler/</guid>
		<description><![CDATA[Package: URI Rewrite Handler Summary: Rewrite request URLs split with backslashes Groups: HTTP, PHP 5, Text processing Author: Dean Newman Description: This class can rewrite request URLs split with backslashes&#8230; Read more at http://www.phpclasses.org/package/7307-PHP-Rewrite-request-URLs-split-with-backslashes.html View full post on PHP Classes: Latest entries]]></description>
			<content:encoded><![CDATA[<div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Package:</div>
<div><a href="http://www.phpclasses.org/package/7307-PHP-Rewrite-request-URLs-split-with-backslashes.html">URI Rewrite Handler</a></div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Summary: </div>
<div><span name="description">Rewrite request URLs split with backslashes</span></div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Groups: </div>
<div><a href="http://www.phpclasses.org/browse/class/6.html">HTTP</a>, <a href="http://www.phpclasses.org/browse/class/8.html">PHP 5</a>, <a href="http://www.phpclasses.org/browse/class/25.html">Text processing</a></div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Author: </div>
<div><a href="http://www.phpclasses.org/browse/author/262946.html">Dean Newman</a></div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Description: </div>
<div>This class can rewrite request URLs split with backslashes&#8230;</p>
<p>Read more at http://www.phpclasses.org/package/7307-PHP-Rewrite-request-URLs-split-with-backslashes.html</p></div>
</div>
<p><a href="http://feedads.g.doubleclick.net/~a/3W4Nm-VfW_WNfseIf0V57z_oqYE/0/da"><img src="http://feedads.g.doubleclick.net/~a/3W4Nm-VfW_WNfseIf0V57z_oqYE/0/di" border="0" ismap="true"></img></a><br/><br />
<a href="http://feedads.g.doubleclick.net/~a/3W4Nm-VfW_WNfseIf0V57z_oqYE/1/da"><img src="http://feedads.g.doubleclick.net/~a/3W4Nm-VfW_WNfseIf0V57z_oqYE/1/di" border="0" ismap="true"></img></a></p>
<p><img src="http://feeds.feedburner.com/~r/phpclasses/~4/tzhOi8jFmkg" height="1" width="1"/></p>
<p>View full post on <a href="http://feedproxy.google.com/~r/phpclasses/~3/tzhOi8jFmkg/7307-PHP-Rewrite-request-URLs-split-with-backslashes.html">PHP Classes: Latest entries</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.weez.com/2012/02/uri-rewrite-handler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Image Class</title>
		<link>http://www.weez.com/2012/02/php-image-class/</link>
		<comments>http://www.weez.com/2012/02/php-image-class/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 03:28:01 +0000</pubDate>
		<dc:creator>Abidoon</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[image]]></category>

		<guid isPermaLink="false">http://www.weez.com/2012/02/php-image-class/</guid>
		<description><![CDATA[Package: PHP Image Class Summary: Apply several types of image effects Groups: Graphics, PHP 5 Author: Daniel Kovács Description: This class can apply several types of image effects&#8230; Read more at http://www.phpclasses.org/package/7331-PHP-Apply-several-types-of-image-effects.html View full post on PHP Classes: Latest entries]]></description>
			<content:encoded><![CDATA[<div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Package:</div>
<div><a href="http://www.phpclasses.org/package/7331-PHP-Apply-several-types-of-image-effects.html">PHP Image Class</a></div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Summary: </div>
<div><span name="description">Apply several types of image effects</span></div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Groups: </div>
<div><a href="http://www.phpclasses.org/browse/class/11.html">Graphics</a>, <a href="http://www.phpclasses.org/browse/class/8.html">PHP 5</a></div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Author: </div>
<div><a href="http://www.phpclasses.org/browse/author/874237.html">Daniel Kovács</a></div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Description: </div>
<div>This class can apply several types of image effects&#8230;</p>
<p>Read more at http://www.phpclasses.org/package/7331-PHP-Apply-several-types-of-image-effects.html</p></div>
</div>
<p><a href="http://feedads.g.doubleclick.net/~a/3b-4ZpbJ3_L9_pF8kW24K4T4huY/0/da"><img src="http://feedads.g.doubleclick.net/~a/3b-4ZpbJ3_L9_pF8kW24K4T4huY/0/di" border="0" ismap="true"></img></a><br/><br />
<a href="http://feedads.g.doubleclick.net/~a/3b-4ZpbJ3_L9_pF8kW24K4T4huY/1/da"><img src="http://feedads.g.doubleclick.net/~a/3b-4ZpbJ3_L9_pF8kW24K4T4huY/1/di" border="0" ismap="true"></img></a></p>
<p><img src="http://feeds.feedburner.com/~r/phpclasses/~4/cKuPR4t4KBM" height="1" width="1"/></p>
<p>View full post on <a href="http://feedproxy.google.com/~r/phpclasses/~3/cKuPR4t4KBM/7331-PHP-Apply-several-types-of-image-effects.html">PHP Classes: Latest entries</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.weez.com/2012/02/php-image-class/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>STOP: DELETE IGNORE on Tables with Foreign Keys Can Break Replication</title>
		<link>http://www.weez.com/2012/02/stop-delete-ignore-on-tables-with-foreign-keys-can-break-replication/</link>
		<comments>http://www.weez.com/2012/02/stop-delete-ignore-on-tables-with-foreign-keys-can-break-replication/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 02:47:06 +0000</pubDate>
		<dc:creator>Abidoon</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[break]]></category>
		<category><![CDATA[Delete]]></category>
		<category><![CDATA[foreign]]></category>
		<category><![CDATA[ignore]]></category>
		<category><![CDATA[Keys]]></category>
		<category><![CDATA[Replication]]></category>
		<category><![CDATA[stop]]></category>
		<category><![CDATA[tables]]></category>

		<guid isPermaLink="false">http://www.weez.com/2012/02/stop-delete-ignore-on-tables-with-foreign-keys-can-break-replication/</guid>
		<description><![CDATA[DELETE IGNORE suppresses errors and downgrades them as warnings, if you are not aware how IGNORE behaves on tables with FOREIGN KEYs, you could be in for a surprise. Let&#8217;s take a table with data as example, column c1 on table t2 references column c1 on table t1 &#8211; both columns have identical set of rows for [...]]]></description>
			<content:encoded><![CDATA[<p>DELETE IGNORE suppresses errors and downgrades them as warnings, if you are not aware how IGNORE behaves on tables with FOREIGN KEYs, you could be in for a surprise.</p>
<p>Let&#8217;s take a table with data as example, column c1 on table t2 references column c1 on table t1 &#8211; both columns have identical set of rows for simplicity.</p>
<pre>CREATE TABLE `t1` (
`t1_c1` int(10) unsigned NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`t1_c1`)
) ENGINE=InnoDB;

CREATE TABLE `t2` (
`t2_c1` int(10) unsigned NOT NULL,
PRIMARY KEY (`t2_c1`),
CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`t2_c1`) REFERENCES `t1` (`t1_c1`) ON UPDATE CASCADE
) ENGINE=InnoDB;

[revin@forge rsandbox_5_5_17]$ for int in {1..2000}; do ./master/use test -e "insert into t1 values($int)"; done
[revin@forge rsandbox_5_5_17]$ ./master/use test -e "insert into t2 select * from t1"

master [localhost] {msandbox} (test) &gt; SELECT COUNT(*) FROM t1;
+----------+
| COUNT(*) |
+----------+
| 2000 |
+----------+
1 row in set (0.00 sec)

master [localhost] {msandbox} (test) &gt; SELECT COUNT(*) FROM t2;
+----------+
| COUNT(*) |
+----------+
| 2000 |
+----------+
1 row in set (0.00 sec)</pre>
<p>An expected behavior for DELETE IGNORE is that if the statement fails to delete all rows, none should be deleted at all, after all this is InnoDB right? Wrong, take a look at bug <a href="http://bugs.mysql.com/bug.php?id=44987">44987</a>. As stated on the bug, only 5.0 exhibits the above mentioned behavior on 5.1 and 5.5, MySQL will stop deleting rows if it encounters constraint errors.</p>
<p>To demonstrate on 5.5.17:</p>
<p>I delete some rows from t2 so some rows on t1 does not have a constraint.</p>
<pre>master [localhost] {msandbox} (test) &gt; DELETE FROM t2 WHERE t2_c1 BETWEEN 201 AND 400;
Query OK, 200 rows affected (0.00 sec)</pre>
<p>Now I try to DELETE IGNORE rows 301 to 500 on t1, note rows 301 to 400 does not have any existing constraints from t2 as we deleted them from above.</p>
<pre>master [localhost] {msandbox} (test) &gt; DELETE IGNORE FROM t1 WHERE t1_c1 BETWEEN 301 AND 500;
Query OK, 100 rows affected, 1 warning (0.00 sec)

master [localhost] {msandbox} (test) &gt; SHOW WARNINGS \G
*************************** 1. row ***************************
  Level: Error
   Code: 1451
Message: Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`t2_c1`) REFERENCES `t1` (`t1_c1`) ON UPDATE CASCADE)
1 row in set (0.00 sec)</pre>
<p>As expected a warning is generated because rows 201 to 300 on t1 still has referencing foreign keys from t2. However, 100 has been deleted! Let&#8217;s see.</p>
<pre>master [localhost] {msandbox} (test) &gt; SELECT COUNT(*) FROM t1;
+----------+
| COUNT(*) |
+----------+
|     1900 |
+----------+
1 row in set (0.00 sec)</pre>
<p>Now let&#8217;s check the slave.</p>
<pre>[revin@forge rsandbox_5_5_17]$ ./node1/use test
...
slave1 [localhost] {msandbox} (test) &gt; SELECT COUNT(*) FROM t1;
+----------+
| COUNT(*) |
+----------+
|     2000 |
+----------+
1 row in set (0.00 sec)</pre>
<p>Uh oh, now the slave is out of sync, because the statement failed to delete all intended rows it was not written to the binary log and consequently not reaching the slave.</p>
<p>So how can you workaround this? Simple, 1) do not use IGNORE, be critical about your data 2) use ROW* based replication. When using the latter, MySQL will log separate statements for each row that is deleted &#8211; so if the first 100 rows was successfully deleted then those 100 events are logged and eventually replicated. </p>
<pre>[revin@forge rsandbox_5_5_170]$ ./master/use test
...
master [localhost] {msandbox} (test) &gt; SELECT @@binlog_format;
+-----------------+
| @@binlog_format |
+-----------------+
| ROW             |
+-----------------+
1 row in set (0.00 sec)

master [localhost] {msandbox} (test) &gt; DELETE FROM t2 WHERE t2_c1 BETWEEN 201 AND 400;
Query OK, 200 rows affected (0.00 sec)

master [localhost] {msandbox} (test) &gt; DELETE IGNORE FROM t1 WHERE t1_c1 BETWEEN 301 AND 500;
Query OK, 100 rows affected, 1 warning (0.01 sec)

master [localhost] {msandbox} (test) &gt; SELECT COUNT(*) FROM t1;
+----------+
| COUNT(*) |
+----------+
|     1900 |
+----------+
1 row in set (0.00 sec)

[revin@forge rsandbox_5_5_170]$ ./node1/use test
...
slave1 [localhost] {msandbox} (test) &gt; SELECT COUNT(*) FROM t1;
+----------+
| COUNT(*) |
+----------+
|     1900 |
+----------+
1 row in set (0.00 sec)</pre>
<p>* MIXED mode will not work since the query in this example will be considered STATEMENT (<a href="http://dev.mysql.com/doc/refman/5.5/en/binary-log-mixed.html">http://dev.mysql.com/doc/refman/5.1/en/binary-log-mixed.html</a>) thus failure to execute the query successfully means it will not get logged.</p>
<p>View full post on <a href="http://www.mysqlperformanceblog.com/2012/02/02/stop-delete-ignore-on-tables-with-foreign-keys-can-break-replication/">MySQL Performance Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.weez.com/2012/02/stop-delete-ignore-on-tables-with-foreign-keys-can-break-replication/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP 5.3.10 Released!</title>
		<link>http://www.weez.com/2012/02/php-5-3-10-released/</link>
		<comments>http://www.weez.com/2012/02/php-5-3-10-released/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 22:00:19 +0000</pubDate>
		<dc:creator>Abidoon</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[5.3.10]]></category>
		<category><![CDATA[released]]></category>

		<guid isPermaLink="false">http://www.weez.com/2012/02/php-5-3-10-released/</guid>
		<description><![CDATA[View full post on PHP.net news &#038; announcements]]></description>
			<content:encoded><![CDATA[<p>View full post on <a href="http://www.php.net/index.php#id2012-02-02-1">PHP.net news &#038; announcements</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.weez.com/2012/02/php-5-3-10-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ApPHP Tabs</title>
		<link>http://www.weez.com/2012/02/apphp-tabs/</link>
		<comments>http://www.weez.com/2012/02/apphp-tabs/#comments</comments>
		<pubDate>Thu, 02 Feb 2012 03:25:35 +0000</pubDate>
		<dc:creator>Abidoon</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[ApPHP]]></category>
		<category><![CDATA[Tabs]]></category>

		<guid isPermaLink="false">http://www.weez.com/2012/02/apphp-tabs/</guid>
		<description><![CDATA[Package: ApPHP Tabs Summary: Display tab menus that can be nested Groups: HTML, PHP 5, Utilities and Tools Author: Chara Miteo Description: This class can display tab menus that can be nested&#8230; Read more at http://www.phpclasses.org/package/7325-PHP-Display-tab-menus-that-can-be-nested.html View full post on PHP Classes: Latest entries]]></description>
			<content:encoded><![CDATA[<div>
<div style="float: right"><img border="0" width="150" height="135" alt="Screenshot #3" src="http://www.phpclasses.org/browse/view/image/file/38459/name/tabs_3.png"></div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Package:</div>
<div><a href="http://www.phpclasses.org/package/7325-PHP-Display-tab-menus-that-can-be-nested.html">ApPHP Tabs</a></div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Summary: </div>
<div><span name="description">Display tab menus that can be nested</span></div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Groups: </div>
<div><a href="http://www.phpclasses.org/browse/class/1.html">HTML</a>, <a href="http://www.phpclasses.org/browse/class/8.html">PHP 5</a>, <a href="http://www.phpclasses.org/browse/class/15.html">Utilities and Tools</a></div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Author: </div>
<div><a href="http://www.phpclasses.org/browse/author/867441.html">Chara Miteo</a></div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Description: </div>
<div>This class can display tab menus that can be nested&#8230;</p>
<p>Read more at http://www.phpclasses.org/package/7325-PHP-Display-tab-menus-that-can-be-nested.html</p></div>
</div>
<p><a href="http://feedads.g.doubleclick.net/~a/olM2aURwYyNtLDLLmM52HmTxWkk/0/da"><img src="http://feedads.g.doubleclick.net/~a/olM2aURwYyNtLDLLmM52HmTxWkk/0/di" border="0" ismap="true"></img></a><br/><br />
<a href="http://feedads.g.doubleclick.net/~a/olM2aURwYyNtLDLLmM52HmTxWkk/1/da"><img src="http://feedads.g.doubleclick.net/~a/olM2aURwYyNtLDLLmM52HmTxWkk/1/di" border="0" ismap="true"></img></a></p>
<p><img src="http://feeds.feedburner.com/~r/phpclasses/~4/oMKTTadRR5g" height="1" width="1"/></p>
<p>View full post on <a href="http://feedproxy.google.com/~r/phpclasses/~3/oMKTTadRR5g/7325-PHP-Display-tab-menus-that-can-be-nested.html">PHP Classes: Latest entries</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.weez.com/2012/02/apphp-tabs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Verifying backup integrity with CHECK TABLES</title>
		<link>http://www.weez.com/2012/02/verifying-backup-integrity-with-check-tables/</link>
		<comments>http://www.weez.com/2012/02/verifying-backup-integrity-with-check-tables/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 18:13:34 +0000</pubDate>
		<dc:creator>Abidoon</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[check]]></category>
		<category><![CDATA[integrity]]></category>
		<category><![CDATA[tables]]></category>
		<category><![CDATA[Verifying]]></category>

		<guid isPermaLink="false">http://www.weez.com/2012/02/verifying-backup-integrity-with-check-tables/</guid>
		<description><![CDATA[An attendee to Espen&#8217;s recent webinar asked how to check tables for corruption. This kind of ties into my recent post on InnoDB&#8217;s handling of corrupted pages, because the best way to check for corruption is with CHECK TABLES, but if a page is corrupt, InnoDB will crash the server to prevent access to the [...]]]></description>
			<content:encoded><![CDATA[<p>An attendee to Espen&#8217;s recent <a href="http://www.percona.com/webinars/2012-01-25-preventing-downtime-in-production-mysql-servers/">webinar</a> asked how to check tables for corruption. This kind of ties into my <a href="http://www.mysqlperformanceblog.com/2012/01/06/how-percona-server-handles-data-corruption-more-gracefully/">recent post</a> on InnoDB&#8217;s handling of corrupted pages, because the best way to check for corruption is with CHECK TABLES, but if a page is corrupt, InnoDB will crash the server to prevent access to the corrupt data.  As mentioned in that post, this can only be changed by changing InnoDB.</p>
<p>So how are you supposed to check for corruption that might be introduced by bad hardware, a bug, or so forth?</p>
<p>It&#8217;s a great question.  The answer I would give for most cases is &#8220;check your backups for corruption instead of your live server.&#8221; You need to do this anyway &#8212; a backup that isn&#8217;t checked is a ticking time bomb.  You need to verify (at least periodically) that your backups are recoverable.</p>
<p>The usual procedure goes like this: copy your backup somewhere, start a server instance on it, and run CHECK TABLES. You can use the mysqlcheck program to do this conveniently.</p>
<p>You could also use innochecksum, which doesn&#8217;t require starting the server.  But it only verifies that each page&#8217;s checksum matches the page&#8217;s data, it doesn&#8217;t do all the other checks that are built into InnoDB (making sure that the LSNs are sane, for example).</p>
<p>How often? As often as possible.  Some people refresh their dev/staging environment every day with last night&#8217;s backup, which is a great way to make failures obvious, as long as you verify that it truly does happen (e.g. what if it fails and you keep running with yesterday&#8217;s without knowing it?).  If you can&#8217;t do it daily, then weekly is perfectly acceptable to most people.  I&#8217;m not saying a specific interval should/ought to be your goal, I&#8217;m just remarking on what a lot of people seem to feel good about.</p>
<p>View full post on <a href="http://www.mysqlperformanceblog.com/2012/02/01/verifying-backup-integrity-with-check-tables/">MySQL Performance Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.weez.com/2012/02/verifying-backup-integrity-with-check-tables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Geo Coding</title>
		<link>http://www.weez.com/2012/01/google-geo-coding/</link>
		<comments>http://www.weez.com/2012/01/google-geo-coding/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 03:25:24 +0000</pubDate>
		<dc:creator>Abidoon</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://www.weez.com/2012/01/google-geo-coding/</guid>
		<description><![CDATA[Package: Google Geo Coding Summary: Get the coordinates of an address from Google Maps Groups: Geography, PHP 5, Web services Author: Syed Sumair Zafar Description: This class can get the coordinates of an address using the Google Maps API&#8230; Read more at http://www.phpclasses.org/package/7329-PHP-Get-the-coordinates-of-an-address-from-Google-Maps.html View full post on PHP Classes: Latest entries]]></description>
			<content:encoded><![CDATA[<div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Package:</div>
<div><a href="http://www.phpclasses.org/package/7329-PHP-Get-the-coordinates-of-an-address-from-Google-Maps.html">Google Geo Coding</a></div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Summary: </div>
<div><span name="description">Get the coordinates of an address from Google Maps</span></div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Groups: </div>
<div><a href="http://www.phpclasses.org/browse/class/39.html">Geography</a>, <a href="http://www.phpclasses.org/browse/class/8.html">PHP 5</a>, <a href="http://www.phpclasses.org/browse/class/33.html">Web services</a></div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Author: </div>
<div><a href="http://www.phpclasses.org/browse/author/970760.html">Syed Sumair Zafar</a></div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Description: </div>
<div>This class can get the coordinates of an address using the Google Maps API&#8230;</p>
<p>Read more at http://www.phpclasses.org/package/7329-PHP-Get-the-coordinates-of-an-address-from-Google-Maps.html</p></div>
</div>
<p><a href="http://feedads.g.doubleclick.net/~a/jJQOv8M_Gle9TUDVtDG7f0tmj34/0/da"><img src="http://feedads.g.doubleclick.net/~a/jJQOv8M_Gle9TUDVtDG7f0tmj34/0/di" border="0" ismap="true"></img></a><br/><br />
<a href="http://feedads.g.doubleclick.net/~a/jJQOv8M_Gle9TUDVtDG7f0tmj34/1/da"><img src="http://feedads.g.doubleclick.net/~a/jJQOv8M_Gle9TUDVtDG7f0tmj34/1/di" border="0" ismap="true"></img></a></p>
<p><img src="http://feeds.feedburner.com/~r/phpclasses/~4/RbI4kwUuUVU" height="1" width="1"/></p>
<p>View full post on <a href="http://feedproxy.google.com/~r/phpclasses/~3/RbI4kwUuUVU/7329-PHP-Get-the-coordinates-of-an-address-from-Google-Maps.html">PHP Classes: Latest entries</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.weez.com/2012/01/google-geo-coding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automatic Class Loader</title>
		<link>http://www.weez.com/2012/01/automatic-class-loader/</link>
		<comments>http://www.weez.com/2012/01/automatic-class-loader/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 03:24:46 +0000</pubDate>
		<dc:creator>Abidoon</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Automatic]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[Loader]]></category>

		<guid isPermaLink="false">http://www.weez.com/2012/01/automatic-class-loader/</guid>
		<description><![CDATA[Package: Automatic Class Loader Summary: Load class automatically from multiple directories Groups: Cache, Language, PHP 5 Author: Tomas Karlik Description: This class can load classes automatically from multiple directories&#8230; Read more at http://www.phpclasses.org/package/7322-PHP-Load-class-automatically-from-multiple-directories.html View full post on PHP Classes: Latest entries]]></description>
			<content:encoded><![CDATA[<div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Package:</div>
<div><a href="http://www.phpclasses.org/package/7322-PHP-Load-class-automatically-from-multiple-directories.html">Automatic Class Loader</a></div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Summary: </div>
<div><span name="description">Load class automatically from multiple directories</span></div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Groups: </div>
<div><a href="http://www.phpclasses.org/browse/class/28.html">Cache</a>, <a href="http://www.phpclasses.org/browse/class/67.html">Language</a>, <a href="http://www.phpclasses.org/browse/class/8.html">PHP 5</a></div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Author: </div>
<div><a href="http://www.phpclasses.org/browse/author/688386.html">Tomas Karlik</a></div>
<div style="font-weight: bold; font-size: larger; margin-top: 1ex">Description: </div>
<div>This class can load classes automatically from multiple directories&#8230;</p>
<p>Read more at http://www.phpclasses.org/package/7322-PHP-Load-class-automatically-from-multiple-directories.html</p></div>
</div>
<p><a href="http://feedads.g.doubleclick.net/~a/GxfKeslIr3uQaebh9tOTDZuij4I/0/da"><img src="http://feedads.g.doubleclick.net/~a/GxfKeslIr3uQaebh9tOTDZuij4I/0/di" border="0" ismap="true"></img></a><br/><br />
<a href="http://feedads.g.doubleclick.net/~a/GxfKeslIr3uQaebh9tOTDZuij4I/1/da"><img src="http://feedads.g.doubleclick.net/~a/GxfKeslIr3uQaebh9tOTDZuij4I/1/di" border="0" ismap="true"></img></a></p>
<p><img src="http://feeds.feedburner.com/~r/phpclasses/~4/kpiskBN2HZY" height="1" width="1"/></p>
<p>View full post on <a href="http://feedproxy.google.com/~r/phpclasses/~3/kpiskBN2HZY/7322-PHP-Load-class-automatically-from-multiple-directories.html">PHP Classes: Latest entries</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.weez.com/2012/01/automatic-class-loader/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

