impala 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. data/.gitignore +17 -0
  2. data/Gemfile +2 -0
  3. data/LICENSE.txt +22 -0
  4. data/README.md +28 -0
  5. data/Rakefile +15 -0
  6. data/impala.gemspec +25 -0
  7. data/lib/impala.rb +33 -0
  8. data/lib/impala/connection.rb +93 -0
  9. data/lib/impala/cursor.rb +86 -0
  10. data/lib/impala/protocol.rb +6 -0
  11. data/lib/impala/protocol/beeswax_constants.rb +14 -0
  12. data/lib/impala/protocol/beeswax_service.rb +747 -0
  13. data/lib/impala/protocol/beeswax_types.rb +192 -0
  14. data/lib/impala/protocol/data_constants.rb +12 -0
  15. data/lib/impala/protocol/data_sinks_constants.rb +12 -0
  16. data/lib/impala/protocol/data_sinks_types.rb +107 -0
  17. data/lib/impala/protocol/data_types.rb +77 -0
  18. data/lib/impala/protocol/descriptors_constants.rb +12 -0
  19. data/lib/impala/protocol/descriptors_types.rb +266 -0
  20. data/lib/impala/protocol/exprs_constants.rb +12 -0
  21. data/lib/impala/protocol/exprs_types.rb +345 -0
  22. data/lib/impala/protocol/facebook_service.rb +706 -0
  23. data/lib/impala/protocol/fb303_constants.rb +14 -0
  24. data/lib/impala/protocol/fb303_types.rb +24 -0
  25. data/lib/impala/protocol/frontend_constants.rb +12 -0
  26. data/lib/impala/protocol/frontend_types.rb +347 -0
  27. data/lib/impala/protocol/hive_metastore_constants.rb +52 -0
  28. data/lib/impala/protocol/hive_metastore_types.rb +697 -0
  29. data/lib/impala/protocol/impala_internal_service.rb +244 -0
  30. data/lib/impala/protocol/impala_internal_service_constants.rb +12 -0
  31. data/lib/impala/protocol/impala_internal_service_types.rb +362 -0
  32. data/lib/impala/protocol/impala_plan_service.rb +310 -0
  33. data/lib/impala/protocol/impala_plan_service_constants.rb +12 -0
  34. data/lib/impala/protocol/impala_plan_service_types.rb +36 -0
  35. data/lib/impala/protocol/impala_service.rb +260 -0
  36. data/lib/impala/protocol/impala_service_constants.rb +12 -0
  37. data/lib/impala/protocol/impala_service_types.rb +46 -0
  38. data/lib/impala/protocol/java_constants_constants.rb +42 -0
  39. data/lib/impala/protocol/java_constants_types.rb +14 -0
  40. data/lib/impala/protocol/opcodes_constants.rb +12 -0
  41. data/lib/impala/protocol/opcodes_types.rb +309 -0
  42. data/lib/impala/protocol/partitions_constants.rb +12 -0
  43. data/lib/impala/protocol/partitions_types.rb +44 -0
  44. data/lib/impala/protocol/plan_nodes_constants.rb +12 -0
  45. data/lib/impala/protocol/plan_nodes_types.rb +345 -0
  46. data/lib/impala/protocol/planner_constants.rb +12 -0
  47. data/lib/impala/protocol/planner_types.rb +78 -0
  48. data/lib/impala/protocol/runtime_profile_constants.rb +12 -0
  49. data/lib/impala/protocol/runtime_profile_types.rb +97 -0
  50. data/lib/impala/protocol/state_store_service.rb +244 -0
  51. data/lib/impala/protocol/state_store_service_constants.rb +12 -0
  52. data/lib/impala/protocol/state_store_service_types.rb +185 -0
  53. data/lib/impala/protocol/state_store_subscriber_service.rb +82 -0
  54. data/lib/impala/protocol/state_store_subscriber_service_constants.rb +12 -0
  55. data/lib/impala/protocol/state_store_subscriber_service_types.rb +67 -0
  56. data/lib/impala/protocol/statestore_types_constants.rb +12 -0
  57. data/lib/impala/protocol/statestore_types_types.rb +77 -0
  58. data/lib/impala/protocol/status_constants.rb +12 -0
  59. data/lib/impala/protocol/status_types.rb +44 -0
  60. data/lib/impala/protocol/thrift_hive_metastore.rb +4707 -0
  61. data/lib/impala/protocol/types_constants.rb +12 -0
  62. data/lib/impala/protocol/types_types.rb +86 -0
  63. data/lib/impala/version.rb +3 -0
  64. data/thrift/Data.thrift +52 -0
  65. data/thrift/DataSinks.thrift +61 -0
  66. data/thrift/Descriptors.thrift +115 -0
  67. data/thrift/Exprs.thrift +134 -0
  68. data/thrift/Frontend.thrift +193 -0
  69. data/thrift/ImpalaInternalService.thrift +265 -0
  70. data/thrift/ImpalaPlanService.thrift +44 -0
  71. data/thrift/ImpalaService.thrift +105 -0
  72. data/thrift/JavaConstants.thrift +60 -0
  73. data/thrift/Opcodes.thrift +317 -0
  74. data/thrift/Partitions.thrift +41 -0
  75. data/thrift/PlanNodes.thrift +184 -0
  76. data/thrift/Planner.thrift +72 -0
  77. data/thrift/RuntimeProfile.thrift +58 -0
  78. data/thrift/StateStoreService.thrift +121 -0
  79. data/thrift/StateStoreSubscriberService.thrift +64 -0
  80. data/thrift/StatestoreTypes.thrift +50 -0
  81. data/thrift/Status.thrift +31 -0
  82. data/thrift/Types.thrift +71 -0
  83. data/thrift/beeswax.thrift +175 -0
  84. data/thrift/fb303.thrift +112 -0
  85. data/thrift/hive_metastore.thrift +528 -0
  86. metadata +206 -0
@@ -0,0 +1,44 @@
1
+ // Copyright 2012 Cloudera Inc.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ namespace cpp impala
16
+ namespace java com.cloudera.impala.thrift
17
+ namespace rb Impala.Protocol
18
+
19
+ include "Frontend.thrift"
20
+
21
+ exception TImpalaPlanServiceException {
22
+ 1: string msg;
23
+ }
24
+
25
+ // We're running the Impala frontend as a service from which the backend
26
+ // test driver can get plans to run.
27
+ service ImpalaPlanService {
28
+ Frontend.TExecRequest CreateExecRequest(
29
+ 1:Frontend.TClientRequest clientRequest) throws (1:TImpalaPlanServiceException e);
30
+
31
+ // Force planservice to reload table metadata, in case it has changed due to e.g. an
32
+ // insert
33
+ void RefreshMetadata();
34
+
35
+ string GetExplainString(1:Frontend.TClientRequest queryRequest)
36
+ throws (1:TImpalaPlanServiceException e);
37
+
38
+ // Makes changes to the metastore - usually creates partitions as a result of an INSERT
39
+ // statement
40
+ void UpdateMetastore(1:Frontend.TCatalogUpdate update)
41
+ throws (1:TImpalaPlanServiceException e);
42
+
43
+ void ShutdownServer();
44
+ }
@@ -0,0 +1,105 @@
1
+ // Copyright 2012 Cloudera Inc.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ namespace cpp impala
16
+ namespace java com.cloudera.impala.thrift
17
+ namespace rb Impala.Protocol
18
+
19
+ include "Status.thrift"
20
+ include "beeswax.thrift"
21
+
22
+ // ImpalaService accepts query execution options through beeswax.Query.configuration in
23
+ // key:value form. For example, the list of strings could be:
24
+ // "num_nodes:1", "abort_on_error:false"
25
+ // The valid keys are listed in this enum. They map to TQueryOptions.
26
+ // Note: If you add an option or change the default, you also need to update:
27
+ // - JavaConstants.DEFAULT_QUERY_OPTIONS
28
+ // - ImpalaInternalService.thrift: TQueryOptions
29
+ // - ImpaladClientExecutor.getBeeswaxQueryConfigurations()
30
+ // - ImpalaServer::QueryToTClientRequest()
31
+ // - ImpalaServer::InitializeConfigVariables()
32
+ enum TImpalaQueryOptions {
33
+ // if true, abort execution on the first error
34
+ ABORT_ON_ERROR,
35
+
36
+ // maximum # of errors to be reported; Unspecified or 0 indicates backend default
37
+ MAX_ERRORS,
38
+
39
+ // if true, disable llvm codegen
40
+ DISABLE_CODEGEN,
41
+
42
+ // batch size to be used by backend; Unspecified or a size of 0 indicates backend
43
+ // default
44
+ BATCH_SIZE,
45
+
46
+ // specifies the degree of parallelism with which to execute the query;
47
+ // 1: single-node execution
48
+ // NUM_NODES_ALL: executes on all nodes that contain relevant data
49
+ // NUM_NODES_ALL_RACKS: executes on one node per rack that holds relevant data
50
+ // > 1: executes on at most that many nodes at any point in time (ie, there can be
51
+ // more nodes than numNodes with plan fragments for this query, but at most
52
+ // numNodes would be active at any point in time)
53
+ // Constants (NUM_NODES_ALL, NUM_NODES_ALL_RACKS) are defined in JavaConstants.thrift.
54
+ NUM_NODES,
55
+
56
+ // maximum length of the scan range; only applicable to HDFS scan range; Unspecified or
57
+ // a length of 0 indicates backend default;
58
+ MAX_SCAN_RANGE_LENGTH,
59
+
60
+ // Maximum number of io buffers (per disk)
61
+ MAX_IO_BUFFERS,
62
+
63
+ // Number of scanner threads.
64
+ NUM_SCANNER_THREADS,
65
+
66
+ // If true, Impala will try to execute on file formats that are not fully supported yet
67
+ ALLOW_UNSUPPORTED_FORMATS,
68
+
69
+ // if set and > -1, specifies the default limit applied to a top-level SELECT statement
70
+ // with an ORDER BY but without a LIMIT clause (ie, if the SELECT statement also has
71
+ // a LIMIT clause, this default is ignored)
72
+ DEFAULT_ORDER_BY_LIMIT,
73
+ }
74
+
75
+ // The summary of an insert.
76
+ struct TInsertResult {
77
+ // Number of appended rows per modified partition. Only applies to HDFS tables.
78
+ // The keys represent partitions to create, coded as k1=v1/k2=v2/k3=v3..., with the
79
+ // root in an unpartitioned table being the empty string.
80
+ 1: required map<string, i64> rows_appended
81
+ }
82
+
83
+ // For all rpc that return a TStatus as part of their result type,
84
+ // if the status_code field is set to anything other than OK, the contents
85
+ // of the remainder of the result type is undefined (typically not set)
86
+ service ImpalaService extends beeswax.BeeswaxService {
87
+ // Cancel execution of query. Returns RUNTIME_ERROR if query_id
88
+ // unknown.
89
+ // This terminates all threads running on behalf of this query at
90
+ // all nodes that were involved in the execution.
91
+ // Throws BeeswaxException if the query handle is invalid (this doesn't
92
+ // necessarily indicate an error: the query might have finished).
93
+ Status.TStatus Cancel(1:beeswax.QueryHandle query_id)
94
+ throws(1:beeswax.BeeswaxException error);
95
+
96
+ // Invalidates all catalog metadata, forcing a reload
97
+ Status.TStatus ResetCatalog();
98
+
99
+ // Closes the query handle and return the result summary of the insert.
100
+ TInsertResult CloseInsert(1:beeswax.QueryHandle handle)
101
+ throws(1:beeswax.QueryNotFoundException error, 2:beeswax.BeeswaxException error2);
102
+
103
+ // Client calls this RPC to verify that the server is an ImpalaService.
104
+ void PingImpalaService();
105
+ }
@@ -0,0 +1,60 @@
1
+ // Copyright 2012 Cloudera Inc.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ // Centralised store of constants that are shared between C++ and Java
16
+ // - Thrift compiles all constants into Constants.java, which means it
17
+ // gets overwritten if two separate files have constants.
18
+ // This is fixed in Thrift 0.9 - see THRIFT-1090
19
+
20
+ namespace cpp impala
21
+ namespace java com.cloudera.impala.thrift
22
+ namespace rb Impala.Protocol
23
+
24
+ include "Descriptors.thrift"
25
+ include "ImpalaService.thrift" // For TImpalaQueryOptions
26
+
27
+ // constants for TQueryOptions.num_nodes
28
+ const i32 NUM_NODES_ALL = 0
29
+ const i32 NUM_NODES_ALL_RACKS = -1
30
+
31
+ // constants for TPlanNodeId
32
+ const i32 INVALID_PLAN_NODE_ID = -1
33
+
34
+ // Constant default partition ID, must be < 0 to avoid collisions
35
+ const i64 DEFAULT_PARTITION_ID = -1;
36
+
37
+ // Mapping from names defined by Trevni to the enum.
38
+ // We permit gzip and bzip2 in addtion.
39
+ const map<string, Descriptors.THdfsCompression> COMPRESSION_MAP = {
40
+ "": Descriptors.THdfsCompression.NONE,
41
+ "none": Descriptors.THdfsCompression.NONE,
42
+ "deflate": Descriptors.THdfsCompression.DEFAULT,
43
+ "gzip": Descriptors.THdfsCompression.GZIP,
44
+ "bzip2": Descriptors.THdfsCompression.BZIP2,
45
+ "snappy": Descriptors.THdfsCompression.SNAPPY
46
+ }
47
+
48
+ // Default values for each query option in ImpalaService.TImpalaQueryOptions
49
+ const map<ImpalaService.TImpalaQueryOptions, string> DEFAULT_QUERY_OPTIONS = {
50
+ ImpalaService.TImpalaQueryOptions.ABORT_ON_ERROR : "false",
51
+ ImpalaService.TImpalaQueryOptions.MAX_ERRORS : "0",
52
+ ImpalaService.TImpalaQueryOptions.DISABLE_CODEGEN : "false",
53
+ ImpalaService.TImpalaQueryOptions.BATCH_SIZE : "0",
54
+ ImpalaService.TImpalaQueryOptions.NUM_NODES : "0",
55
+ ImpalaService.TImpalaQueryOptions.MAX_SCAN_RANGE_LENGTH : "0",
56
+ ImpalaService.TImpalaQueryOptions.MAX_IO_BUFFERS : "0"
57
+ ImpalaService.TImpalaQueryOptions.NUM_SCANNER_THREADS : "0"
58
+ ImpalaService.TImpalaQueryOptions.ALLOW_UNSUPPORTED_FORMATS : "false"
59
+ ImpalaService.TImpalaQueryOptions.DEFAULT_ORDER_BY_LIMIT : "-1"
60
+ }
@@ -0,0 +1,317 @@
1
+ // Copyright 2012 Cloudera Inc.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ // This is a generated file, DO NOT EDIT.
16
+ // To add new functions, see impala/common/function-registry/gen_opcodes.py
17
+
18
+ namespace cpp impala
19
+ namespace java com.cloudera.impala.thrift
20
+ namespace rb Impala.Protocol
21
+
22
+ enum TExprOpcode {
23
+ INVALID_OPCODE,
24
+ ADD_DOUBLE_DOUBLE,
25
+ ADD_LONG_LONG,
26
+ BITAND_CHAR_CHAR,
27
+ BITAND_INT_INT,
28
+ BITAND_LONG_LONG,
29
+ BITAND_SHORT_SHORT,
30
+ BITNOT_CHAR,
31
+ BITNOT_INT,
32
+ BITNOT_LONG,
33
+ BITNOT_SHORT,
34
+ BITOR_CHAR_CHAR,
35
+ BITOR_INT_INT,
36
+ BITOR_LONG_LONG,
37
+ BITOR_SHORT_SHORT,
38
+ BITXOR_CHAR_CHAR,
39
+ BITXOR_INT_INT,
40
+ BITXOR_LONG_LONG,
41
+ BITXOR_SHORT_SHORT,
42
+ CASE_BOOL,
43
+ CASE_CHAR,
44
+ CASE_DOUBLE,
45
+ CASE_FLOAT,
46
+ CASE_INT,
47
+ CASE_LONG,
48
+ CASE_SHORT,
49
+ CASE_STRINGVALUE,
50
+ CASE_TIMESTAMPVALUE,
51
+ CAST_BOOL_BOOL,
52
+ CAST_BOOL_CHAR,
53
+ CAST_BOOL_DOUBLE,
54
+ CAST_BOOL_FLOAT,
55
+ CAST_BOOL_INT,
56
+ CAST_BOOL_LONG,
57
+ CAST_BOOL_SHORT,
58
+ CAST_BOOL_STRINGVALUE,
59
+ CAST_BOOL_TIMESTAMPVALUE,
60
+ CAST_CHAR_BOOL,
61
+ CAST_CHAR_CHAR,
62
+ CAST_CHAR_DOUBLE,
63
+ CAST_CHAR_FLOAT,
64
+ CAST_CHAR_INT,
65
+ CAST_CHAR_LONG,
66
+ CAST_CHAR_SHORT,
67
+ CAST_CHAR_STRINGVALUE,
68
+ CAST_CHAR_TIMESTAMPVALUE,
69
+ CAST_DOUBLE_BOOL,
70
+ CAST_DOUBLE_CHAR,
71
+ CAST_DOUBLE_DOUBLE,
72
+ CAST_DOUBLE_FLOAT,
73
+ CAST_DOUBLE_INT,
74
+ CAST_DOUBLE_LONG,
75
+ CAST_DOUBLE_SHORT,
76
+ CAST_DOUBLE_STRINGVALUE,
77
+ CAST_DOUBLE_TIMESTAMPVALUE,
78
+ CAST_FLOAT_BOOL,
79
+ CAST_FLOAT_CHAR,
80
+ CAST_FLOAT_DOUBLE,
81
+ CAST_FLOAT_FLOAT,
82
+ CAST_FLOAT_INT,
83
+ CAST_FLOAT_LONG,
84
+ CAST_FLOAT_SHORT,
85
+ CAST_FLOAT_STRINGVALUE,
86
+ CAST_FLOAT_TIMESTAMPVALUE,
87
+ CAST_INT_BOOL,
88
+ CAST_INT_CHAR,
89
+ CAST_INT_DOUBLE,
90
+ CAST_INT_FLOAT,
91
+ CAST_INT_INT,
92
+ CAST_INT_LONG,
93
+ CAST_INT_SHORT,
94
+ CAST_INT_STRINGVALUE,
95
+ CAST_INT_TIMESTAMPVALUE,
96
+ CAST_LONG_BOOL,
97
+ CAST_LONG_CHAR,
98
+ CAST_LONG_DOUBLE,
99
+ CAST_LONG_FLOAT,
100
+ CAST_LONG_INT,
101
+ CAST_LONG_LONG,
102
+ CAST_LONG_SHORT,
103
+ CAST_LONG_STRINGVALUE,
104
+ CAST_LONG_TIMESTAMPVALUE,
105
+ CAST_SHORT_BOOL,
106
+ CAST_SHORT_CHAR,
107
+ CAST_SHORT_DOUBLE,
108
+ CAST_SHORT_FLOAT,
109
+ CAST_SHORT_INT,
110
+ CAST_SHORT_LONG,
111
+ CAST_SHORT_SHORT,
112
+ CAST_SHORT_STRINGVALUE,
113
+ CAST_SHORT_TIMESTAMPVALUE,
114
+ CAST_STRINGVALUE_CHAR,
115
+ CAST_STRINGVALUE_DOUBLE,
116
+ CAST_STRINGVALUE_FLOAT,
117
+ CAST_STRINGVALUE_INT,
118
+ CAST_STRINGVALUE_LONG,
119
+ CAST_STRINGVALUE_SHORT,
120
+ CAST_STRINGVALUE_TIMESTAMPVALUE,
121
+ CAST_TIMESTAMPVALUE_BOOL,
122
+ CAST_TIMESTAMPVALUE_CHAR,
123
+ CAST_TIMESTAMPVALUE_DOUBLE,
124
+ CAST_TIMESTAMPVALUE_FLOAT,
125
+ CAST_TIMESTAMPVALUE_INT,
126
+ CAST_TIMESTAMPVALUE_LONG,
127
+ CAST_TIMESTAMPVALUE_SHORT,
128
+ CAST_TIMESTAMPVALUE_STRINGVALUE,
129
+ COMPOUND_AND,
130
+ COMPOUND_NOT,
131
+ COMPOUND_OR,
132
+ CONDITIONAL_COALESCE_BOOL_VARARGS,
133
+ CONDITIONAL_COALESCE_DOUBLE_VARARGS,
134
+ CONDITIONAL_COALESCE_LONG_VARARGS,
135
+ CONDITIONAL_COALESCE_STRINGVALUE_VARARGS,
136
+ CONDITIONAL_COALESCE_TIMESTAMPVALUE_VARARGS,
137
+ CONDITIONAL_IF_BOOL_BOOL_BOOL,
138
+ CONDITIONAL_IF_BOOL_DOUBLE_DOUBLE,
139
+ CONDITIONAL_IF_BOOL_LONG_LONG,
140
+ CONDITIONAL_IF_BOOL_STRINGVALUE_STRINGVALUE,
141
+ CONDITIONAL_IF_BOOL_TIMESTAMPVALUE_TIMESTAMPVALUE,
142
+ CONSTANT_REGEX,
143
+ CONSTANT_SUBSTRING,
144
+ DIVIDE,
145
+ EQ_BOOL_BOOL,
146
+ EQ_CHAR_CHAR,
147
+ EQ_DOUBLE_DOUBLE,
148
+ EQ_FLOAT_FLOAT,
149
+ EQ_INT_INT,
150
+ EQ_LONG_LONG,
151
+ EQ_SHORT_SHORT,
152
+ EQ_STRINGVALUE_STRINGVALUE,
153
+ EQ_TIMESTAMPVALUE_TIMESTAMPVALUE,
154
+ FROM_UNIXTIME_INT,
155
+ FROM_UNIXTIME_INT_STRINGVALUE,
156
+ FROM_UTC_TIMESTAMP,
157
+ GE_BOOL_BOOL,
158
+ GE_CHAR_CHAR,
159
+ GE_DOUBLE_DOUBLE,
160
+ GE_FLOAT_FLOAT,
161
+ GE_INT_INT,
162
+ GE_LONG_LONG,
163
+ GE_SHORT_SHORT,
164
+ GE_STRINGVALUE_STRINGVALUE,
165
+ GE_TIMESTAMPVALUE_TIMESTAMPVALUE,
166
+ GT_BOOL_BOOL,
167
+ GT_CHAR_CHAR,
168
+ GT_DOUBLE_DOUBLE,
169
+ GT_FLOAT_FLOAT,
170
+ GT_INT_INT,
171
+ GT_LONG_LONG,
172
+ GT_SHORT_SHORT,
173
+ GT_STRINGVALUE_STRINGVALUE,
174
+ GT_TIMESTAMPVALUE_TIMESTAMPVALUE,
175
+ INT_DIVIDE_CHAR_CHAR,
176
+ INT_DIVIDE_INT_INT,
177
+ INT_DIVIDE_LONG_LONG,
178
+ INT_DIVIDE_SHORT_SHORT,
179
+ LE_BOOL_BOOL,
180
+ LE_CHAR_CHAR,
181
+ LE_DOUBLE_DOUBLE,
182
+ LE_FLOAT_FLOAT,
183
+ LE_INT_INT,
184
+ LE_LONG_LONG,
185
+ LE_SHORT_SHORT,
186
+ LE_STRINGVALUE_STRINGVALUE,
187
+ LE_TIMESTAMPVALUE_TIMESTAMPVALUE,
188
+ LIKE,
189
+ LT_BOOL_BOOL,
190
+ LT_CHAR_CHAR,
191
+ LT_DOUBLE_DOUBLE,
192
+ LT_FLOAT_FLOAT,
193
+ LT_INT_INT,
194
+ LT_LONG_LONG,
195
+ LT_SHORT_SHORT,
196
+ LT_STRINGVALUE_STRINGVALUE,
197
+ LT_TIMESTAMPVALUE_TIMESTAMPVALUE,
198
+ MATH_ABS,
199
+ MATH_ACOS,
200
+ MATH_ASIN,
201
+ MATH_ATAN,
202
+ MATH_BIN,
203
+ MATH_CEIL,
204
+ MATH_CONV_LONG_CHAR_CHAR,
205
+ MATH_CONV_STRINGVALUE_CHAR_CHAR,
206
+ MATH_COS,
207
+ MATH_DEGREES,
208
+ MATH_E,
209
+ MATH_EXP,
210
+ MATH_FLOOR,
211
+ MATH_HEX_LONG,
212
+ MATH_HEX_STRINGVALUE,
213
+ MATH_LN,
214
+ MATH_LOG,
215
+ MATH_LOG10,
216
+ MATH_LOG2,
217
+ MATH_NEGATIVE_DOUBLE,
218
+ MATH_NEGATIVE_LONG,
219
+ MATH_PI,
220
+ MATH_PMOD_DOUBLE_DOUBLE,
221
+ MATH_PMOD_LONG_LONG,
222
+ MATH_POSITIVE_DOUBLE,
223
+ MATH_POSITIVE_LONG,
224
+ MATH_POW,
225
+ MATH_RADIANS,
226
+ MATH_RAND,
227
+ MATH_RAND_INT,
228
+ MATH_ROUND_DOUBLE,
229
+ MATH_ROUND_DOUBLE_INT,
230
+ MATH_SIGN,
231
+ MATH_SIN,
232
+ MATH_SQRT,
233
+ MATH_TAN,
234
+ MATH_UNHEX,
235
+ MOD_CHAR_CHAR,
236
+ MOD_INT_INT,
237
+ MOD_LONG_LONG,
238
+ MOD_SHORT_SHORT,
239
+ MULTIPLY_DOUBLE_DOUBLE,
240
+ MULTIPLY_LONG_LONG,
241
+ NE_BOOL_BOOL,
242
+ NE_CHAR_CHAR,
243
+ NE_DOUBLE_DOUBLE,
244
+ NE_FLOAT_FLOAT,
245
+ NE_INT_INT,
246
+ NE_LONG_LONG,
247
+ NE_SHORT_SHORT,
248
+ NE_STRINGVALUE_STRINGVALUE,
249
+ NE_TIMESTAMPVALUE_TIMESTAMPVALUE,
250
+ REGEX,
251
+ STRING_ASCII,
252
+ STRING_CONCAT,
253
+ STRING_CONCAT_WS,
254
+ STRING_FIND_IN_SET,
255
+ STRING_INSTR,
256
+ STRING_LEFT,
257
+ STRING_LENGTH,
258
+ STRING_LOCATE_STRINGVALUE_STRINGVALUE,
259
+ STRING_LOCATE_STRINGVALUE_STRINGVALUE_INT,
260
+ STRING_LOWER,
261
+ STRING_LPAD,
262
+ STRING_LTRIM,
263
+ STRING_PARSE_URL_STRINGVALUE_STRINGVALUE,
264
+ STRING_PARSE_URL_STRINGVALUE_STRINGVALUE_STRINGVALUE,
265
+ STRING_REGEXP_EXTRACT,
266
+ STRING_REGEXP_REPLACE,
267
+ STRING_REPEAT,
268
+ STRING_REVERSE,
269
+ STRING_RIGHT,
270
+ STRING_RPAD,
271
+ STRING_RTRIM,
272
+ STRING_SPACE,
273
+ STRING_SUBSTRING_STRINGVALUE_INT,
274
+ STRING_SUBSTRING_STRINGVALUE_INT_INT,
275
+ STRING_TRIM,
276
+ STRING_UPPER,
277
+ SUBTRACT_DOUBLE_DOUBLE,
278
+ SUBTRACT_LONG_LONG,
279
+ TIMESTAMP_DAY,
280
+ TIMESTAMP_DAYOFMONTH,
281
+ TIMESTAMP_DAYS_ADD,
282
+ TIMESTAMP_DAYS_SUB,
283
+ TIMESTAMP_DIFF,
284
+ TIMESTAMP_HOUR,
285
+ TIMESTAMP_HOURS_ADD,
286
+ TIMESTAMP_HOURS_SUB,
287
+ TIMESTAMP_MICROSECONDS_ADD,
288
+ TIMESTAMP_MICROSECONDS_SUB,
289
+ TIMESTAMP_MILLISECONDS_ADD,
290
+ TIMESTAMP_MILLISECONDS_SUB,
291
+ TIMESTAMP_MINUTE,
292
+ TIMESTAMP_MINUTES_ADD,
293
+ TIMESTAMP_MINUTES_SUB,
294
+ TIMESTAMP_MONTH,
295
+ TIMESTAMP_MONTHS_ADD,
296
+ TIMESTAMP_MONTHS_SUB,
297
+ TIMESTAMP_NANOSECONDS_ADD,
298
+ TIMESTAMP_NANOSECONDS_SUB,
299
+ TIMESTAMP_NOW,
300
+ TIMESTAMP_SECOND,
301
+ TIMESTAMP_SECONDS_ADD,
302
+ TIMESTAMP_SECONDS_SUB,
303
+ TIMESTAMP_TO_DATE,
304
+ TIMESTAMP_WEEKOFYEAR,
305
+ TIMESTAMP_WEEKS_ADD,
306
+ TIMESTAMP_WEEKS_SUB,
307
+ TIMESTAMP_YEAR,
308
+ TIMESTAMP_YEARS_ADD,
309
+ TIMESTAMP_YEARS_SUB,
310
+ TO_UTC_TIMESTAMP,
311
+ UNIX_TIMESTAMP,
312
+ UNIX_TIMESTAMP_STRINGVALUE_STRINGVALUE,
313
+ UNIX_TIMESTAMP_TIMESTAMPVALUE,
314
+ UTILITY_VERSION,
315
+ LAST_OPCODE,
316
+ }
317
+