root/trunk/application/controllers/test.php

23
8
	var_dump($s);
8
	var_dump($s);
9
	echo "</pre>";
9
	echo "</pre>";
10
}
10
}
11
11
class test extends Controller{
12
class test extends Controller{
12
	function test(){
13
	function test(){
13
		parent::Controller();
14
		parent::Controller();
...
...
23
		$this->load->library('ignitedquery');
24
		$this->load->library('ignitedquery');
24
		$iq =& $this->ignitedquery;
25
		$iq =& $this->ignitedquery;
25
	
26
	
26
	///////////////////////////////////////////////////////////////////////////
27
		// =============================
27
	//  EMPTY                                                                //
28
		// = ========= EMPTY ========= =
28
	///////////////////////////////////////////////////////////////////////////
29
		// =============================
29
		
30
		
30
		$this->unit->run($iq->_build_get(),false,'Testing empty object');
31
		$this->unit->run($iq->_build_get_query(),false,'Empty object');
31
		
32
		
32
	///////////////////////////////////////////////////////////////////////////
33
		$iq->from('foo');
33
	//  FROM                                                                 //
34
		$iq->reset();
34
	///////////////////////////////////////////////////////////////////////////
35
		$this->unit->run($iq->_build_get_query(), false, 'Resetting Object');
35
		
36
		
37
		// =============================
38
		// = ========= FLAGS ========= =
39
		// =============================
40
		
41
		$iq->as = false;
42
		$iq->alias('bar');
43
		$this->unit->run($iq->as, false, 'As flag set to false');
44
		
45
		$iq->parent = true;
46
		$this->unit->run($iq->from('foo')->_build_get_query(),
47
'(SELECT *
48
FROM `foo`)', 'parent flag set');
49
		
50
		// =============================
51
		// = ========== FROM ========= =
52
		// =============================
36
	
53
	
37
		$this->unit->run($iq->from('users')->_build_get(),
54
		$this->unit->run($iq->from('users')->_build_get_query(),
38
'SELECT *
55
'SELECT *
39
FROM `users`', 'SELECT * FROM users');
56
FROM `users`', 'From single table');
40
57
41
		$iq->from('users');
58
		$iq->from('users');
42
		$this->unit->run($iq->from('posts')->_build_get(),
59
		$this->unit->run($iq->from('posts')->_build_get_query(),
43
'SELECT *
60
'SELECT *
44
FROM `users`, `posts`', 'SELECT * FROM users, posts (sequence)');
61
FROM `users`, `posts`', 'From multiple tables (sequence)');
45
62
46
		$this->unit->run($iq->from(array('users','posts'))->_build_get(),
63
		$this->unit->run($iq->from(array('users','posts'))->_build_get_query(),
47
'SELECT *
64
'SELECT *
48
FROM `users`, `posts`','FROM: SELECT * FROM users, posts (array)');
65
FROM `users`, `posts`','From multiple tables (array)');
49
		
66
		
50
		$this->unit->run($iq->from()->from('users')->end()->_build_get(),
67
		$iq->from('data');
68
		$this->unit->run($iq->from(array('users','posts'))->_build_get_query(),
51
'SELECT *
69
'SELECT *
70
FROM `data`, `users`, `posts`','From multiple tables (sequence + array)');
71
		
72
		$this->unit->run($iq->from()
73
								->from('users')
74
							->end()->_build_get_query(),
75
'SELECT *
52
FROM (SELECT *
76
FROM (SELECT *
53
FROM `users`)', 'Subquery from from()');
77
FROM `users`)', 'Subquery from from()');
54
		
78
		
55
		$obj = new IgnitedQuery();
79
		$obj = new IgnitedQuery();
56
		$obj->from('users');
80
		$obj->from('users');
57
		$this->unit->run($iq->from($obj)->_build_get(),
81
		$this->unit->run($iq->from($obj)->_build_get_query(),
58
'SELECT *
82
'SELECT *
59
FROM (SELECT *
83
FROM (SELECT *
60
FROM `users`)', 'Subquery as parameter to from()');
84
FROM `users`)', 'Subquery as parameter to from()');
61
		
85
		
62
	///////////////////////////////////////////////////////////////////////////
86
		// =============================
63
	//  SUBQUERIES                                                           //
87
		// = ========= SELECT ======== =
64
	///////////////////////////////////////////////////////////////////////////
88
		// =============================
65
		
89
		
90
		$iq->from('foo');
91
		$this->unit->run($iq->select('lol')->_build_get_query(),
92
'SELECT `lol`
93
FROM `foo`', 'Select single column');
94
		
95
		$iq->select('lol')->from('foo');
96
		$this->unit->run($iq->select('longcat')->_build_get_query(),
97
'SELECT `lol`, `longcat`
98
FROM `foo`', 'Select multiple columns (sequence)');
99
		
100
		$iq->from('foo');
101
		$this->unit->run($iq->select(array('lol','longcat'))->_build_get_query(),
102
'SELECT `lol`, `longcat`
103
FROM `foo`', 'Select multiple columns (array)');
104
		
105
		$iq->select('bar')->from('foo');
106
		$this->unit->run($iq->select(array('lol','longcat'))->_build_get_query(),
107
'SELECT `bar`, `lol`, `longcat`
108
FROM `foo`', 'Select multiple columns (sequence + array)');
109
		
110
		
111
		// =============================
112
		// = ======= SUBQUERIES ====== =
113
		// =============================
114
		
66
		// FROM
115
		// FROM
67
		
116
		
68
		$this->unit->run($iq->from()
117
		$this->unit->run($iq->from()
69
								->from('users')
118
								->from('users')
70
								->where('id',1)
119
								->where('id',1)
71
							->end()
120
							->end()
72
						->_build_get(),
121
						->_build_get_query(),
73
'SELECT *
122
'SELECT *
74
FROM (SELECT *
123
FROM (SELECT *
75
FROM `users`
124
FROM `users`
...
...
91
					->select('username')
140
					->select('username')
92
					->from('users')
141
					->from('users')
93
				->end()
142
				->end()
94
			->_build_get());
143
			->_build_get_query());
95
		u(str_replace("\n",' ',
144
		u(str_replace("\n",' ',
96
		$this->db->select(array('a','b','c'))
145
		$this->db->select(array('a','b','c'))
97
				->select_avg('depth')
146
				->select_avg('depth')
...
...
115
				->group_by('aaa')
164
				->group_by('aaa')
116
				->limit(2)
165
				->limit(2)
117
				->offset(4)
166
				->offset(4)
118
			->_build_get()));
167
			->_build_get_query()));
119
		*/
168
		*/
120
		
169
		
121
		echo $this->unit->summary_report();
170
		echo $this->unit->summary_report();