mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-23 21:29:58 +09:00
Added index hints for SQL Server. Improvements to existing query hints for Mysql and Cubrid.
git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@9481 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
eaa1a02adc
commit
3815aece09
19 changed files with 320 additions and 6 deletions
|
|
@ -15,7 +15,7 @@
|
|||
function testOneUseIndexHintAndOneTable(){
|
||||
$xml_file = $this->xmlPath . "one_index_hint_one_table.xml";
|
||||
$argsString = '';
|
||||
$expected = 'select * from "xe_member" as "member" using index "member"."idx_member_list_order"';
|
||||
$expected = 'select * from "xe_member" as "member" using index "member"."xe_idx_member_list_order"';
|
||||
$this->_test($xml_file, $argsString, $expected);
|
||||
}
|
||||
|
||||
|
|
@ -23,7 +23,7 @@
|
|||
function testTwoUseIndexHintsAndOneTable(){
|
||||
$xml_file = $this->xmlPath . "two_index_hints_one_table.xml";
|
||||
$argsString = '';
|
||||
$expected = 'select * from "xe_member" as "member" using index "member"."idx_member_list_order", "member"."idx_member_srl"';
|
||||
$expected = 'select * from "xe_member" as "member" using index "member"."xe_idx_member_list_order", "member"."xe_idx_member_srl"';
|
||||
$this->_test($xml_file, $argsString, $expected);
|
||||
}
|
||||
|
||||
|
|
@ -31,7 +31,53 @@
|
|||
$xml_file = $this->xmlPath . "three_index_hints_two_tables.xml";
|
||||
$argsString = '';
|
||||
$expected = 'select * from "xe_member" as "member", "xe_document" as "document"
|
||||
using index "member"."idx_member_list_order", "member"."idx_member_srl", "document"."idx_document_srl"';
|
||||
using index "member"."xe_idx_member_list_order", "member"."xe_idx_member_srl", "document"."xe_idx_document_srl"';
|
||||
$this->_test($xml_file, $argsString, $expected);
|
||||
}
|
||||
|
||||
function testThreeUseIndexHintsAndTwoTablesCombined(){
|
||||
$xml_file = $this->xmlPath . "three_index_hints_two_tables_combined.xml";
|
||||
$argsString = '';
|
||||
$expected = 'select * from "xe_member" as "member", "xe_document" as "document"
|
||||
using index "member"."xe_idx_member_list_order", "member"."xe_idx_member_srl"(+), "document"."xe_idx_document_srl"';
|
||||
$this->_test($xml_file, $argsString, $expected);
|
||||
}
|
||||
|
||||
function testIgnoreIndexHintIsSkipped(){
|
||||
$xml_file = $this->xmlPath . "ignore_index_hint.xml";
|
||||
$argsString = '';
|
||||
$expected = 'select * from "xe_member" as "member"';
|
||||
$this->_test($xml_file, $argsString, $expected);
|
||||
}
|
||||
|
||||
function testMysqlIndexHintIsSkipped(){
|
||||
$xml_file = $this->xmlPath . "mysql_index_hint.xml";
|
||||
$argsString = '';
|
||||
$expected = 'select * from "xe_member" as "member"';
|
||||
$this->_test($xml_file, $argsString, $expected);
|
||||
}
|
||||
|
||||
/**
|
||||
* If CUBRID database is used, indexes are created with prefix.
|
||||
*
|
||||
* e.g.: xe_indx_list_order
|
||||
*/
|
||||
function testPrefixIsAddedToIndexName(){
|
||||
$xml_file = $this->xmlPath . "one_index_hint_one_table.xml";
|
||||
$argsString = '';
|
||||
$expected = 'select * from "xe_member" as "member" using index "member"."xe_idx_member_list_order"';
|
||||
$this->_test($xml_file, $argsString, $expected);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that index is added if "for" attribute is "ALL"
|
||||
*
|
||||
* example: <index_hint for="ALL"> ... </index_hint>
|
||||
*/
|
||||
function testIndexHintForAll(){
|
||||
$xml_file = $this->xmlPath . "index_hint_for_all.xml";
|
||||
$argsString = '';
|
||||
$expected = 'select * from "xe_member" as "member" using index "member"."xe_idx_member_list_order"';
|
||||
$this->_test($xml_file, $argsString, $expected);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue