<?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>Андрей Костенко &#187; DBMS</title>
	<atom:link href="http://kostenko.name/category/dbms/feed/" rel="self" type="application/rss+xml" />
	<link>http://kostenko.name</link>
	<description>&#38;gugu;</description>
	<lastBuildDate>Wed, 09 May 2012 13:11:47 +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>Пример регрессионного теста в MySQL</title>
		<link>http://kostenko.name/2009/01/05/regression-test-sample-mysql/</link>
		<comments>http://kostenko.name/2009/01/05/regression-test-sample-mysql/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 16:35:44 +0000</pubDate>
		<dc:creator>Андрей Костенко</dc:creator>
				<category><![CDATA[DBMS]]></category>

		<guid isPermaLink="false">http://kostenko.name/?p=309</guid>
		<description><![CDATA[DROP TABLE IF EXISTS expected_values, found_values; CREATE TABLE expected_values &#40; TABLE_NAME VARCHAR&#40;30&#41; NOT NULL PRIMARY KEY, recs INT NOT NULL, crc_sha VARCHAR&#40;100&#41; NOT NULL, crc_md5 VARCHAR&#40;100&#41; NOT NULL &#41; ENGINE=MyISAM; CREATE TABLE found_values LIKE expected_values; &#160; INSERT INTO `expected_values` VALUES &#40;'employees', 300024,'4d4aa689914d8fd41db7e45c2168e7dcb9697359', '4ec56ab5ba37218d187cf6ab09ce1aa1'&#41;, &#40;'departments', 9,'4b315afa0e35ca6649df897b958345bcb3d2b764', 'd1af5e170d2d1591d776d5638d71fc5f'&#41;, &#40;'dept_manager', 24,'9687a7d6f93ca8847388a42a6d8d93982a841c6c', '8720e2f0853ac9096b689c14664f847e'&#41;, &#40;'dept_emp', 331603,'f16f6ce609d032d6b1b34748421e9195c5083da8', 'c2c4fc7f0506e50959a6c67ad55cac31'&#41;, &#40;'titles', 443308,'d12d5f746b88f07e69b9e36675b6067abb01b60e', 'bfa016c472df68e70a03facafa1bc0a8'&#41;, <a href='http://kostenko.name/2009/01/05/regression-test-sample-mysql/'>[...]</a>]]></description>
			<content:encoded><![CDATA[
<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">DROP</span> <span style="color: #993333; font-weight: bold;">TABLE</span> <span style="color: #993333; font-weight: bold;">IF</span> <span style="color: #993333; font-weight: bold;">EXISTS</span> expected_values<span style="color: #66cc66;">,</span> found_values;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> expected_values <span style="color: #66cc66;">&#40;</span>
    <span style="color: #993333; font-weight: bold;">TABLE_NAME</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">30</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> <span style="color: #993333; font-weight: bold;">PRIMARY</span> <span style="color: #993333; font-weight: bold;">KEY</span><span style="color: #66cc66;">,</span>
    recs <span style="color: #993333; font-weight: bold;">INT</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span>
    crc_sha <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span>
    crc_md5 <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span>
<span style="color: #66cc66;">&#41;</span> ENGINE<span style="color: #66cc66;">=</span>MyISAM;
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> found_values <span style="color: #993333; font-weight: bold;">LIKE</span> expected_values;
&nbsp;
<span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">INTO</span> <span style="color: #ff0000;">`expected_values`</span> <span style="color: #993333; font-weight: bold;">VALUES</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'employees'</span><span style="color: #66cc66;">,</span>   <span style="color: #cc66cc;">300024</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">'4d4aa689914d8fd41db7e45c2168e7dcb9697359'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'4ec56ab5ba37218d187cf6ab09ce1aa1'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span>
<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'departments'</span><span style="color: #66cc66;">,</span>      <span style="color: #cc66cc;">9</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">'4b315afa0e35ca6649df897b958345bcb3d2b764'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'d1af5e170d2d1591d776d5638d71fc5f'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span>
<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'dept_manager'</span><span style="color: #66cc66;">,</span>    <span style="color: #cc66cc;">24</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">'9687a7d6f93ca8847388a42a6d8d93982a841c6c'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'8720e2f0853ac9096b689c14664f847e'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span>
<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'dept_emp'</span><span style="color: #66cc66;">,</span>    <span style="color: #cc66cc;">331603</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">'f16f6ce609d032d6b1b34748421e9195c5083da8'</span><span style="color: #66cc66;">,</span>  <span style="color: #ff0000;">'c2c4fc7f0506e50959a6c67ad55cac31'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span>
<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'titles'</span><span style="color: #66cc66;">,</span>      <span style="color: #cc66cc;">443308</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">'d12d5f746b88f07e69b9e36675b6067abb01b60e'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'bfa016c472df68e70a03facafa1bc0a8'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span>
<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'salaries'</span><span style="color: #66cc66;">,</span>   <span style="color: #cc66cc;">2844047</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">'b5a1785c27d75e33a4173aaa22ccf41ebd7d4a9f'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'fd220654e95aea1b169624ffe3fca934'</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #993333; font-weight: bold;">TABLE_NAME</span><span style="color: #66cc66;">,</span> recs <span style="color: #993333; font-weight: bold;">AS</span> expected_records<span style="color: #66cc66;">,</span> crc_sha <span style="color: #993333; font-weight: bold;">AS</span> expected_crc <span style="color: #993333; font-weight: bold;">FROM</span> expected_values;
<span style="color: #993333; font-weight: bold;">SET</span> @crc<span style="color: #66cc66;">=</span> <span style="color: #ff0000;">''</span>;
&nbsp;
<span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">INTO</span> tchecksum 
    <span style="color: #993333; font-weight: bold;">SELECT</span> @crc :<span style="color: #66cc66;">=</span> sha<span style="color: #66cc66;">&#40;</span>CONCAT_WS<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'#'</span><span style="color: #66cc66;">,</span>@crc<span style="color: #66cc66;">,</span>
                emp_no<span style="color: #66cc66;">,</span>birth_date<span style="color: #66cc66;">,</span>first_name<span style="color: #66cc66;">,</span>last_name<span style="color: #66cc66;">,</span>gender<span style="color: #66cc66;">,</span>hire_date<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> 
    <span style="color: #993333; font-weight: bold;">FROM</span> employees <span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> emp_no;
<span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">INTO</span> found_values <span style="color: #993333; font-weight: bold;">VALUES</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'employees'</span><span style="color: #66cc66;">,</span> <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #993333; font-weight: bold;">COUNT</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">*</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">FROM</span> employees<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span> @crc<span style="color: #66cc66;">,</span>@crc<span style="color: #66cc66;">&#41;</span>;
<span style="color: #993333; font-weight: bold;">TRUNCATE</span> tchecksum; <span style="color: #808080; font-style: italic;">-- if BlackHole is not available</span>
&nbsp;
<span style="color: #993333; font-weight: bold;">SELECT</span>  
    e<span style="color: #66cc66;">.</span><span style="color: #993333; font-weight: bold;">TABLE_NAME</span><span style="color: #66cc66;">,</span> 
    <span style="color: #993333; font-weight: bold;">IF</span><span style="color: #66cc66;">&#40;</span>e<span style="color: #66cc66;">.</span>recs<span style="color: #66cc66;">=</span>f<span style="color: #66cc66;">.</span>recs<span style="color: #66cc66;">,</span><span style="color: #ff0000;">'OK'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'not ok'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> records_match<span style="color: #66cc66;">,</span> 
    <span style="color: #993333; font-weight: bold;">IF</span><span style="color: #66cc66;">&#40;</span>e<span style="color: #66cc66;">.</span>crc_sha<span style="color: #66cc66;">=</span>f<span style="color: #66cc66;">.</span>crc_sha<span style="color: #66cc66;">,</span><span style="color: #ff0000;">'ok'</span><span style="color: #66cc66;">,</span><span style="color: #ff0000;">'not ok'</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> crc_match 
<span style="color: #993333; font-weight: bold;">FROM</span> 
    expected_values e <span style="color: #993333; font-weight: bold;">INNER</span> <span style="color: #993333; font-weight: bold;">JOIN</span> found_values f <span style="color: #993333; font-weight: bold;">USING</span> <span style="color: #66cc66;">&#40;</span><span style="color: #993333; font-weight: bold;">TABLE_NAME</span><span style="color: #66cc66;">&#41;</span>; 
&nbsp;
<span style="color: #993333; font-weight: bold;">DROP</span> <span style="color: #993333; font-weight: bold;">TABLE</span> expected_values<span style="color: #66cc66;">,</span>found_values;</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://kostenko.name/2009/01/05/regression-test-sample-mysql/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

