dal.xml 8.1 KB
Newer Older
S
sean.wang 已提交
1
<?xml version="1.0" encoding="UTF-8"?>
F
Frankie Wu 已提交
2
<entities do-package="com.dianping.cat.hadoop.dal" gen="true">
S
sean.wang 已提交
3 4 5 6 7 8 9 10 11 12 13
	<entity name="logview">
		<var name="direction" value-type="boolean" />
		<var name="message-ids" value-type="String[]" />
		<query-defs>
			<query name="find-next-by-message-id-tags" type="SELECT">
				<param name="message-id" />
				<param name="direction" />
				<param name="tag-thread" />
				<param name="tag-session" />
				<param name="tag-request" />
				<statement><![CDATA[
F
Frankie Wu 已提交
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
			        SELECT <FIELDS/> 
			        FROM <TABLE/> 
			        WHERE 1 = 1
			        	<IF type='NOT_NULL' field='tag-thread'>
					        AND <FIELD name='tag-thread'/> = ${tag-thread}
			        	</IF>
			        	<IF type='NOT_NULL' field='tag-session'>
					        AND <FIELD name='tag-session'/> = ${tag-session}
			        	</IF>
			        	<IF type='NOT_NULL' field='tag-request'>
					        AND <FIELD name='tag-request'/> = ${tag-request}
			        	</IF>
			        	<IF type='EQ' field='direction' value='true'>
					        AND <FIELD name='message-id'/> \\> ${message-id}
				        	ORDER BY <FIELD name='message-id'/> ASC 
			        	</IF>
			        	<IF type='EQ' field='direction' value='false'>
					        AND <FIELD name='message-id'/> \\< ${message-id}
				        	ORDER BY <FIELD name='message-id'/> DESC 
			        	</IF>
			        	LIMIT 1 
		        ]]></statement>
S
sean.wang 已提交
36
			</query>
F
Frankie Wu 已提交
37
			<query name="find-all-by-message-ids" type="SELECT" multiple="true">
S
sean.wang 已提交
38 39 40 41 42 43 44
				<param name="message-ids" />
				<statement><![CDATA[
					SELECT <FIELDS/> 
					FROM <TABLE/> 
					WHERE <FIELD name='message-id'/> <IN> ${message-ids} </IN>
				]]></statement>
			</query>
F
Frankie Wu 已提交
45
			<query name="find-by-message-id" type="SELECT">
Y
You Yong 已提交
46 47 48 49
				<param name="message-id" />
				<statement><![CDATA[
					SELECT <FIELDS/> 
					FROM <TABLE/> 
S
sean.wang 已提交
50
					WHERE <FIELD name='message-id'/> = ${message-id}
Y
You Yong 已提交
51 52
				]]></statement>
			</query>
S
task  
sean.wang 已提交
53 54
			<query name="insert" type="INSERT" batch="true">
				<statement><![CDATA[
55 56 57 58
	           INSERT 
	           INTO <TABLE/>(<FIELDS/>) 
	           VALUES(<VALUES/>)
	           ]]></statement>
S
task  
sean.wang 已提交
59
			</query>
S
sean.wang 已提交
60 61 62
		</query-defs>
	</entity>
	<entity name="report" table="report" alias="r">
63
		<member name="creation-date" insert-expr="NOW()" />
S
sean.wang 已提交
64 65
		<var name="start-date" value-type="Date" />
		<var name="end-date" value-type="Date" />
S
task  
sean.wang 已提交
66
		<query-defs>
S
sean.wang 已提交
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
			<query name="find-all-by-domain-name-duration" type="SELECT"
				multiple="true">
				<param name="start-date" />
				<param name="end-date" />
				<param name="domain" />
				<param name="name" />
				<statement><![CDATA[
					SELECT <FIELDS/> 
					FROM <TABLE/> 
					WHERE <FIELD name='period'/> >= ${start-date}
					AND <FIELD name='period'/> < ${end-date}
					AND <FIELD name='domain'/> = ${domain}
					AND <FIELD name='name'/> = ${name}
					]]></statement>
			</query>
S
task  
sean.wang 已提交
82 83 84 85
			<query name="find-all-by-period-domain-name" type="SELECT"
				multiple="true">
				<param name="period" />
				<param name="domain" />
S
sean.wang 已提交
86
				<param name="name" />
S
task  
sean.wang 已提交
87 88 89 90 91 92 93
				<statement><![CDATA[
					SELECT <FIELDS/> 
					FROM <TABLE/> 
					WHERE <FIELD name='period'/> = ${period}
					AND <FIELD name='domain'/> = ${domain}
					AND <FIELD name='name'/> = ${name}
					]]></statement>
S
sean.wang 已提交
94
			</query>
S
task  
sean.wang 已提交
95 96
			<query name="find-all-by-period-domain-type-name" type="SELECT"
				multiple="true">
S
sean.wang 已提交
97 98 99 100 101 102 103 104 105 106 107 108 109
				<param name="period" />
				<param name="domain" />
				<param name="type" />
				<param name="name" />
				<statement><![CDATA[
					SELECT <FIELDS/> 
					FROM <TABLE/> 
					WHERE <FIELD name='period'/> = ${period}
					AND <FIELD name='domain'/> = ${domain}
					AND <FIELD name='type'/> = ${type}
					AND <FIELD name='name'/> = ${name}
					]]></statement>
			</query>
S
task  
sean.wang 已提交
110 111
			<query name="find-all-by-period-type-name" type="SELECT"
				multiple="true">
F
Frankie Wu 已提交
112 113 114 115 116 117 118 119 120 121 122
				<param name="period" />
				<param name="type" />
				<param name="name" />
				<statement><![CDATA[
					SELECT <FIELDS/> 
					FROM <TABLE/> 
					WHERE <FIELD name='period'/> = ${period}
					AND <FIELD name='type'/> = ${type}
					AND <FIELD name='name'/> = ${name}
					]]></statement>
			</query>
F
Frankie Wu 已提交
123 124 125 126 127 128
			<query name="insert" type="INSERT">
				<statement><![CDATA[
					INSERT 
					INTO <TABLE/>(<FIELDS/>) 
					VALUES(<VALUES/>)
					ON DUPLICATE KEY 
F
Frankie Wu 已提交
129 130
						UPDATE <FIELD name='content'/> = ${content},
							<FIELD name='creation-date'/> = NOW()
F
Frankie Wu 已提交
131 132
				]]></statement>
			</query>
S
sean.wang 已提交
133 134
		</query-defs>
	</entity>
S
task  
sean.wang 已提交
135 136 137

	<entity name="task" table="task" alias="t">
		<query-defs>
S
sean.wang 已提交
138 139 140 141 142 143 144 145
			<query name="insert" type="INSERT">
				<statement><![CDATA[
				INSERT IGNORE INTO <TABLE/>
					(<FIELDS/>) 
				VALUES
					(<VALUES/>)
				]]></statement>
			</query>
S
sean.wang 已提交
146
			<query name="find-by-status-consumer" type="SELECT">
S
task  
sean.wang 已提交
147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163
				<param name="status" />
				<param name="consumer" />
				<statement><![CDATA[
					SELECT <FIELDS/> 
					FROM <TABLE/> 
					WHERE <FIELD name='status'/> = ${status}
					<IF type='NOT_NULL' field='consumer'>
						AND  <FIELD name='consumer'/> = ${consumer}
					</IF>
				]]></statement>
			</query>

			<query name="update-todo-to-doing" type="UPDATE">
				<statement><![CDATA[
					UPDATE <TABLE/>
					SET <FIELD name='consumer'/>=${consumer}, 
						<FIELD name='status'/>=2, 
S
sean.wang 已提交
164
						<FIELD name='start-date'/>=${start-date}
S
task  
sean.wang 已提交
165 166 167 168 169 170 171 172 173
					WHERE <FIELD name='status'/> = 1
					AND <FIELD name='id'/> = ${id};
				]]></statement>
			</query>

			<query name="update-doing-to-done" type="UPDATE">
				<statement><![CDATA[
					UPDATE <TABLE/>
					SET <FIELD name='status'/>=3, 
S
sean.wang 已提交
174
						<FIELD name='end-date'/>=${end-date}
S
task  
sean.wang 已提交
175 176 177 178
					WHERE <FIELD name='status'/> = 2
					AND <FIELD name='id'/> = ${id};
				]]></statement>
			</query>
S
sean.wang 已提交
179

S
task  
sean.wang 已提交
180 181 182 183 184
			<query name="update-doing-to-fail" type="UPDATE">
				<statement><![CDATA[
					UPDATE <TABLE/>
					SET <FIELD name='status'/>=4, 
						<FIELD name='end-date'/>=${end-date},
S
sean.wang 已提交
185
						<FIELD name='failure-count'/> = <FIELD name='failure-count'/> + 1
S
task  
sean.wang 已提交
186 187 188
					WHERE <FIELD name='status'/> = 2
					AND <FIELD name='id'/> = ${id};
				]]></statement>
S
sean.wang 已提交
189 190 191 192 193 194
			</query>

		</query-defs>
	</entity>

	<entity name="dailyreport" table="dailyreport" alias="dr">
S
sean.wang 已提交
195 196
		<var name="start-date" value-type="Date" />
		<var name="end-date" value-type="Date" />
S
sean.wang 已提交
197
		<query-defs>
S
sean.wang 已提交
198 199 200 201 202 203 204 205 206 207 208 209 210 211 212
			<query name="find-all-by-domain-name-duration" type="SELECT"
				multiple="true">
				<param name="start-date" />
				<param name="end-date" />
				<param name="domain" />
				<param name="name" />
				<statement><![CDATA[
					SELECT <FIELDS/> 
					FROM <TABLE/> 
					WHERE <FIELD name='period'/> >= ${start-date}
					AND <FIELD name='period'/> < ${end-date}
					AND <FIELD name='domain'/> = ${domain}
					AND <FIELD name='name'/> = ${name}
					]]></statement>
			</query>
S
sean.wang 已提交
213 214 215 216 217 218 219 220 221 222 223 224 225 226
			<query name="find-by-name-domain-period" type="SELECT">
				<param name="period" />
				<param name="domain" />
				<param name="name" />
				<statement><![CDATA[
					SELECT <FIELDS/> 
					FROM <TABLE/> 
					WHERE <FIELD name='name'/> = ${name}
					AND <FIELD name='domain'/> = ${domain}
					AND <FIELD name='period'/> = ${period}
				]]></statement>
			</query>
		</query-defs>
	</entity>
S
task  
sean.wang 已提交
227

S
sean.wang 已提交
228
	<entity name="graph" table="graph" alias="g">
S
sean.wang 已提交
229 230
		<var name="start-date" value-type="Date" />
		<var name="end-date" value-type="Date" />
S
sean.wang 已提交
231
		<query-defs>
S
sean.wang 已提交
232
			<query name="insert" type="INSERT">
S
sean.wang 已提交
233
				<statement><![CDATA[
S
sean.wang 已提交
234 235 236 237 238 239
					INSERT IGNORE INTO <TABLE/>
						(<FIELDS/>) 
					VALUES
						(<VALUES/>) 
				]]></statement>
			</query>
Y
You Yong 已提交
240
			<query name="find-by-domain-name-ip-duration" type="SELECT" multiple="true">
S
sean.wang 已提交
241 242
				<param name="start-date" />
				<param name="end-date" />
Y
You Yong 已提交
243 244 245
				<param name="ip" />
				<param name="domain" />
				<param name="name" />
S
sean.wang 已提交
246 247 248 249 250 251 252 253 254 255
				<statement><![CDATA[
					SELECT <FIELDS/> 
					FROM <TABLE/> 
					WHERE <FIELD name='name'/> = ${name}
					AND <FIELD name='domain'/> = ${domain}
					<IF type='NOT_NULL' field='ip'>
						AND  <FIELD name='ip'/> = ${ip}
					</IF>
					AND <FIELD name='period'/> >= ${start-date}
					AND <FIELD name='period'/> < ${end-date}
Y
You Yong 已提交
256
					ORDER BY <FIELD name='period'/> ASC 
S
sean.wang 已提交
257 258
				]]></statement>
			</query>
S
task  
sean.wang 已提交
259 260
		</query-defs>
	</entity>
S
sean.wang 已提交
261 262
</entities>

Y
You Yong 已提交
263 264 265 266 267 268 269