File: testvalid.xml

package info (click to toggle)
libgda5 5.2.10-8
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 76,168 kB
  • sloc: ansic: 495,319; xml: 10,486; yacc: 5,165; sh: 4,451; makefile: 4,095; php: 1,416; java: 1,300; javascript: 1,298; python: 896; sql: 879; perl: 116
file content (151 lines) | stat: -rw-r--r-- 17,284 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
<testdata>
  <!-- table not found -->
  <test id="1">
    <sql valid="f">SELECT id, name FROM customer</sql>
  </test>

  <!-- column ambiguity -->
  <test id="2">
    <sql valid="f">SELECT id FROM customers INNER JOIN salesrep</sql>
  </test>

  <test id="3">
    <sql valid="t">SELECT customers.id FROM customers INNER JOIN salesrep</sql>
  </test>

  <test id="3">
    <sql valid="t">SELECT c.id FROM customers as c INNER JOIN salesrep</sql>
  </test>

  <!-- multiple targets with naming conflicts -->
  <test id="10">
    <sql valid="f">SELECT c.id FROM customers as c INNER JOIN salesrep as c</sql>
  </test>
  <test id="11">
    <sql valid="f">SELECT c.id FROM customers INNER JOIN salesrep as customers</sql>
  </test>
  <test id="11">
    <sql valid="f">SELECT version() FROM customers, customers</sql>
  </test>

  <test id="13">
    <sql valid="t">select p.*, ca.categoryname from products p left join categories ca on (ca.id=p.category)</sql>
  </test>
  <test id="14">
    <sql valid="t">select p.*, ca."categoryname" from products p left join categories ca on (ca.id=p.category)</sql>
  </test>
  <test id="14">
    <sql valid="t">select "p".*, ca."categoryname" from products p left join categories ca on (ca.id=p.category)</sql>
  </test>
  
  <!-- computing DML commands from SELECT -->

  <!-- no target table to modify -->
  <test id="pre0">
    <sql valid="t">SELECT 3</sql>
    <insert/>
    <update/>
    <delete/>
  </test>

  <!-- more than 1 target table to modify -->
  <test id="pre1">
    <sql valid="t">SELECT version() FROM customers, salesrep</sql>
    <insert/>
    <update/>
    <delete/>
  </test>

  <!-- target is not a table -->
  <test id="pre2">
    <sql valid="t">SELECT 123 FROM (SELECT name FROM customers) as c</sql>
    <insert/>
    <update/>
    <delete/>
  </test>

  <!-- target has no primary key -->
  <test id="pre3">
    <sql valid="t">SELECT * FROM sales_orga</sql>
    <normalized>{"statement":{"sql":"SELECT * FROM sales_orga","stmt_type":"SELECT","contents":{"distinct":"false","fields":[{"expr":{"value":"id_salesrep"},"field_name":"id_salesrep"},{"expr":{"value":"id_role"},"field_name":"id_role"},{"expr":{"value":"note"},"field_name":"note"}],"from":{"targets":[{"expr":{"value":"sales_orga"},"table_name":"sales_orga"}]}}}}</normalized>
    <insert>{"statement":{"sql":null,"stmt_type":"INSERT","contents":{"table":"sales_orga","fields":["id_salesrep","id_role","note"],"values":[[{"value":null,"param_spec":{"name":"+0","descr":null,"type":"int","is_param":false,"nullok":false}},{"value":null,"param_spec":{"name":"+1","descr":null,"type":"int","is_param":false,"nullok":false}},{"value":null,"param_spec":{"name":"+2","descr":null,"type":"string","is_param":false,"nullok":true}}]]}}}</insert>
    <update/>
    <delete/>
  </test>

  <test id="0">
    <sql valid="t">SELECT id, name FROM customers</sql>
    <insert>{"statement":{"sql":null,"stmt_type":"INSERT","contents":{"table":"customers","fields":["id","name"],"values":[[{"value":"AUTO_INCREMENT","param_spec":{"name":"+0","descr":null,"type":"int","is_param":false,"nullok":false}},{"value":"''","param_spec":{"name":"+1","descr":null,"type":"string","is_param":false,"nullok":false}}]]}}}</insert>
    <update>{"statement":{"sql":null,"stmt_type":"UPDATE","contents":{"table":"customers","fields":["id","name"],"expressions":[{"value":"AUTO_INCREMENT","param_spec":{"name":"+0","descr":null,"type":"int","is_param":false,"nullok":false}},{"value":"''","param_spec":{"name":"+1","descr":null,"type":"string","is_param":false,"nullok":false}}],"condition":{"operation":{"operator":"=","operand0":{"value":"id"},"operand1":{"value":null,"param_spec":{"name":"-0","descr":null,"type":"int","is_param":false,"nullok":false}}}}}}}</update>
    <delete>{"statement":{"sql":null,"stmt_type":"DELETE","contents":{"table":"customers","condition":{"operation":{"operator":"=","operand0":{"value":"id"},"operand1":{"value":null,"param_spec":{"name":"-0","descr":null,"type":"int","is_param":false,"nullok":false}}}}}}}</delete>
  </test>

  <test id="0.1">
    <sql valid="t">SELECT id, 3.14, name FROM customers</sql>
    <insert>{"statement":{"sql":null,"stmt_type":"INSERT","contents":{"table":"customers","fields":["id","name"],"values":[[{"value":"AUTO_INCREMENT","param_spec":{"name":"+0","descr":null,"type":"int","is_param":false,"nullok":false}},{"value":"''","param_spec":{"name":"+2","descr":null,"type":"string","is_param":false,"nullok":false}}]]}}}</insert>
  </test>

  <test id="0.2">
    <sql valid="t">SELECT id, 3.14, name, id FROM customers</sql>
    <insert>{"statement":{"sql":null,"stmt_type":"INSERT","contents":{"table":"customers","fields":["id","name"],"values":[[{"value":"AUTO_INCREMENT","param_spec":{"name":"+0","descr":null,"type":"int","is_param":false,"nullok":false}},{"value":"''","param_spec":{"name":"+2","descr":null,"type":"string","is_param":false,"nullok":false}}]]}}}</insert>
  </test>

  <test id="0.3">
    <sql valid="t">SELECT id || name FROM customers</sql>
    <insert/>
    <update/>
    <delete/>
  </test>

  <!-- normalization test -->
  <test id="N0">
    <sql valid="t">SELECT count (*) FROM sales_orga</sql>
    <normalized>{"statement":{"sql":"SELECT count (*) FROM sales_orga","stmt_type":"SELECT","contents":{"distinct":"false","fields":[{"expr":{"func":{"function_name":"count","function_args":[{"value":"*"}]}}}],"from":{"targets":[{"expr":{"value":"sales_orga"},"table_name":"sales_orga"}]}}}}</normalized>
    <insert/>
    <update/>
    <delete/>
  </test>

  <test id="N1">
    <sql valid="t">SELECT name, *, city FROM customers</sql>
    <normalized>{"statement":{"sql":"SELECT name, *, city FROM customers","stmt_type":"SELECT","contents":{"distinct":"false","fields":[{"expr":{"value":"name"},"field_name":"name"},{"expr":{"value":"id"},"field_name":"id"},{"expr":{"value":"name"},"field_name":"name"},{"expr":{"value":"default_served_by"},"field_name":"default_served_by"},{"expr":{"value":"country"},"field_name":"country"},{"expr":{"value":"city"},"field_name":"city"},{"expr":{"value":"city"},"field_name":"city"}],"from":{"targets":[{"expr":{"value":"customers"},"table_name":"customers"}]}}}}</normalized>
    <insert>{"statement":{"sql":null,"stmt_type":"INSERT","contents":{"table":"customers","fields":["name","id","default_served_by","country","city"],"values":[[{"value":"''","param_spec":{"name":"+0","descr":null,"type":"string","is_param":false,"nullok":false}},{"value":"AUTO_INCREMENT","param_spec":{"name":"+1","descr":null,"type":"int","is_param":false,"nullok":false}},{"value":null,"param_spec":{"name":"+3","descr":null,"type":"int","is_param":false,"nullok":true}},{"value":null,"param_spec":{"name":"+4","descr":null,"type":"string","is_param":false,"nullok":true}},{"value":null,"param_spec":{"name":"+5","descr":null,"type":"string","is_param":false,"nullok":true}}]]}}}</insert>
    <update>{"statement":{"sql":null,"stmt_type":"UPDATE","contents":{"table":"customers","fields":["name","id","default_served_by","country","city"],"expressions":[{"value":"''","param_spec":{"name":"+0","descr":null,"type":"string","is_param":false,"nullok":false}},{"value":"AUTO_INCREMENT","param_spec":{"name":"+1","descr":null,"type":"int","is_param":false,"nullok":false}},{"value":null,"param_spec":{"name":"+3","descr":null,"type":"int","is_param":false,"nullok":true}},{"value":null,"param_spec":{"name":"+4","descr":null,"type":"string","is_param":false,"nullok":true}},{"value":null,"param_spec":{"name":"+5","descr":null,"type":"string","is_param":false,"nullok":true}}],"condition":{"operation":{"operator":"=","operand0":{"value":"id"},"operand1":{"value":null,"param_spec":{"name":"-1","descr":null,"type":"int","is_param":false,"nullok":false}}}}}}}</update>
    <delete>{"statement":{"sql":null,"stmt_type":"DELETE","contents":{"table":"customers","condition":{"operation":{"operator":"=","operand0":{"value":"id"},"operand1":{"value":null,"param_spec":{"name":"-1","descr":null,"type":"int","is_param":false,"nullok":false}}}}}}}</delete>
  </test>

  <test id="N2">
    <sql valid="t">SELECT s.* FROM sales_orga as s</sql>
    <normalized>{"statement":{"sql":"SELECT s.* FROM sales_orga as s","stmt_type":"SELECT","contents":{"distinct":"false","fields":[{"expr":{"value":"s.id_salesrep"},"field_name":"id_salesrep","table_name":"s"},{"expr":{"value":"s.id_role"},"field_name":"id_role","table_name":"s"},{"expr":{"value":"s.note"},"field_name":"note","table_name":"s"}],"from":{"targets":[{"expr":{"value":"sales_orga"},"table_name":"sales_orga","as":"s"}]}}}}</normalized>
    <insert>{"statement":{"sql":null,"stmt_type":"INSERT","contents":{"table":"sales_orga","fields":["id_salesrep","id_role","note"],"values":[[{"value":null,"param_spec":{"name":"+0","descr":null,"type":"int","is_param":false,"nullok":false}},{"value":null,"param_spec":{"name":"+1","descr":null,"type":"int","is_param":false,"nullok":false}},{"value":null,"param_spec":{"name":"+2","descr":null,"type":"string","is_param":false,"nullok":true}}]]}}}</insert>
    <update></update>
    <delete></delete>
    <update needpk="f"></update>
    <delete needpk="f"></delete>
  </test>

  <test id="N3">
    <sql valid="t">SELECT "name", c.*, "id" FROM customers as c</sql>
    <normalized>{"statement":{"sql":"SELECT \"name\", c.*, \"id\" FROM customers as c","stmt_type":"SELECT","contents":{"distinct":"false","fields":[{"expr":{"value":"\"name\""},"field_name":"\"name\""},{"expr":{"value":"c.id"},"field_name":"id","table_name":"c"},{"expr":{"value":"c.name"},"field_name":"name","table_name":"c"},{"expr":{"value":"c.default_served_by"},"field_name":"default_served_by","table_name":"c"},{"expr":{"value":"c.country"},"field_name":"country","table_name":"c"},{"expr":{"value":"c.city"},"field_name":"city","table_name":"c"},{"expr":{"value":"\"id\""},"field_name":"\"id\""}],"from":{"targets":[{"expr":{"value":"customers"},"table_name":"customers","as":"c"}]}}}}</normalized>
    <insert>{"statement":{"sql":null,"stmt_type":"INSERT","contents":{"table":"customers","fields":["\"name\"","id","default_served_by","country","city"],"values":[[{"value":"''","param_spec":{"name":"+0","descr":null,"type":"string","is_param":false,"nullok":false}},{"value":"AUTO_INCREMENT","param_spec":{"name":"+1","descr":null,"type":"int","is_param":false,"nullok":false}},{"value":null,"param_spec":{"name":"+3","descr":null,"type":"int","is_param":false,"nullok":true}},{"value":null,"param_spec":{"name":"+4","descr":null,"type":"string","is_param":false,"nullok":true}},{"value":null,"param_spec":{"name":"+5","descr":null,"type":"string","is_param":false,"nullok":true}}]]}}}</insert>
    <update>{"statement":{"sql":null,"stmt_type":"UPDATE","contents":{"table":"customers","fields":["\"name\"","id","default_served_by","country","city"],"expressions":[{"value":"''","param_spec":{"name":"+0","descr":null,"type":"string","is_param":false,"nullok":false}},{"value":"AUTO_INCREMENT","param_spec":{"name":"+1","descr":null,"type":"int","is_param":false,"nullok":false}},{"value":null,"param_spec":{"name":"+3","descr":null,"type":"int","is_param":false,"nullok":true}},{"value":null,"param_spec":{"name":"+4","descr":null,"type":"string","is_param":false,"nullok":true}},{"value":null,"param_spec":{"name":"+5","descr":null,"type":"string","is_param":false,"nullok":true}}],"condition":{"operation":{"operator":"=","operand0":{"value":"id"},"operand1":{"value":null,"param_spec":{"name":"-1","descr":null,"type":"int","is_param":false,"nullok":false}}}}}}}</update>
    <delete>{"statement":{"sql":null,"stmt_type":"DELETE","contents":{"table":"customers","condition":{"operation":{"operator":"=","operand0":{"value":"id"},"operand1":{"value":null,"param_spec":{"name":"-1","descr":null,"type":"int","is_param":false,"nullok":false}}}}}}}</delete>
  </test>

  <test id="N4">
    <sql valid="t">SELECT "name", "customers".*, "id" FROM customers as c</sql>
    <normalized>{"statement":{"sql":"SELECT \"name\", \"customers\".*, \"id\" FROM customers as c","stmt_type":"SELECT","contents":{"distinct":"false","fields":[{"expr":{"value":"\"name\""},"field_name":"\"name\""},{"expr":{"value":"\"customers\".id"},"field_name":"id","table_name":"\"customers\""},{"expr":{"value":"\"customers\".name"},"field_name":"name","table_name":"\"customers\""},{"expr":{"value":"\"customers\".default_served_by"},"field_name":"default_served_by","table_name":"\"customers\""},{"expr":{"value":"\"customers\".country"},"field_name":"country","table_name":"\"customers\""},{"expr":{"value":"\"customers\".city"},"field_name":"city","table_name":"\"customers\""},{"expr":{"value":"\"id\""},"field_name":"\"id\""}],"from":{"targets":[{"expr":{"value":"customers"},"table_name":"customers","as":"c"}]}}}}</normalized>
    <insert>{"statement":{"sql":null,"stmt_type":"INSERT","contents":{"table":"customers","fields":["\"name\"","id","default_served_by","country","city"],"values":[[{"value":"''","param_spec":{"name":"+0","descr":null,"type":"string","is_param":false,"nullok":false}},{"value":"AUTO_INCREMENT","param_spec":{"name":"+1","descr":null,"type":"int","is_param":false,"nullok":false}},{"value":null,"param_spec":{"name":"+3","descr":null,"type":"int","is_param":false,"nullok":true}},{"value":null,"param_spec":{"name":"+4","descr":null,"type":"string","is_param":false,"nullok":true}},{"value":null,"param_spec":{"name":"+5","descr":null,"type":"string","is_param":false,"nullok":true}}]]}}}</insert>
    <update>{"statement":{"sql":null,"stmt_type":"UPDATE","contents":{"table":"customers","fields":["\"name\"","id","default_served_by","country","city"],"expressions":[{"value":"''","param_spec":{"name":"+0","descr":null,"type":"string","is_param":false,"nullok":false}},{"value":"AUTO_INCREMENT","param_spec":{"name":"+1","descr":null,"type":"int","is_param":false,"nullok":false}},{"value":null,"param_spec":{"name":"+3","descr":null,"type":"int","is_param":false,"nullok":true}},{"value":null,"param_spec":{"name":"+4","descr":null,"type":"string","is_param":false,"nullok":true}},{"value":null,"param_spec":{"name":"+5","descr":null,"type":"string","is_param":false,"nullok":true}}],"condition":{"operation":{"operator":"=","operand0":{"value":"id"},"operand1":{"value":null,"param_spec":{"name":"-1","descr":null,"type":"int","is_param":false,"nullok":false}}}}}}}</update>
    <delete>{"statement":{"sql":null,"stmt_type":"DELETE","contents":{"table":"customers","condition":{"operation":{"operator":"=","operand0":{"value":"id"},"operand1":{"value":null,"param_spec":{"name":"-1","descr":null,"type":"int","is_param":false,"nullok":false}}}}}}}</delete>
  </test>

  <test id="N5">
    <sql valid="t">SELECT NaMe, c."*", ID FROM customers as c</sql>
    <normalized>{"statement":{"sql":"SELECT NaMe, c.\"*\", ID FROM customers as c","stmt_type":"SELECT","contents":{"distinct":"false","fields":[{"expr":{"value":"NaMe"},"field_name":"NaMe"},{"expr":{"value":"c.id"},"field_name":"id","table_name":"c"},{"expr":{"value":"c.name"},"field_name":"name","table_name":"c"},{"expr":{"value":"c.default_served_by"},"field_name":"default_served_by","table_name":"c"},{"expr":{"value":"c.country"},"field_name":"country","table_name":"c"},{"expr":{"value":"c.city"},"field_name":"city","table_name":"c"},{"expr":{"value":"ID"},"field_name":"ID"}],"from":{"targets":[{"expr":{"value":"customers"},"table_name":"customers","as":"c"}]}}}}</normalized>
    <insert>{"statement":{"sql":null,"stmt_type":"INSERT","contents":{"table":"customers","fields":["NaMe","id","default_served_by","country","city"],"values":[[{"value":"''","param_spec":{"name":"+0","descr":null,"type":"string","is_param":false,"nullok":false}},{"value":"AUTO_INCREMENT","param_spec":{"name":"+1","descr":null,"type":"int","is_param":false,"nullok":false}},{"value":null,"param_spec":{"name":"+3","descr":null,"type":"int","is_param":false,"nullok":true}},{"value":null,"param_spec":{"name":"+4","descr":null,"type":"string","is_param":false,"nullok":true}},{"value":null,"param_spec":{"name":"+5","descr":null,"type":"string","is_param":false,"nullok":true}}]]}}}</insert>
    <update>{"statement":{"sql":null,"stmt_type":"UPDATE","contents":{"table":"customers","fields":["NaMe","id","default_served_by","country","city"],"expressions":[{"value":"''","param_spec":{"name":"+0","descr":null,"type":"string","is_param":false,"nullok":false}},{"value":"AUTO_INCREMENT","param_spec":{"name":"+1","descr":null,"type":"int","is_param":false,"nullok":false}},{"value":null,"param_spec":{"name":"+3","descr":null,"type":"int","is_param":false,"nullok":true}},{"value":null,"param_spec":{"name":"+4","descr":null,"type":"string","is_param":false,"nullok":true}},{"value":null,"param_spec":{"name":"+5","descr":null,"type":"string","is_param":false,"nullok":true}}],"condition":{"operation":{"operator":"=","operand0":{"value":"id"},"operand1":{"value":null,"param_spec":{"name":"-1","descr":null,"type":"int","is_param":false,"nullok":false}}}}}}}</update>
    <delete>{"statement":{"sql":null,"stmt_type":"DELETE","contents":{"table":"customers","condition":{"operation":{"operator":"=","operand0":{"value":"id"},"operand1":{"value":null,"param_spec":{"name":"-1","descr":null,"type":"int","is_param":false,"nullok":false}}}}}}}</delete>
  </test>

</testdata>