| line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
|
1
|
3
|
|
|
3
|
|
51656
|
use strict; |
|
|
3
|
|
|
|
|
5
|
|
|
|
3
|
|
|
|
|
86
|
|
|
2
|
3
|
|
|
3
|
|
11
|
use warnings; |
|
|
3
|
|
|
|
|
4
|
|
|
|
3
|
|
|
|
|
150
|
|
|
3
|
|
|
|
|
|
|
package String::SQLColumnName; |
|
4
|
|
|
|
|
|
|
|
|
5
|
|
|
|
|
|
|
# ABSTRACT: Fix strings into valid SQL column names |
|
6
|
|
|
|
|
|
|
|
|
7
|
|
|
|
|
|
|
our $VERSION = '0.02'; # VERSION |
|
8
|
|
|
|
|
|
|
|
|
9
|
3
|
|
|
3
|
|
60
|
use 5.010001; |
|
|
3
|
|
|
|
|
12
|
|
|
10
|
3
|
|
|
3
|
|
12
|
use strict; |
|
|
3
|
|
|
|
|
3
|
|
|
|
3
|
|
|
|
|
54
|
|
|
11
|
3
|
|
|
3
|
|
9
|
use warnings; |
|
|
3
|
|
|
|
|
6
|
|
|
|
3
|
|
|
|
|
77
|
|
|
12
|
|
|
|
|
|
|
|
|
13
|
3
|
|
|
3
|
|
9
|
use Exporter; |
|
|
3
|
|
|
|
|
5
|
|
|
|
3
|
|
|
|
|
254
|
|
|
14
|
|
|
|
|
|
|
our @ISA = qw(Exporter); |
|
15
|
|
|
|
|
|
|
our @EXPORT_OK = qw( |
|
16
|
|
|
|
|
|
|
fix_name |
|
17
|
|
|
|
|
|
|
fix_reserved |
|
18
|
|
|
|
|
|
|
fix_number |
|
19
|
|
|
|
|
|
|
fix_ordinal |
|
20
|
|
|
|
|
|
|
fix_names |
|
21
|
|
|
|
|
|
|
); |
|
22
|
|
|
|
|
|
|
|
|
23
|
3
|
|
|
3
|
|
2091
|
use Lingua::EN::Numbers qw(num2en num2en_ordinal); |
|
|
3
|
|
|
|
|
5412
|
|
|
|
3
|
|
|
|
|
200
|
|
|
24
|
3
|
|
|
3
|
|
1508
|
use String::CamelCase qw(camelize); |
|
|
3
|
|
|
|
|
1419
|
|
|
|
3
|
|
|
|
|
5853
|
|
|
25
|
|
|
|
|
|
|
|
|
26
|
|
|
|
|
|
|
our $camelize; |
|
27
|
|
|
|
|
|
|
|
|
28
|
|
|
|
|
|
|
our %rw = ( |
|
29
|
|
|
|
|
|
|
"ASYMMETRIC" => 1, |
|
30
|
|
|
|
|
|
|
"AT" => 1, |
|
31
|
|
|
|
|
|
|
"ATOMIC" => 1, |
|
32
|
|
|
|
|
|
|
"ATTRIBUTE" => 1, |
|
33
|
|
|
|
|
|
|
"ATTRIBUTES" => 1, |
|
34
|
|
|
|
|
|
|
"AUDIT" => 1, |
|
35
|
|
|
|
|
|
|
"AUTHORIZATION" => 1, |
|
36
|
|
|
|
|
|
|
"AUTO_INCREMENT" => 1, |
|
37
|
|
|
|
|
|
|
"AVG" => 1, |
|
38
|
|
|
|
|
|
|
"AVG_ROW_LENGTH" => 1, |
|
39
|
|
|
|
|
|
|
"BACKUP" => 1, |
|
40
|
|
|
|
|
|
|
"BACKWARD" => 1, |
|
41
|
|
|
|
|
|
|
"BEFORE" => 1, |
|
42
|
|
|
|
|
|
|
"BEGIN" => 1, |
|
43
|
|
|
|
|
|
|
"BERNOULLI" => 1, |
|
44
|
|
|
|
|
|
|
"BETWEEN" => 1, |
|
45
|
|
|
|
|
|
|
"BIGINT" => 1, |
|
46
|
|
|
|
|
|
|
"BINARY" => 1, |
|
47
|
|
|
|
|
|
|
"BIT" => 1, |
|
48
|
|
|
|
|
|
|
"BIT_LENGTH" => 1, |
|
49
|
|
|
|
|
|
|
"BITVAR" => 1, |
|
50
|
|
|
|
|
|
|
"BLOB" => 1, |
|
51
|
|
|
|
|
|
|
"BOOL" => 1, |
|
52
|
|
|
|
|
|
|
"BOOLEAN" => 1, |
|
53
|
|
|
|
|
|
|
"BOTH" => 1, |
|
54
|
|
|
|
|
|
|
"BREADTH" => 1, |
|
55
|
|
|
|
|
|
|
"BREAK" => 1, |
|
56
|
|
|
|
|
|
|
"BROWSE" => 1, |
|
57
|
|
|
|
|
|
|
"BULK" => 1, |
|
58
|
|
|
|
|
|
|
"BY" => 1, |
|
59
|
|
|
|
|
|
|
"C" => 1, |
|
60
|
|
|
|
|
|
|
"CACHE" => 1, |
|
61
|
|
|
|
|
|
|
"CALL" => 1, |
|
62
|
|
|
|
|
|
|
"CALLED" => 1, |
|
63
|
|
|
|
|
|
|
"CARDINALITY" => 1, |
|
64
|
|
|
|
|
|
|
"CASCADE" => 1, |
|
65
|
|
|
|
|
|
|
"CASCADED" => 1, |
|
66
|
|
|
|
|
|
|
"CASE" => 1, |
|
67
|
|
|
|
|
|
|
"CAST" => 1, |
|
68
|
|
|
|
|
|
|
"CATALOG" => 1, |
|
69
|
|
|
|
|
|
|
"CATALOG_NAME" => 1, |
|
70
|
|
|
|
|
|
|
"CEIL" => 1, |
|
71
|
|
|
|
|
|
|
"CEILING" => 1, |
|
72
|
|
|
|
|
|
|
"CHAIN" => 1, |
|
73
|
|
|
|
|
|
|
"CHANGE" => 1, |
|
74
|
|
|
|
|
|
|
"CHAR" => 1, |
|
75
|
|
|
|
|
|
|
"CHAR_LENGTH" => 1, |
|
76
|
|
|
|
|
|
|
"CHARACTER" => 1, |
|
77
|
|
|
|
|
|
|
"CHARACTER_LENGTH" => 1, |
|
78
|
|
|
|
|
|
|
"CHARACTER_SET_CATALOG" => 1, |
|
79
|
|
|
|
|
|
|
"CHARACTER_SET_NAME" => 1, |
|
80
|
|
|
|
|
|
|
"CHARACTER_SET_SCHEMA" => 1, |
|
81
|
|
|
|
|
|
|
"CHARACTERISTICS" => 1, |
|
82
|
|
|
|
|
|
|
"CHARACTERS" => 1, |
|
83
|
|
|
|
|
|
|
"CHECK" => 1, |
|
84
|
|
|
|
|
|
|
"CHECKED" => 1, |
|
85
|
|
|
|
|
|
|
"CHECKPOINT" => 1, |
|
86
|
|
|
|
|
|
|
"CHECKSUM" => 1, |
|
87
|
|
|
|
|
|
|
"CLASS" => 1, |
|
88
|
|
|
|
|
|
|
"CLASS_ORIGIN" => 1, |
|
89
|
|
|
|
|
|
|
"CLOB" => 1, |
|
90
|
|
|
|
|
|
|
"CLOSE" => 1, |
|
91
|
|
|
|
|
|
|
"CLUSTER" => 1, |
|
92
|
|
|
|
|
|
|
"CLUSTERED" => 1, |
|
93
|
|
|
|
|
|
|
"COALESCE" => 1, |
|
94
|
|
|
|
|
|
|
"COBOL" => 1, |
|
95
|
|
|
|
|
|
|
"COLLATE" => 1, |
|
96
|
|
|
|
|
|
|
"COLLATION" => 1, |
|
97
|
|
|
|
|
|
|
"COLLATION_CATALOG" => 1, |
|
98
|
|
|
|
|
|
|
"COLLATION_NAME" => 1, |
|
99
|
|
|
|
|
|
|
"COLLATION_SCHEMA" => 1, |
|
100
|
|
|
|
|
|
|
"COLLECT" => 1, |
|
101
|
|
|
|
|
|
|
"COLUMN" => 1, |
|
102
|
|
|
|
|
|
|
"COLUMN_NAME" => 1, |
|
103
|
|
|
|
|
|
|
"COLUMNS" => 1, |
|
104
|
|
|
|
|
|
|
"COMMAND_FUNCTION" => 1, |
|
105
|
|
|
|
|
|
|
"COMMAND_FUNCTION_CODE" => 1, |
|
106
|
|
|
|
|
|
|
"COMMENT" => 1, |
|
107
|
|
|
|
|
|
|
"COMMIT" => 1, |
|
108
|
|
|
|
|
|
|
"COMMITTED" => 1, |
|
109
|
|
|
|
|
|
|
"COMPLETION" => 1, |
|
110
|
|
|
|
|
|
|
"COMPRESS" => 1, |
|
111
|
|
|
|
|
|
|
"COMPUTE" => 1, |
|
112
|
|
|
|
|
|
|
"CONDITION" => 1, |
|
113
|
|
|
|
|
|
|
"CONDITION_NUMBER" => 1, |
|
114
|
|
|
|
|
|
|
"CONNECT" => 1, |
|
115
|
|
|
|
|
|
|
"CONNECTION" => 1, |
|
116
|
|
|
|
|
|
|
"CONNECTION_NAME" => 1, |
|
117
|
|
|
|
|
|
|
"CONSTRAINT" => 1, |
|
118
|
|
|
|
|
|
|
"CONSTRAINT_CATALOG" => 1, |
|
119
|
|
|
|
|
|
|
"CONSTRAINT_NAME" => 1, |
|
120
|
|
|
|
|
|
|
"CONSTRAINT_SCHEMA" => 1, |
|
121
|
|
|
|
|
|
|
"CONSTRAINTS" => 1, |
|
122
|
|
|
|
|
|
|
"CONSTRUCTOR" => 1, |
|
123
|
|
|
|
|
|
|
"CONTAINS" => 1, |
|
124
|
|
|
|
|
|
|
"CONTAINSTABLE" => 1, |
|
125
|
|
|
|
|
|
|
"CONTINUE" => 1, |
|
126
|
|
|
|
|
|
|
"CONVERSION" => 1, |
|
127
|
|
|
|
|
|
|
"CONVERT" => 1, |
|
128
|
|
|
|
|
|
|
"COPY" => 1, |
|
129
|
|
|
|
|
|
|
"CORR" => 1, |
|
130
|
|
|
|
|
|
|
"CORRESPONDING" => 1, |
|
131
|
|
|
|
|
|
|
"COUNT" => 1, |
|
132
|
|
|
|
|
|
|
"COVAR_POP" => 1, |
|
133
|
|
|
|
|
|
|
"COVAR_SAMP" => 1, |
|
134
|
|
|
|
|
|
|
"CREATE" => 1, |
|
135
|
|
|
|
|
|
|
"CREATEDB" => 1, |
|
136
|
|
|
|
|
|
|
"CREATEROLE" => 1, |
|
137
|
|
|
|
|
|
|
"CREATEUSER" => 1, |
|
138
|
|
|
|
|
|
|
"CROSS" => 1, |
|
139
|
|
|
|
|
|
|
"CSV" => 1, |
|
140
|
|
|
|
|
|
|
"CUBE" => 1, |
|
141
|
|
|
|
|
|
|
"CUME_DIST" => 1, |
|
142
|
|
|
|
|
|
|
"CURRENT" => 1, |
|
143
|
|
|
|
|
|
|
"CURRENT_DATE" => 1, |
|
144
|
|
|
|
|
|
|
"CURRENT_DEFAULT_TRANSFORM_GROUP" => 1, |
|
145
|
|
|
|
|
|
|
"CURRENT_PATH" => 1, |
|
146
|
|
|
|
|
|
|
"CURRENT_ROLE" => 1, |
|
147
|
|
|
|
|
|
|
"CURRENT_TIME" => 1, |
|
148
|
|
|
|
|
|
|
"CURRENT_TIMESTAMP" => 1, |
|
149
|
|
|
|
|
|
|
"CURRENT_TRANSFORM_GROUP_FOR_TYPE" => 1, |
|
150
|
|
|
|
|
|
|
"CURRENT_USER" => 1, |
|
151
|
|
|
|
|
|
|
"CURSOR" => 1, |
|
152
|
|
|
|
|
|
|
"CURSOR_NAME" => 1, |
|
153
|
|
|
|
|
|
|
"CYCLE" => 1, |
|
154
|
|
|
|
|
|
|
"DATA" => 1, |
|
155
|
|
|
|
|
|
|
"DATABASE" => 1, |
|
156
|
|
|
|
|
|
|
"DATABASES" => 1, |
|
157
|
|
|
|
|
|
|
"DATE" => 1, |
|
158
|
|
|
|
|
|
|
"DATETIME" => 1, |
|
159
|
|
|
|
|
|
|
"DATETIME_INTERVAL_CODE" => 1, |
|
160
|
|
|
|
|
|
|
"DATETIME_INTERVAL_PRECISION" => 1, |
|
161
|
|
|
|
|
|
|
"DAY" => 1, |
|
162
|
|
|
|
|
|
|
"DAY_HOUR" => 1, |
|
163
|
|
|
|
|
|
|
"DAY_MICROSECOND" => 1, |
|
164
|
|
|
|
|
|
|
"DAY_MINUTE" => 1, |
|
165
|
|
|
|
|
|
|
"DAY_SECOND" => 1, |
|
166
|
|
|
|
|
|
|
"DAYOFMONTH" => 1, |
|
167
|
|
|
|
|
|
|
"DAYOFWEEK" => 1, |
|
168
|
|
|
|
|
|
|
"DAYOFYEAR" => 1, |
|
169
|
|
|
|
|
|
|
"DBCC" => 1, |
|
170
|
|
|
|
|
|
|
"DEALLOCATE" => 1, |
|
171
|
|
|
|
|
|
|
"DEC" => 1, |
|
172
|
|
|
|
|
|
|
"DECIMAL" => 1, |
|
173
|
|
|
|
|
|
|
"DECLARE" => 1, |
|
174
|
|
|
|
|
|
|
"DEFAULT" => 1, |
|
175
|
|
|
|
|
|
|
"DEFAULTS" => 1, |
|
176
|
|
|
|
|
|
|
"DEFERRABLE" => 1, |
|
177
|
|
|
|
|
|
|
"DEFERRED" => 1, |
|
178
|
|
|
|
|
|
|
"DEFINED" => 1, |
|
179
|
|
|
|
|
|
|
"DEFINER" => 1, |
|
180
|
|
|
|
|
|
|
"DEGREE" => 1, |
|
181
|
|
|
|
|
|
|
"DELAY_KEY_WRITE" => 1, |
|
182
|
|
|
|
|
|
|
"DELAYED" => 1, |
|
183
|
|
|
|
|
|
|
"DELETE" => 1, |
|
184
|
|
|
|
|
|
|
"DELIMITER" => 1, |
|
185
|
|
|
|
|
|
|
"DELIMITERS" => 1, |
|
186
|
|
|
|
|
|
|
"DENSE_RANK" => 1, |
|
187
|
|
|
|
|
|
|
"DENY" => 1, |
|
188
|
|
|
|
|
|
|
"DEPTH" => 1, |
|
189
|
|
|
|
|
|
|
"DEREF" => 1, |
|
190
|
|
|
|
|
|
|
"DERIVED" => 1, |
|
191
|
|
|
|
|
|
|
"DESC" => 1, |
|
192
|
|
|
|
|
|
|
"DESCRIBE" => 1, |
|
193
|
|
|
|
|
|
|
"DESCRIPTOR" => 1, |
|
194
|
|
|
|
|
|
|
"DESTROY" => 1, |
|
195
|
|
|
|
|
|
|
"DESTRUCTOR" => 1, |
|
196
|
|
|
|
|
|
|
"DETERMINISTIC" => 1, |
|
197
|
|
|
|
|
|
|
"DIAGNOSTICS" => 1, |
|
198
|
|
|
|
|
|
|
"DICTIONARY" => 1, |
|
199
|
|
|
|
|
|
|
"DISABLE" => 1, |
|
200
|
|
|
|
|
|
|
"DISCONNECT" => 1, |
|
201
|
|
|
|
|
|
|
"DISK" => 1, |
|
202
|
|
|
|
|
|
|
"DISPATCH" => 1, |
|
203
|
|
|
|
|
|
|
"DISTINCT" => 1, |
|
204
|
|
|
|
|
|
|
"DISTINCTROW" => 1, |
|
205
|
|
|
|
|
|
|
"DISTRIBUTED" => 1, |
|
206
|
|
|
|
|
|
|
"DIV" => 1, |
|
207
|
|
|
|
|
|
|
"DO" => 1, |
|
208
|
|
|
|
|
|
|
"DOMAIN" => 1, |
|
209
|
|
|
|
|
|
|
"DOUBLE" => 1, |
|
210
|
|
|
|
|
|
|
"DROP" => 1, |
|
211
|
|
|
|
|
|
|
"DUAL" => 1, |
|
212
|
|
|
|
|
|
|
"DUMMY" => 1, |
|
213
|
|
|
|
|
|
|
"DUMP" => 1, |
|
214
|
|
|
|
|
|
|
"DYNAMIC" => 1, |
|
215
|
|
|
|
|
|
|
"DYNAMIC_FUNCTION" => 1, |
|
216
|
|
|
|
|
|
|
"DYNAMIC_FUNCTION_CODE" => 1, |
|
217
|
|
|
|
|
|
|
"EACH" => 1, |
|
218
|
|
|
|
|
|
|
"ELEMENT" => 1, |
|
219
|
|
|
|
|
|
|
"ELSE" => 1, |
|
220
|
|
|
|
|
|
|
"ELSEIF" => 1, |
|
221
|
|
|
|
|
|
|
"ENABLE" => 1, |
|
222
|
|
|
|
|
|
|
"ENCLOSED" => 1, |
|
223
|
|
|
|
|
|
|
"ENCODING" => 1, |
|
224
|
|
|
|
|
|
|
"ENCRYPTED" => 1, |
|
225
|
|
|
|
|
|
|
"END" => 1, |
|
226
|
|
|
|
|
|
|
"END-EXEC" => 1, |
|
227
|
|
|
|
|
|
|
"ENUM" => 1, |
|
228
|
|
|
|
|
|
|
"EQUALS" => 1, |
|
229
|
|
|
|
|
|
|
"ERRLVL" => 1, |
|
230
|
|
|
|
|
|
|
"ESCAPE" => 1, |
|
231
|
|
|
|
|
|
|
"ESCAPED" => 1, |
|
232
|
|
|
|
|
|
|
"EVERY" => 1, |
|
233
|
|
|
|
|
|
|
"EXCEPT" => 1, |
|
234
|
|
|
|
|
|
|
"EXCEPTION" => 1, |
|
235
|
|
|
|
|
|
|
"EXCLUDE" => 1, |
|
236
|
|
|
|
|
|
|
"EXCLUDING" => 1, |
|
237
|
|
|
|
|
|
|
"EXCLUSIVE" => 1, |
|
238
|
|
|
|
|
|
|
"EXEC" => 1, |
|
239
|
|
|
|
|
|
|
"EXECUTE" => 1, |
|
240
|
|
|
|
|
|
|
"EXISTING" => 1, |
|
241
|
|
|
|
|
|
|
"EXISTS" => 1, |
|
242
|
|
|
|
|
|
|
"EXIT" => 1, |
|
243
|
|
|
|
|
|
|
"EXP" => 1, |
|
244
|
|
|
|
|
|
|
"EXPLAIN" => 1, |
|
245
|
|
|
|
|
|
|
"EXTERNAL" => 1, |
|
246
|
|
|
|
|
|
|
"EXTRACT" => 1, |
|
247
|
|
|
|
|
|
|
"FALSE" => 1, |
|
248
|
|
|
|
|
|
|
"FETCH" => 1, |
|
249
|
|
|
|
|
|
|
"FIELDS" => 1, |
|
250
|
|
|
|
|
|
|
"FILE" => 1, |
|
251
|
|
|
|
|
|
|
"FILLFACTOR" => 1, |
|
252
|
|
|
|
|
|
|
"FILTER" => 1, |
|
253
|
|
|
|
|
|
|
"FINAL" => 1, |
|
254
|
|
|
|
|
|
|
"FIRST" => 1, |
|
255
|
|
|
|
|
|
|
"FLOAT" => 1, |
|
256
|
|
|
|
|
|
|
"FLOAT4" => 1, |
|
257
|
|
|
|
|
|
|
"FLOAT8" => 1, |
|
258
|
|
|
|
|
|
|
"FLOOR" => 1, |
|
259
|
|
|
|
|
|
|
"FLUSH" => 1, |
|
260
|
|
|
|
|
|
|
"FOLLOWING" => 1, |
|
261
|
|
|
|
|
|
|
"FOR" => 1, |
|
262
|
|
|
|
|
|
|
"FORCE" => 1, |
|
263
|
|
|
|
|
|
|
"FOREIGN" => 1, |
|
264
|
|
|
|
|
|
|
"FORTRAN" => 1, |
|
265
|
|
|
|
|
|
|
"FORWARD" => 1, |
|
266
|
|
|
|
|
|
|
"FOUND" => 1, |
|
267
|
|
|
|
|
|
|
"FREE" => 1, |
|
268
|
|
|
|
|
|
|
"FREETEXT" => 1, |
|
269
|
|
|
|
|
|
|
"FREETEXTTABLE" => 1, |
|
270
|
|
|
|
|
|
|
"FREEZE" => 1, |
|
271
|
|
|
|
|
|
|
"FROM" => 1, |
|
272
|
|
|
|
|
|
|
"FULL" => 1, |
|
273
|
|
|
|
|
|
|
"FULLTEXT" => 1, |
|
274
|
|
|
|
|
|
|
"FUNCTION" => 1, |
|
275
|
|
|
|
|
|
|
"FUSION" => 1, |
|
276
|
|
|
|
|
|
|
"G" => 1, |
|
277
|
|
|
|
|
|
|
"GENERAL" => 1, |
|
278
|
|
|
|
|
|
|
"GENERATED" => 1, |
|
279
|
|
|
|
|
|
|
"GET" => 1, |
|
280
|
|
|
|
|
|
|
"GLOBAL" => 1, |
|
281
|
|
|
|
|
|
|
"GO" => 1, |
|
282
|
|
|
|
|
|
|
"GOTO" => 1, |
|
283
|
|
|
|
|
|
|
"GRANT" => 1, |
|
284
|
|
|
|
|
|
|
"GRANTED" => 1, |
|
285
|
|
|
|
|
|
|
"GRANTS" => 1, |
|
286
|
|
|
|
|
|
|
"GREATEST" => 1, |
|
287
|
|
|
|
|
|
|
"GROUP" => 1, |
|
288
|
|
|
|
|
|
|
"GROUPING" => 1, |
|
289
|
|
|
|
|
|
|
"HANDLER" => 1, |
|
290
|
|
|
|
|
|
|
"HAVING" => 1, |
|
291
|
|
|
|
|
|
|
"HEADER" => 1, |
|
292
|
|
|
|
|
|
|
"HEAP" => 1, |
|
293
|
|
|
|
|
|
|
"HIERARCHY" => 1, |
|
294
|
|
|
|
|
|
|
"HIGH_PRIORITY" => 1, |
|
295
|
|
|
|
|
|
|
"HOLD" => 1, |
|
296
|
|
|
|
|
|
|
"HOLDLOCK" => 1, |
|
297
|
|
|
|
|
|
|
"HOST" => 1, |
|
298
|
|
|
|
|
|
|
"HOSTS" => 1, |
|
299
|
|
|
|
|
|
|
"HOUR" => 1, |
|
300
|
|
|
|
|
|
|
"HOUR_MICROSECOND" => 1, |
|
301
|
|
|
|
|
|
|
"HOUR_MINUTE" => 1, |
|
302
|
|
|
|
|
|
|
"HOUR_SECOND" => 1, |
|
303
|
|
|
|
|
|
|
"IDENTIFIED" => 1, |
|
304
|
|
|
|
|
|
|
"IDENTITY" => 1, |
|
305
|
|
|
|
|
|
|
"IDENTITY_INSERT" => 1, |
|
306
|
|
|
|
|
|
|
"IDENTITYCOL" => 1, |
|
307
|
|
|
|
|
|
|
"IF" => 1, |
|
308
|
|
|
|
|
|
|
"IGNORE" => 1, |
|
309
|
|
|
|
|
|
|
"ILIKE" => 1, |
|
310
|
|
|
|
|
|
|
"IMMEDIATE" => 1, |
|
311
|
|
|
|
|
|
|
"IMMUTABLE" => 1, |
|
312
|
|
|
|
|
|
|
"IMPLEMENTATION" => 1, |
|
313
|
|
|
|
|
|
|
"IMPLICIT" => 1, |
|
314
|
|
|
|
|
|
|
"IN" => 1, |
|
315
|
|
|
|
|
|
|
"INCLUDE" => 1, |
|
316
|
|
|
|
|
|
|
"INCLUDING" => 1, |
|
317
|
|
|
|
|
|
|
"INCREMENT" => 1, |
|
318
|
|
|
|
|
|
|
"INDEX" => 1, |
|
319
|
|
|
|
|
|
|
"INDICATOR" => 1, |
|
320
|
|
|
|
|
|
|
"INFILE" => 1, |
|
321
|
|
|
|
|
|
|
"INFIX" => 1, |
|
322
|
|
|
|
|
|
|
"INHERIT" => 1, |
|
323
|
|
|
|
|
|
|
"INHERITS" => 1, |
|
324
|
|
|
|
|
|
|
"INITIAL" => 1, |
|
325
|
|
|
|
|
|
|
"INITIALIZE" => 1, |
|
326
|
|
|
|
|
|
|
"INITIALLY" => 1, |
|
327
|
|
|
|
|
|
|
"INNER" => 1, |
|
328
|
|
|
|
|
|
|
"INOUT" => 1, |
|
329
|
|
|
|
|
|
|
"INPUT" => 1, |
|
330
|
|
|
|
|
|
|
"INSENSITIVE" => 1, |
|
331
|
|
|
|
|
|
|
"INSERT" => 1, |
|
332
|
|
|
|
|
|
|
"INSERT_ID" => 1, |
|
333
|
|
|
|
|
|
|
"INSTANCE" => 1, |
|
334
|
|
|
|
|
|
|
"INSTANTIABLE" => 1, |
|
335
|
|
|
|
|
|
|
"INSTEAD" => 1, |
|
336
|
|
|
|
|
|
|
"INT" => 1, |
|
337
|
|
|
|
|
|
|
"INT1" => 1, |
|
338
|
|
|
|
|
|
|
"INT2" => 1, |
|
339
|
|
|
|
|
|
|
"INT3" => 1, |
|
340
|
|
|
|
|
|
|
"INT4" => 1, |
|
341
|
|
|
|
|
|
|
"INT8" => 1, |
|
342
|
|
|
|
|
|
|
"INTEGER" => 1, |
|
343
|
|
|
|
|
|
|
"INTERSECT" => 1, |
|
344
|
|
|
|
|
|
|
"INTERSECTION" => 1, |
|
345
|
|
|
|
|
|
|
"INTERVAL" => 1, |
|
346
|
|
|
|
|
|
|
"INTO" => 1, |
|
347
|
|
|
|
|
|
|
"INVOKER" => 1, |
|
348
|
|
|
|
|
|
|
"IS" => 1, |
|
349
|
|
|
|
|
|
|
"ISAM" => 1, |
|
350
|
|
|
|
|
|
|
"ISNULL" => 1, |
|
351
|
|
|
|
|
|
|
"ISOLATION" => 1, |
|
352
|
|
|
|
|
|
|
"ITERATE" => 1, |
|
353
|
|
|
|
|
|
|
"JOIN" => 1, |
|
354
|
|
|
|
|
|
|
"K" => 1, |
|
355
|
|
|
|
|
|
|
"KEY" => 1, |
|
356
|
|
|
|
|
|
|
"KEY_MEMBER" => 1, |
|
357
|
|
|
|
|
|
|
"KEY_TYPE" => 1, |
|
358
|
|
|
|
|
|
|
"KEYS" => 1, |
|
359
|
|
|
|
|
|
|
"KILL" => 1, |
|
360
|
|
|
|
|
|
|
"LANCOMPILER" => 1, |
|
361
|
|
|
|
|
|
|
"LANGUAGE" => 1, |
|
362
|
|
|
|
|
|
|
"LARGE" => 1, |
|
363
|
|
|
|
|
|
|
"LAST" => 1, |
|
364
|
|
|
|
|
|
|
"LAST_INSERT_ID" => 1, |
|
365
|
|
|
|
|
|
|
"LATERAL" => 1, |
|
366
|
|
|
|
|
|
|
"LEADING" => 1, |
|
367
|
|
|
|
|
|
|
"LEAST" => 1, |
|
368
|
|
|
|
|
|
|
"LEAVE" => 1, |
|
369
|
|
|
|
|
|
|
"LEFT" => 1, |
|
370
|
|
|
|
|
|
|
"LENGTH" => 1, |
|
371
|
|
|
|
|
|
|
"LESS" => 1, |
|
372
|
|
|
|
|
|
|
"LEVEL" => 1, |
|
373
|
|
|
|
|
|
|
"LIKE" => 1, |
|
374
|
|
|
|
|
|
|
"LIMIT" => 1, |
|
375
|
|
|
|
|
|
|
"LINENO" => 1, |
|
376
|
|
|
|
|
|
|
"LINES" => 1, |
|
377
|
|
|
|
|
|
|
"LISTEN" => 1, |
|
378
|
|
|
|
|
|
|
"LN" => 1, |
|
379
|
|
|
|
|
|
|
"LOAD" => 1, |
|
380
|
|
|
|
|
|
|
"LOCAL" => 1, |
|
381
|
|
|
|
|
|
|
"LOCALTIME" => 1, |
|
382
|
|
|
|
|
|
|
"LOCALTIMESTAMP" => 1, |
|
383
|
|
|
|
|
|
|
"LOCATION" => 1, |
|
384
|
|
|
|
|
|
|
"LOCATOR" => 1, |
|
385
|
|
|
|
|
|
|
"LOCK" => 1, |
|
386
|
|
|
|
|
|
|
"LOGIN" => 1, |
|
387
|
|
|
|
|
|
|
"LOGS" => 1, |
|
388
|
|
|
|
|
|
|
"LONG" => 1, |
|
389
|
|
|
|
|
|
|
"LONGBLOB" => 1, |
|
390
|
|
|
|
|
|
|
"LONGTEXT" => 1, |
|
391
|
|
|
|
|
|
|
"LOOP" => 1, |
|
392
|
|
|
|
|
|
|
"LOW_PRIORITY" => 1, |
|
393
|
|
|
|
|
|
|
"LOWER" => 1, |
|
394
|
|
|
|
|
|
|
"M" => 1, |
|
395
|
|
|
|
|
|
|
"MAP" => 1, |
|
396
|
|
|
|
|
|
|
"MATCH" => 1, |
|
397
|
|
|
|
|
|
|
"MATCHED" => 1, |
|
398
|
|
|
|
|
|
|
"MAX" => 1, |
|
399
|
|
|
|
|
|
|
"MAX_ROWS" => 1, |
|
400
|
|
|
|
|
|
|
"MAXEXTENTS" => 1, |
|
401
|
|
|
|
|
|
|
"MAXVALUE" => 1, |
|
402
|
|
|
|
|
|
|
"MEDIUMBLOB" => 1, |
|
403
|
|
|
|
|
|
|
"MEDIUMINT" => 1, |
|
404
|
|
|
|
|
|
|
"MEDIUMTEXT" => 1, |
|
405
|
|
|
|
|
|
|
"MEMBER" => 1, |
|
406
|
|
|
|
|
|
|
"MERGE" => 1, |
|
407
|
|
|
|
|
|
|
"MESSAGE_LENGTH" => 1, |
|
408
|
|
|
|
|
|
|
"MESSAGE_OCTET_LENGTH" => 1, |
|
409
|
|
|
|
|
|
|
"MESSAGE_TEXT" => 1, |
|
410
|
|
|
|
|
|
|
"METHOD" => 1, |
|
411
|
|
|
|
|
|
|
"MIDDLEINT" => 1, |
|
412
|
|
|
|
|
|
|
"MIN" => 1, |
|
413
|
|
|
|
|
|
|
"MIN_ROWS" => 1, |
|
414
|
|
|
|
|
|
|
"MINUS" => 1, |
|
415
|
|
|
|
|
|
|
"MINUTE" => 1, |
|
416
|
|
|
|
|
|
|
"MINUTE_MICROSECOND" => 1, |
|
417
|
|
|
|
|
|
|
"MINUTE_SECOND" => 1, |
|
418
|
|
|
|
|
|
|
"MINVALUE" => 1, |
|
419
|
|
|
|
|
|
|
"MLSLABEL" => 1, |
|
420
|
|
|
|
|
|
|
"MOD" => 1, |
|
421
|
|
|
|
|
|
|
"MODE" => 1, |
|
422
|
|
|
|
|
|
|
"MODIFIES" => 1, |
|
423
|
|
|
|
|
|
|
"MODIFY" => 1, |
|
424
|
|
|
|
|
|
|
"MODULE" => 1, |
|
425
|
|
|
|
|
|
|
"MONTH" => 1, |
|
426
|
|
|
|
|
|
|
"MONTHNAME" => 1, |
|
427
|
|
|
|
|
|
|
"MORE" => 1, |
|
428
|
|
|
|
|
|
|
"MOVE" => 1, |
|
429
|
|
|
|
|
|
|
"MULTISET" => 1, |
|
430
|
|
|
|
|
|
|
"MUMPS" => 1, |
|
431
|
|
|
|
|
|
|
"MYISAM" => 1, |
|
432
|
|
|
|
|
|
|
"NAME" => 1, |
|
433
|
|
|
|
|
|
|
"NAMES" => 1, |
|
434
|
|
|
|
|
|
|
"NATIONAL" => 1, |
|
435
|
|
|
|
|
|
|
"NATURAL" => 1, |
|
436
|
|
|
|
|
|
|
"NCHAR" => 1, |
|
437
|
|
|
|
|
|
|
"NCLOB" => 1, |
|
438
|
|
|
|
|
|
|
"NESTING" => 1, |
|
439
|
|
|
|
|
|
|
"NEW" => 1, |
|
440
|
|
|
|
|
|
|
"NEXT" => 1, |
|
441
|
|
|
|
|
|
|
"NO" => 1, |
|
442
|
|
|
|
|
|
|
"NO_WRITE_TO_BINLOG" => 1, |
|
443
|
|
|
|
|
|
|
"NOAUDIT" => 1, |
|
444
|
|
|
|
|
|
|
"NOCHECK" => 1, |
|
445
|
|
|
|
|
|
|
"NOCOMPRESS" => 1, |
|
446
|
|
|
|
|
|
|
"NOCREATEDB" => 1, |
|
447
|
|
|
|
|
|
|
"NOCREATEROLE" => 1, |
|
448
|
|
|
|
|
|
|
"NOCREATEUSER" => 1, |
|
449
|
|
|
|
|
|
|
"NOINHERIT" => 1, |
|
450
|
|
|
|
|
|
|
"NOLOGIN" => 1, |
|
451
|
|
|
|
|
|
|
"NONCLUSTERED" => 1, |
|
452
|
|
|
|
|
|
|
"NONE" => 1, |
|
453
|
|
|
|
|
|
|
"NORMALIZE" => 1, |
|
454
|
|
|
|
|
|
|
"NORMALIZED" => 1, |
|
455
|
|
|
|
|
|
|
"NOSUPERUSER" => 1, |
|
456
|
|
|
|
|
|
|
"NOT" => 1, |
|
457
|
|
|
|
|
|
|
"NOTHING" => 1, |
|
458
|
|
|
|
|
|
|
"NOTIFY" => 1, |
|
459
|
|
|
|
|
|
|
"NOTNULL" => 1, |
|
460
|
|
|
|
|
|
|
"NOWAIT" => 1, |
|
461
|
|
|
|
|
|
|
"NULL" => 1, |
|
462
|
|
|
|
|
|
|
"NULLABLE" => 1, |
|
463
|
|
|
|
|
|
|
"NULLIF" => 1, |
|
464
|
|
|
|
|
|
|
"NULLS" => 1, |
|
465
|
|
|
|
|
|
|
"NUMBER" => 1, |
|
466
|
|
|
|
|
|
|
"NUMERIC" => 1, |
|
467
|
|
|
|
|
|
|
"OBJECT" => 1, |
|
468
|
|
|
|
|
|
|
"OCTET_LENGTH" => 1, |
|
469
|
|
|
|
|
|
|
"OCTETS" => 1, |
|
470
|
|
|
|
|
|
|
"OF" => 1, |
|
471
|
|
|
|
|
|
|
"OFF" => 1, |
|
472
|
|
|
|
|
|
|
"OFFLINE" => 1, |
|
473
|
|
|
|
|
|
|
"OFFSET" => 1, |
|
474
|
|
|
|
|
|
|
"OFFSETS" => 1, |
|
475
|
|
|
|
|
|
|
"OIDS" => 1, |
|
476
|
|
|
|
|
|
|
"OLD" => 1, |
|
477
|
|
|
|
|
|
|
"ON" => 1, |
|
478
|
|
|
|
|
|
|
"ONLINE" => 1, |
|
479
|
|
|
|
|
|
|
"ONLY" => 1, |
|
480
|
|
|
|
|
|
|
"OPEN" => 1, |
|
481
|
|
|
|
|
|
|
"OPENDATASOURCE" => 1, |
|
482
|
|
|
|
|
|
|
"OPENQUERY" => 1, |
|
483
|
|
|
|
|
|
|
"OPENROWSET" => 1, |
|
484
|
|
|
|
|
|
|
"OPENXML" => 1, |
|
485
|
|
|
|
|
|
|
"OPERATION" => 1, |
|
486
|
|
|
|
|
|
|
"OPERATOR" => 1, |
|
487
|
|
|
|
|
|
|
"OPTIMIZE" => 1, |
|
488
|
|
|
|
|
|
|
"OPTION" => 1, |
|
489
|
|
|
|
|
|
|
"OPTIONALLY" => 1, |
|
490
|
|
|
|
|
|
|
"OPTIONS" => 1, |
|
491
|
|
|
|
|
|
|
"OR" => 1, |
|
492
|
|
|
|
|
|
|
"ORDER" => 1, |
|
493
|
|
|
|
|
|
|
"ORDERING" => 1, |
|
494
|
|
|
|
|
|
|
"ORDINALITY" => 1, |
|
495
|
|
|
|
|
|
|
"OTHERS" => 1, |
|
496
|
|
|
|
|
|
|
"OUT" => 1, |
|
497
|
|
|
|
|
|
|
"OUTER" => 1, |
|
498
|
|
|
|
|
|
|
"OUTFILE" => 1, |
|
499
|
|
|
|
|
|
|
"OUTPUT" => 1, |
|
500
|
|
|
|
|
|
|
"OVER" => 1, |
|
501
|
|
|
|
|
|
|
"OVERLAPS" => 1, |
|
502
|
|
|
|
|
|
|
"OVERLAY" => 1, |
|
503
|
|
|
|
|
|
|
"OVERRIDING" => 1, |
|
504
|
|
|
|
|
|
|
"OWNER" => 1, |
|
505
|
|
|
|
|
|
|
"PACK_KEYS" => 1, |
|
506
|
|
|
|
|
|
|
"PAD" => 1, |
|
507
|
|
|
|
|
|
|
"PARAMETER" => 1, |
|
508
|
|
|
|
|
|
|
"PARAMETER_MODE" => 1, |
|
509
|
|
|
|
|
|
|
"PARAMETER_NAME" => 1, |
|
510
|
|
|
|
|
|
|
"PARAMETER_ORDINAL_POSITION" => 1, |
|
511
|
|
|
|
|
|
|
"PARAMETER_SPECIFIC_CATALOG" => 1, |
|
512
|
|
|
|
|
|
|
"PARAMETER_SPECIFIC_NAME" => 1, |
|
513
|
|
|
|
|
|
|
"PARAMETER_SPECIFIC_SCHEMA" => 1, |
|
514
|
|
|
|
|
|
|
"PARAMETERS" => 1, |
|
515
|
|
|
|
|
|
|
"PARTIAL" => 1, |
|
516
|
|
|
|
|
|
|
"PARTITION" => 1, |
|
517
|
|
|
|
|
|
|
"PASCAL" => 1, |
|
518
|
|
|
|
|
|
|
"PASSWORD" => 1, |
|
519
|
|
|
|
|
|
|
"PATH" => 1, |
|
520
|
|
|
|
|
|
|
"PCTFREE" => 1, |
|
521
|
|
|
|
|
|
|
"PERCENT" => 1, |
|
522
|
|
|
|
|
|
|
"PERCENT_RANK" => 1, |
|
523
|
|
|
|
|
|
|
"PERCENTILE_CONT" => 1, |
|
524
|
|
|
|
|
|
|
"PERCENTILE_DISC" => 1, |
|
525
|
|
|
|
|
|
|
"PLACING" => 1, |
|
526
|
|
|
|
|
|
|
"PLAN" => 1, |
|
527
|
|
|
|
|
|
|
"PLI" => 1, |
|
528
|
|
|
|
|
|
|
"POSITION" => 1, |
|
529
|
|
|
|
|
|
|
"POSTFIX" => 1, |
|
530
|
|
|
|
|
|
|
"POWER" => 1, |
|
531
|
|
|
|
|
|
|
"PRECEDING" => 1, |
|
532
|
|
|
|
|
|
|
"PRECISION" => 1, |
|
533
|
|
|
|
|
|
|
"PREFIX" => 1, |
|
534
|
|
|
|
|
|
|
"PREORDER" => 1, |
|
535
|
|
|
|
|
|
|
"PREPARE" => 1, |
|
536
|
|
|
|
|
|
|
"PREPARED" => 1, |
|
537
|
|
|
|
|
|
|
"PRESERVE" => 1, |
|
538
|
|
|
|
|
|
|
"PRIMARY" => 1, |
|
539
|
|
|
|
|
|
|
"PRINT" => 1, |
|
540
|
|
|
|
|
|
|
"PRIOR" => 1, |
|
541
|
|
|
|
|
|
|
"PRIVILEGES" => 1, |
|
542
|
|
|
|
|
|
|
"PROC" => 1, |
|
543
|
|
|
|
|
|
|
"PROCEDURAL" => 1, |
|
544
|
|
|
|
|
|
|
"PROCEDURE" => 1, |
|
545
|
|
|
|
|
|
|
"PROCESS" => 1, |
|
546
|
|
|
|
|
|
|
"PROCESSLIST" => 1, |
|
547
|
|
|
|
|
|
|
"PUBLIC" => 1, |
|
548
|
|
|
|
|
|
|
"PURGE" => 1, |
|
549
|
|
|
|
|
|
|
"QUOTE" => 1, |
|
550
|
|
|
|
|
|
|
"RAID0" => 1, |
|
551
|
|
|
|
|
|
|
"RAISERROR" => 1, |
|
552
|
|
|
|
|
|
|
"RANGE" => 1, |
|
553
|
|
|
|
|
|
|
"RANK" => 1, |
|
554
|
|
|
|
|
|
|
"RAW" => 1, |
|
555
|
|
|
|
|
|
|
"READ" => 1, |
|
556
|
|
|
|
|
|
|
"READS" => 1, |
|
557
|
|
|
|
|
|
|
"READTEXT" => 1, |
|
558
|
|
|
|
|
|
|
"REAL" => 1, |
|
559
|
|
|
|
|
|
|
"RECHECK" => 1, |
|
560
|
|
|
|
|
|
|
"RECONFIGURE" => 1, |
|
561
|
|
|
|
|
|
|
"RECURSIVE" => 1, |
|
562
|
|
|
|
|
|
|
"REF" => 1, |
|
563
|
|
|
|
|
|
|
"REFERENCES" => 1, |
|
564
|
|
|
|
|
|
|
"REFERENCING" => 1, |
|
565
|
|
|
|
|
|
|
"REGEXP" => 1, |
|
566
|
|
|
|
|
|
|
"REGR_AVGX" => 1, |
|
567
|
|
|
|
|
|
|
"REGR_AVGY" => 1, |
|
568
|
|
|
|
|
|
|
"REGR_COUNT" => 1, |
|
569
|
|
|
|
|
|
|
"REGR_INTERCEPT" => 1, |
|
570
|
|
|
|
|
|
|
"REGR_R2" => 1, |
|
571
|
|
|
|
|
|
|
"REGR_SLOPE" => 1, |
|
572
|
|
|
|
|
|
|
"REGR_SXX" => 1, |
|
573
|
|
|
|
|
|
|
"REGR_SXY" => 1, |
|
574
|
|
|
|
|
|
|
"REGR_SYY" => 1, |
|
575
|
|
|
|
|
|
|
"REINDEX" => 1, |
|
576
|
|
|
|
|
|
|
"RELATIVE" => 1, |
|
577
|
|
|
|
|
|
|
"RELEASE" => 1, |
|
578
|
|
|
|
|
|
|
"RELOAD" => 1, |
|
579
|
|
|
|
|
|
|
"RENAME" => 1, |
|
580
|
|
|
|
|
|
|
"REPEAT" => 1, |
|
581
|
|
|
|
|
|
|
"REPEATABLE" => 1, |
|
582
|
|
|
|
|
|
|
"REPLACE" => 1, |
|
583
|
|
|
|
|
|
|
"REPLICATION" => 1, |
|
584
|
|
|
|
|
|
|
"REQUIRE" => 1, |
|
585
|
|
|
|
|
|
|
"RESET" => 1, |
|
586
|
|
|
|
|
|
|
"RESIGNAL" => 1, |
|
587
|
|
|
|
|
|
|
"RESOURCE" => 1, |
|
588
|
|
|
|
|
|
|
"RESTART" => 1, |
|
589
|
|
|
|
|
|
|
"RESTORE" => 1, |
|
590
|
|
|
|
|
|
|
"RESTRICT" => 1, |
|
591
|
|
|
|
|
|
|
"RESULT" => 1, |
|
592
|
|
|
|
|
|
|
"RETURN" => 1, |
|
593
|
|
|
|
|
|
|
"RETURNED_CARDINALITY" => 1, |
|
594
|
|
|
|
|
|
|
"RETURNED_LENGTH" => 1, |
|
595
|
|
|
|
|
|
|
"RETURNED_OCTET_LENGTH" => 1, |
|
596
|
|
|
|
|
|
|
"RETURNED_SQLSTATE" => 1, |
|
597
|
|
|
|
|
|
|
"RETURNS" => 1, |
|
598
|
|
|
|
|
|
|
"REVOKE" => 1, |
|
599
|
|
|
|
|
|
|
"RIGHT" => 1, |
|
600
|
|
|
|
|
|
|
"RLIKE" => 1, |
|
601
|
|
|
|
|
|
|
"ROLE" => 1, |
|
602
|
|
|
|
|
|
|
"ROLLBACK" => 1, |
|
603
|
|
|
|
|
|
|
"ROLLUP" => 1, |
|
604
|
|
|
|
|
|
|
"ROUTINE" => 1, |
|
605
|
|
|
|
|
|
|
"ROUTINE_CATALOG" => 1, |
|
606
|
|
|
|
|
|
|
"ROUTINE_NAME" => 1, |
|
607
|
|
|
|
|
|
|
"ROUTINE_SCHEMA" => 1, |
|
608
|
|
|
|
|
|
|
"ROW" => 1, |
|
609
|
|
|
|
|
|
|
"ROW_COUNT" => 1, |
|
610
|
|
|
|
|
|
|
"ROW_NUMBER" => 1, |
|
611
|
|
|
|
|
|
|
"ROWCOUNT" => 1, |
|
612
|
|
|
|
|
|
|
"ROWGUIDCOL" => 1, |
|
613
|
|
|
|
|
|
|
"ROWID" => 1, |
|
614
|
|
|
|
|
|
|
"ROWNUM" => 1, |
|
615
|
|
|
|
|
|
|
"ROWS" => 1, |
|
616
|
|
|
|
|
|
|
"RULE" => 1, |
|
617
|
|
|
|
|
|
|
"SAVE" => 1, |
|
618
|
|
|
|
|
|
|
"SAVEPOINT" => 1, |
|
619
|
|
|
|
|
|
|
"SCALE" => 1, |
|
620
|
|
|
|
|
|
|
"SCHEMA" => 1, |
|
621
|
|
|
|
|
|
|
"SCHEMA_NAME" => 1, |
|
622
|
|
|
|
|
|
|
"SCHEMAS" => 1, |
|
623
|
|
|
|
|
|
|
"SCOPE" => 1, |
|
624
|
|
|
|
|
|
|
"SCOPE_CATALOG" => 1, |
|
625
|
|
|
|
|
|
|
"SCOPE_NAME" => 1, |
|
626
|
|
|
|
|
|
|
"SCOPE_SCHEMA" => 1, |
|
627
|
|
|
|
|
|
|
"SCROLL" => 1, |
|
628
|
|
|
|
|
|
|
"SEARCH" => 1, |
|
629
|
|
|
|
|
|
|
"SECOND" => 1, |
|
630
|
|
|
|
|
|
|
"SECOND_MICROSECOND" => 1, |
|
631
|
|
|
|
|
|
|
"SECTION" => 1, |
|
632
|
|
|
|
|
|
|
"SECURITY" => 1, |
|
633
|
|
|
|
|
|
|
"SELECT" => 1, |
|
634
|
|
|
|
|
|
|
"SELF" => 1, |
|
635
|
|
|
|
|
|
|
"SENSITIVE" => 1, |
|
636
|
|
|
|
|
|
|
"SEPARATOR" => 1, |
|
637
|
|
|
|
|
|
|
"SEQUENCE" => 1, |
|
638
|
|
|
|
|
|
|
"SERIALIZABLE" => 1, |
|
639
|
|
|
|
|
|
|
"SERVER_NAME" => 1, |
|
640
|
|
|
|
|
|
|
"SESSION" => 1, |
|
641
|
|
|
|
|
|
|
"SESSION_USER" => 1, |
|
642
|
|
|
|
|
|
|
"SET" => 1, |
|
643
|
|
|
|
|
|
|
"SETOF" => 1, |
|
644
|
|
|
|
|
|
|
"SETS" => 1, |
|
645
|
|
|
|
|
|
|
"SETUSER" => 1, |
|
646
|
|
|
|
|
|
|
"SHARE" => 1, |
|
647
|
|
|
|
|
|
|
"SHOW" => 1, |
|
648
|
|
|
|
|
|
|
"SHUTDOWN" => 1, |
|
649
|
|
|
|
|
|
|
"SIGNAL" => 1, |
|
650
|
|
|
|
|
|
|
"SIMILAR" => 1, |
|
651
|
|
|
|
|
|
|
"SIMPLE" => 1, |
|
652
|
|
|
|
|
|
|
"SIZE" => 1, |
|
653
|
|
|
|
|
|
|
"SMALLINT" => 1, |
|
654
|
|
|
|
|
|
|
"SOME" => 1, |
|
655
|
|
|
|
|
|
|
"SONAME" => 1, |
|
656
|
|
|
|
|
|
|
"SOURCE" => 1, |
|
657
|
|
|
|
|
|
|
"SPACE" => 1, |
|
658
|
|
|
|
|
|
|
"SPATIAL" => 1, |
|
659
|
|
|
|
|
|
|
"SPECIFIC" => 1, |
|
660
|
|
|
|
|
|
|
"SPECIFIC_NAME" => 1, |
|
661
|
|
|
|
|
|
|
"SPECIFICTYPE" => 1, |
|
662
|
|
|
|
|
|
|
"SQL" => 1, |
|
663
|
|
|
|
|
|
|
"SQL_BIG_RESULT" => 1, |
|
664
|
|
|
|
|
|
|
"SQL_BIG_SELECTS" => 1, |
|
665
|
|
|
|
|
|
|
"SQL_BIG_TABLES" => 1, |
|
666
|
|
|
|
|
|
|
"SQL_CALC_FOUND_ROWS" => 1, |
|
667
|
|
|
|
|
|
|
"SQL_LOG_OFF" => 1, |
|
668
|
|
|
|
|
|
|
"SQL_LOG_UPDATE" => 1, |
|
669
|
|
|
|
|
|
|
"SQL_LOW_PRIORITY_UPDATES" => 1, |
|
670
|
|
|
|
|
|
|
"SQL_SELECT_LIMIT" => 1, |
|
671
|
|
|
|
|
|
|
"SQL_SMALL_RESULT" => 1, |
|
672
|
|
|
|
|
|
|
"SQL_WARNINGS" => 1, |
|
673
|
|
|
|
|
|
|
"SQLCA" => 1, |
|
674
|
|
|
|
|
|
|
"SQLCODE" => 1, |
|
675
|
|
|
|
|
|
|
"SQLERROR" => 1, |
|
676
|
|
|
|
|
|
|
"SQLEXCEPTION" => 1, |
|
677
|
|
|
|
|
|
|
"SQLSTATE" => 1, |
|
678
|
|
|
|
|
|
|
"SQLWARNING" => 1, |
|
679
|
|
|
|
|
|
|
"SQRT" => 1, |
|
680
|
|
|
|
|
|
|
"SSL" => 1, |
|
681
|
|
|
|
|
|
|
"STABLE" => 1, |
|
682
|
|
|
|
|
|
|
"START" => 1, |
|
683
|
|
|
|
|
|
|
"STARTING" => 1, |
|
684
|
|
|
|
|
|
|
"STATE" => 1, |
|
685
|
|
|
|
|
|
|
"STATEMENT" => 1, |
|
686
|
|
|
|
|
|
|
"STATIC" => 1, |
|
687
|
|
|
|
|
|
|
"STATISTICS" => 1, |
|
688
|
|
|
|
|
|
|
"STATUS" => 1, |
|
689
|
|
|
|
|
|
|
"STDDEV_POP" => 1, |
|
690
|
|
|
|
|
|
|
"STDDEV_SAMP" => 1, |
|
691
|
|
|
|
|
|
|
"STDIN" => 1, |
|
692
|
|
|
|
|
|
|
"STDOUT" => 1, |
|
693
|
|
|
|
|
|
|
"STORAGE" => 1, |
|
694
|
|
|
|
|
|
|
"STRAIGHT_JOIN" => 1, |
|
695
|
|
|
|
|
|
|
"STRICT" => 1, |
|
696
|
|
|
|
|
|
|
"STRING" => 1, |
|
697
|
|
|
|
|
|
|
"STRUCTURE" => 1, |
|
698
|
|
|
|
|
|
|
"STYLE" => 1, |
|
699
|
|
|
|
|
|
|
"SUBCLASS_ORIGIN" => 1, |
|
700
|
|
|
|
|
|
|
"SUBLIST" => 1, |
|
701
|
|
|
|
|
|
|
"SUBMULTISET" => 1, |
|
702
|
|
|
|
|
|
|
"SUBSTRING" => 1, |
|
703
|
|
|
|
|
|
|
"SUCCESSFUL" => 1, |
|
704
|
|
|
|
|
|
|
"SUM" => 1, |
|
705
|
|
|
|
|
|
|
"SUPERUSER" => 1, |
|
706
|
|
|
|
|
|
|
"SYMMETRIC" => 1, |
|
707
|
|
|
|
|
|
|
"SYNONYM" => 1, |
|
708
|
|
|
|
|
|
|
"SYSDATE" => 1, |
|
709
|
|
|
|
|
|
|
"SYSID" => 1, |
|
710
|
|
|
|
|
|
|
"SYSTEM" => 1, |
|
711
|
|
|
|
|
|
|
"SYSTEM_USER" => 1, |
|
712
|
|
|
|
|
|
|
"TABLE" => 1, |
|
713
|
|
|
|
|
|
|
"TABLE_NAME" => 1, |
|
714
|
|
|
|
|
|
|
"TABLES" => 1, |
|
715
|
|
|
|
|
|
|
"TABLESAMPLE" => 1, |
|
716
|
|
|
|
|
|
|
"TABLESPACE" => 1, |
|
717
|
|
|
|
|
|
|
"TEMP" => 1, |
|
718
|
|
|
|
|
|
|
"TEMPLATE" => 1, |
|
719
|
|
|
|
|
|
|
"TEMPORARY" => 1, |
|
720
|
|
|
|
|
|
|
"TERMINATE" => 1, |
|
721
|
|
|
|
|
|
|
"TERMINATED" => 1, |
|
722
|
|
|
|
|
|
|
"TEXT" => 1, |
|
723
|
|
|
|
|
|
|
"TEXTSIZE" => 1, |
|
724
|
|
|
|
|
|
|
"THAN" => 1, |
|
725
|
|
|
|
|
|
|
"THEN" => 1, |
|
726
|
|
|
|
|
|
|
"TIES" => 1, |
|
727
|
|
|
|
|
|
|
"TIME" => 1, |
|
728
|
|
|
|
|
|
|
"TIMESTAMP" => 1, |
|
729
|
|
|
|
|
|
|
"TIMEZONE_HOUR" => 1, |
|
730
|
|
|
|
|
|
|
"TIMEZONE_MINUTE" => 1, |
|
731
|
|
|
|
|
|
|
"TINYBLOB" => 1, |
|
732
|
|
|
|
|
|
|
"TINYINT" => 1, |
|
733
|
|
|
|
|
|
|
"TINYTEXT" => 1, |
|
734
|
|
|
|
|
|
|
"TO" => 1, |
|
735
|
|
|
|
|
|
|
"TOAST" => 1, |
|
736
|
|
|
|
|
|
|
"TOP" => 1, |
|
737
|
|
|
|
|
|
|
"TOP_LEVEL_COUNT" => 1, |
|
738
|
|
|
|
|
|
|
"TRAILING" => 1, |
|
739
|
|
|
|
|
|
|
"TRAN" => 1, |
|
740
|
|
|
|
|
|
|
"TRANSACTION" => 1, |
|
741
|
|
|
|
|
|
|
"TRANSACTION_ACTIVE" => 1, |
|
742
|
|
|
|
|
|
|
"TRANSACTIONS_COMMITTED" => 1, |
|
743
|
|
|
|
|
|
|
"TRANSACTIONS_ROLLED_BACK" => 1, |
|
744
|
|
|
|
|
|
|
"TRANSFORM" => 1, |
|
745
|
|
|
|
|
|
|
"TRANSFORMS" => 1, |
|
746
|
|
|
|
|
|
|
"TRANSLATE" => 1, |
|
747
|
|
|
|
|
|
|
"TRANSLATION" => 1, |
|
748
|
|
|
|
|
|
|
"TREAT" => 1, |
|
749
|
|
|
|
|
|
|
"TRIGGER" => 1, |
|
750
|
|
|
|
|
|
|
"TRIGGER_CATALOG" => 1, |
|
751
|
|
|
|
|
|
|
"TRIGGER_NAME" => 1, |
|
752
|
|
|
|
|
|
|
"TRIGGER_SCHEMA" => 1, |
|
753
|
|
|
|
|
|
|
"TRIM" => 1, |
|
754
|
|
|
|
|
|
|
"TRUE" => 1, |
|
755
|
|
|
|
|
|
|
"TRUNCATE" => 1, |
|
756
|
|
|
|
|
|
|
"TRUSTED" => 1, |
|
757
|
|
|
|
|
|
|
"TSEQUAL" => 1, |
|
758
|
|
|
|
|
|
|
"TYPE" => 1, |
|
759
|
|
|
|
|
|
|
"UESCAPE" => 1, |
|
760
|
|
|
|
|
|
|
"UID" => 1, |
|
761
|
|
|
|
|
|
|
"UNBOUNDED" => 1, |
|
762
|
|
|
|
|
|
|
"UNCOMMITTED" => 1, |
|
763
|
|
|
|
|
|
|
"UNDER" => 1, |
|
764
|
|
|
|
|
|
|
"UNDO" => 1, |
|
765
|
|
|
|
|
|
|
"UNENCRYPTED" => 1, |
|
766
|
|
|
|
|
|
|
"UNION" => 1, |
|
767
|
|
|
|
|
|
|
"UNIQUE" => 1, |
|
768
|
|
|
|
|
|
|
"UNKNOWN" => 1, |
|
769
|
|
|
|
|
|
|
"UNLISTEN" => 1, |
|
770
|
|
|
|
|
|
|
"UNLOCK" => 1, |
|
771
|
|
|
|
|
|
|
"UNNAMED" => 1, |
|
772
|
|
|
|
|
|
|
"UNNEST" => 1, |
|
773
|
|
|
|
|
|
|
"UNSIGNED" => 1, |
|
774
|
|
|
|
|
|
|
"UNTIL" => 1, |
|
775
|
|
|
|
|
|
|
"UPDATE" => 1, |
|
776
|
|
|
|
|
|
|
"UPDATETEXT" => 1, |
|
777
|
|
|
|
|
|
|
"UPPER" => 1, |
|
778
|
|
|
|
|
|
|
"USAGE" => 1, |
|
779
|
|
|
|
|
|
|
"USE" => 1, |
|
780
|
|
|
|
|
|
|
"USER" => 1, |
|
781
|
|
|
|
|
|
|
"USER_DEFINED_TYPE_CATALOG" => 1, |
|
782
|
|
|
|
|
|
|
"USER_DEFINED_TYPE_CODE" => 1, |
|
783
|
|
|
|
|
|
|
"USER_DEFINED_TYPE_NAME" => 1, |
|
784
|
|
|
|
|
|
|
"USER_DEFINED_TYPE_SCHEMA" => 1, |
|
785
|
|
|
|
|
|
|
"USING" => 1, |
|
786
|
|
|
|
|
|
|
"UTC_DATE" => 1, |
|
787
|
|
|
|
|
|
|
"UTC_TIME" => 1, |
|
788
|
|
|
|
|
|
|
"UTC_TIMESTAMP" => 1, |
|
789
|
|
|
|
|
|
|
"VACUUM" => 1, |
|
790
|
|
|
|
|
|
|
"VALID" => 1, |
|
791
|
|
|
|
|
|
|
"VALIDATE" => 1, |
|
792
|
|
|
|
|
|
|
"VALIDATOR" => 1, |
|
793
|
|
|
|
|
|
|
"VALUE" => 1, |
|
794
|
|
|
|
|
|
|
"VALUES" => 1, |
|
795
|
|
|
|
|
|
|
"VAR_POP" => 1, |
|
796
|
|
|
|
|
|
|
"VAR_SAMP" => 1, |
|
797
|
|
|
|
|
|
|
"VARBINARY" => 1, |
|
798
|
|
|
|
|
|
|
"VARCHAR" => 1, |
|
799
|
|
|
|
|
|
|
"VARCHAR2" => 1, |
|
800
|
|
|
|
|
|
|
"VARCHARACTER" => 1, |
|
801
|
|
|
|
|
|
|
"VARIABLE" => 1, |
|
802
|
|
|
|
|
|
|
"VARIABLES" => 1, |
|
803
|
|
|
|
|
|
|
"VARYING" => 1, |
|
804
|
|
|
|
|
|
|
"VERBOSE" => 1, |
|
805
|
|
|
|
|
|
|
"VIEW" => 1, |
|
806
|
|
|
|
|
|
|
"VOLATILE" => 1, |
|
807
|
|
|
|
|
|
|
"WAITFOR" => 1, |
|
808
|
|
|
|
|
|
|
"WHEN" => 1, |
|
809
|
|
|
|
|
|
|
"WHENEVER" => 1, |
|
810
|
|
|
|
|
|
|
"WHERE" => 1, |
|
811
|
|
|
|
|
|
|
"WHILE" => 1, |
|
812
|
|
|
|
|
|
|
"WIDTH_BUCKET" => 1, |
|
813
|
|
|
|
|
|
|
"WINDOW" => 1, |
|
814
|
|
|
|
|
|
|
"WITH" => 1, |
|
815
|
|
|
|
|
|
|
"WITHIN" => 1, |
|
816
|
|
|
|
|
|
|
"WITHOUT" => 1, |
|
817
|
|
|
|
|
|
|
"WORK" => 1, |
|
818
|
|
|
|
|
|
|
"WRITE" => 1, |
|
819
|
|
|
|
|
|
|
"WRITETEXT" => 1, |
|
820
|
|
|
|
|
|
|
"X509" => 1, |
|
821
|
|
|
|
|
|
|
"XOR" => 1, |
|
822
|
|
|
|
|
|
|
"YEAR" => 1, |
|
823
|
|
|
|
|
|
|
"YEAR_MONTH" => 1, |
|
824
|
|
|
|
|
|
|
"ZEROFILL" => 1, |
|
825
|
|
|
|
|
|
|
"ZONE" => 1, |
|
826
|
|
|
|
|
|
|
); |
|
827
|
|
|
|
|
|
|
|
|
828
|
|
|
|
|
|
|
|
|
829
|
|
|
|
|
|
|
sub fix_chars { |
|
830
|
14
|
|
|
14
|
1
|
16
|
my $w = shift; |
|
831
|
|
|
|
|
|
|
# print STDERR "Before: $w"; |
|
832
|
14
|
|
|
|
|
20
|
for ($w) { |
|
833
|
14
|
|
|
|
|
52
|
s/^\s+|\s+$//g; |
|
834
|
|
|
|
|
|
|
|
|
835
|
14
|
|
|
|
|
23
|
s/\-(\d+)/_minus_$1_/g; |
|
836
|
14
|
|
|
|
|
14
|
s/\&/_and_/g; |
|
837
|
14
|
|
|
|
|
12
|
s/\+/_plus_/g; |
|
838
|
14
|
|
|
|
|
15
|
s/\//_or_/g; |
|
839
|
14
|
|
|
|
|
13
|
s/\*/times/g; |
|
840
|
14
|
|
|
|
|
17
|
s/%/percent/g; |
|
841
|
14
|
|
|
|
|
41
|
s/#/nr/g; |
|
842
|
|
|
|
|
|
|
|
|
843
|
14
|
|
|
|
|
30
|
s/\-/_/g; |
|
844
|
14
|
|
|
|
|
99
|
s/\s/_/g; |
|
845
|
14
|
|
|
|
|
19
|
s/\://g; |
|
846
|
|
|
|
|
|
|
|
|
847
|
14
|
|
|
|
|
20
|
s/[()\'\.\"\:\;\,]+//g; |
|
848
|
|
|
|
|
|
|
|
|
849
|
14
|
|
|
|
|
18
|
s/\W/_/g; |
|
850
|
14
|
|
|
|
|
18
|
s/__+/_/g; |
|
851
|
|
|
|
|
|
|
|
|
852
|
14
|
|
|
|
|
15
|
s/^_//g; |
|
853
|
|
|
|
|
|
|
|
|
854
|
14
|
|
|
|
|
24
|
$_ = lc; |
|
855
|
|
|
|
|
|
|
} |
|
856
|
14
|
|
|
|
|
36
|
return $w |
|
857
|
|
|
|
|
|
|
} |
|
858
|
|
|
|
|
|
|
|
|
859
|
|
|
|
|
|
|
sub fix_ordinal { |
|
860
|
14
|
|
|
14
|
1
|
14
|
my $w = shift; |
|
861
|
14
|
|
|
|
|
29
|
for ($w) { |
|
862
|
14
|
|
|
|
|
95
|
my $NUMBER_RE = qr/\b(?:[+-]?)(?=\d|\.\d)\d*(?:\.\d*)?(?:[Ee](?:[+-]?\d+))?/; |
|
863
|
14
|
|
|
|
|
209
|
my $ORDINAL_NUMBER_RE = qr/($NUMBER_RE)(?:st|nd|rd|th)\b/; |
|
864
|
|
|
|
|
|
|
|
|
865
|
14
|
|
|
|
|
196
|
while (/($ORDINAL_NUMBER_RE)/) { |
|
866
|
5
|
|
|
|
|
20
|
my ($n) = ($1 =~ /(\d+)/); |
|
867
|
5
|
|
|
|
|
16
|
$n = num2en_ordinal($n); |
|
868
|
5
|
|
|
|
|
268
|
s/($ORDINAL_NUMBER_RE)/$n/; |
|
869
|
|
|
|
|
|
|
} |
|
870
|
|
|
|
|
|
|
} |
|
871
|
14
|
|
|
|
|
26
|
return $w |
|
872
|
|
|
|
|
|
|
}; |
|
873
|
|
|
|
|
|
|
|
|
874
|
|
|
|
|
|
|
sub fix_number { |
|
875
|
14
|
|
|
14
|
1
|
24
|
my $w = shift; |
|
876
|
14
|
|
|
|
|
22
|
for ($w) { |
|
877
|
14
|
100
|
|
|
|
45
|
if (/^(\d+)/) { |
|
878
|
4
|
|
|
|
|
24
|
my $num = num2en($1); |
|
879
|
4
|
|
|
|
|
214
|
s/^(\d+)/$num/; |
|
880
|
|
|
|
|
|
|
} |
|
881
|
|
|
|
|
|
|
} |
|
882
|
14
|
|
|
|
|
18
|
return $w; |
|
883
|
|
|
|
|
|
|
} |
|
884
|
|
|
|
|
|
|
|
|
885
|
|
|
|
|
|
|
sub fix_reserved { |
|
886
|
18
|
|
|
18
|
1
|
30
|
my $w = shift; |
|
887
|
18
|
100
|
|
|
|
82
|
$w = $rw{uc($w)} ? lc ($w) . '_' : lc($w); |
|
888
|
18
|
|
|
|
|
34
|
return $w; |
|
889
|
|
|
|
|
|
|
} |
|
890
|
|
|
|
|
|
|
|
|
891
|
|
|
|
|
|
|
sub fix_name { |
|
892
|
14
|
|
|
14
|
1
|
36
|
my $w = shift; |
|
893
|
14
|
|
|
|
|
32
|
for ($w) { |
|
894
|
14
|
|
|
|
|
26
|
$_ = fix_reserved($_); |
|
895
|
14
|
|
|
|
|
28
|
$_ = fix_ordinal($_); |
|
896
|
14
|
|
|
|
|
25
|
$_ = fix_number($_); |
|
897
|
14
|
|
|
|
|
25
|
$_ = fix_chars($_); |
|
898
|
|
|
|
|
|
|
} |
|
899
|
14
|
50
|
|
|
|
30
|
$w = camelize($w) if $camelize; |
|
900
|
14
|
|
|
|
|
53
|
return $w; |
|
901
|
|
|
|
|
|
|
} |
|
902
|
|
|
|
|
|
|
|
|
903
|
|
|
|
|
|
|
sub fix_names { |
|
904
|
0
|
|
|
0
|
1
|
|
my @w = @_; |
|
905
|
0
|
|
|
|
|
|
@w = map { fix_name($_) } @w; |
|
|
0
|
|
|
|
|
|
|
|
906
|
0
|
|
|
|
|
|
return @w; |
|
907
|
|
|
|
|
|
|
} |
|
908
|
|
|
|
|
|
|
|
|
909
|
|
|
|
|
|
|
1; |
|
910
|
|
|
|
|
|
|
|
|
911
|
|
|
|
|
|
|
#################### pod generated by Pod::Autopod - keep this line to make pod updates possible #################### |
|
912
|
|
|
|
|
|
|
|
|
913
|
|
|
|
|
|
|
=head1 NAME |
|
914
|
|
|
|
|
|
|
|
|
915
|
|
|
|
|
|
|
String::SQLColumnName |
|
916
|
|
|
|
|
|
|
|
|
917
|
|
|
|
|
|
|
|
|
918
|
|
|
|
|
|
|
=head1 DESCRIPTION |
|
919
|
|
|
|
|
|
|
|
|
920
|
|
|
|
|
|
|
ABSTRACT: Fix strings into valid SQL column names |
|
921
|
|
|
|
|
|
|
|
|
922
|
|
|
|
|
|
|
|
|
923
|
|
|
|
|
|
|
=head1 REQUIRES |
|
924
|
|
|
|
|
|
|
|
|
925
|
|
|
|
|
|
|
L |
|
926
|
|
|
|
|
|
|
|
|
927
|
|
|
|
|
|
|
L |
|
928
|
|
|
|
|
|
|
|
|
929
|
|
|
|
|
|
|
|
|
930
|
|
|
|
|
|
|
=head1 METHODS |
|
931
|
|
|
|
|
|
|
|
|
932
|
|
|
|
|
|
|
=head2 fix_chars |
|
933
|
|
|
|
|
|
|
|
|
934
|
|
|
|
|
|
|
fix_chars(); |
|
935
|
|
|
|
|
|
|
|
|
936
|
|
|
|
|
|
|
=head2 fix_name, fix_names |
|
937
|
|
|
|
|
|
|
|
|
938
|
|
|
|
|
|
|
fix_name(); |
|
939
|
|
|
|
|
|
|
|
|
940
|
|
|
|
|
|
|
fix_names(); |
|
941
|
|
|
|
|
|
|
|
|
942
|
|
|
|
|
|
|
=head2 fix_number |
|
943
|
|
|
|
|
|
|
|
|
944
|
|
|
|
|
|
|
fix_number('12 months'); # twelve_months |
|
945
|
|
|
|
|
|
|
fix_number('52 weeks total'); # fifty_two_weeks_total |
|
946
|
|
|
|
|
|
|
|
|
947
|
|
|
|
|
|
|
=head2 fix_ordinal |
|
948
|
|
|
|
|
|
|
|
|
949
|
|
|
|
|
|
|
fix_ordinal('1st_date'); # first_date |
|
950
|
|
|
|
|
|
|
|
|
951
|
|
|
|
|
|
|
=head2 fix_reserved |
|
952
|
|
|
|
|
|
|
|
|
953
|
|
|
|
|
|
|
fix_reserved('group'); # group_ |
|
954
|
|
|
|
|
|
|
|
|
955
|
|
|
|
|
|
|
|
|
956
|
|
|
|
|
|
|
=cut |
|
957
|
|
|
|
|
|
|
|