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.
- data/.gitignore +17 -0
- data/Gemfile +2 -0
- data/LICENSE.txt +22 -0
- data/README.md +28 -0
- data/Rakefile +15 -0
- data/impala.gemspec +25 -0
- data/lib/impala.rb +33 -0
- data/lib/impala/connection.rb +93 -0
- data/lib/impala/cursor.rb +86 -0
- data/lib/impala/protocol.rb +6 -0
- data/lib/impala/protocol/beeswax_constants.rb +14 -0
- data/lib/impala/protocol/beeswax_service.rb +747 -0
- data/lib/impala/protocol/beeswax_types.rb +192 -0
- data/lib/impala/protocol/data_constants.rb +12 -0
- data/lib/impala/protocol/data_sinks_constants.rb +12 -0
- data/lib/impala/protocol/data_sinks_types.rb +107 -0
- data/lib/impala/protocol/data_types.rb +77 -0
- data/lib/impala/protocol/descriptors_constants.rb +12 -0
- data/lib/impala/protocol/descriptors_types.rb +266 -0
- data/lib/impala/protocol/exprs_constants.rb +12 -0
- data/lib/impala/protocol/exprs_types.rb +345 -0
- data/lib/impala/protocol/facebook_service.rb +706 -0
- data/lib/impala/protocol/fb303_constants.rb +14 -0
- data/lib/impala/protocol/fb303_types.rb +24 -0
- data/lib/impala/protocol/frontend_constants.rb +12 -0
- data/lib/impala/protocol/frontend_types.rb +347 -0
- data/lib/impala/protocol/hive_metastore_constants.rb +52 -0
- data/lib/impala/protocol/hive_metastore_types.rb +697 -0
- data/lib/impala/protocol/impala_internal_service.rb +244 -0
- data/lib/impala/protocol/impala_internal_service_constants.rb +12 -0
- data/lib/impala/protocol/impala_internal_service_types.rb +362 -0
- data/lib/impala/protocol/impala_plan_service.rb +310 -0
- data/lib/impala/protocol/impala_plan_service_constants.rb +12 -0
- data/lib/impala/protocol/impala_plan_service_types.rb +36 -0
- data/lib/impala/protocol/impala_service.rb +260 -0
- data/lib/impala/protocol/impala_service_constants.rb +12 -0
- data/lib/impala/protocol/impala_service_types.rb +46 -0
- data/lib/impala/protocol/java_constants_constants.rb +42 -0
- data/lib/impala/protocol/java_constants_types.rb +14 -0
- data/lib/impala/protocol/opcodes_constants.rb +12 -0
- data/lib/impala/protocol/opcodes_types.rb +309 -0
- data/lib/impala/protocol/partitions_constants.rb +12 -0
- data/lib/impala/protocol/partitions_types.rb +44 -0
- data/lib/impala/protocol/plan_nodes_constants.rb +12 -0
- data/lib/impala/protocol/plan_nodes_types.rb +345 -0
- data/lib/impala/protocol/planner_constants.rb +12 -0
- data/lib/impala/protocol/planner_types.rb +78 -0
- data/lib/impala/protocol/runtime_profile_constants.rb +12 -0
- data/lib/impala/protocol/runtime_profile_types.rb +97 -0
- data/lib/impala/protocol/state_store_service.rb +244 -0
- data/lib/impala/protocol/state_store_service_constants.rb +12 -0
- data/lib/impala/protocol/state_store_service_types.rb +185 -0
- data/lib/impala/protocol/state_store_subscriber_service.rb +82 -0
- data/lib/impala/protocol/state_store_subscriber_service_constants.rb +12 -0
- data/lib/impala/protocol/state_store_subscriber_service_types.rb +67 -0
- data/lib/impala/protocol/statestore_types_constants.rb +12 -0
- data/lib/impala/protocol/statestore_types_types.rb +77 -0
- data/lib/impala/protocol/status_constants.rb +12 -0
- data/lib/impala/protocol/status_types.rb +44 -0
- data/lib/impala/protocol/thrift_hive_metastore.rb +4707 -0
- data/lib/impala/protocol/types_constants.rb +12 -0
- data/lib/impala/protocol/types_types.rb +86 -0
- data/lib/impala/version.rb +3 -0
- data/thrift/Data.thrift +52 -0
- data/thrift/DataSinks.thrift +61 -0
- data/thrift/Descriptors.thrift +115 -0
- data/thrift/Exprs.thrift +134 -0
- data/thrift/Frontend.thrift +193 -0
- data/thrift/ImpalaInternalService.thrift +265 -0
- data/thrift/ImpalaPlanService.thrift +44 -0
- data/thrift/ImpalaService.thrift +105 -0
- data/thrift/JavaConstants.thrift +60 -0
- data/thrift/Opcodes.thrift +317 -0
- data/thrift/Partitions.thrift +41 -0
- data/thrift/PlanNodes.thrift +184 -0
- data/thrift/Planner.thrift +72 -0
- data/thrift/RuntimeProfile.thrift +58 -0
- data/thrift/StateStoreService.thrift +121 -0
- data/thrift/StateStoreSubscriberService.thrift +64 -0
- data/thrift/StatestoreTypes.thrift +50 -0
- data/thrift/Status.thrift +31 -0
- data/thrift/Types.thrift +71 -0
- data/thrift/beeswax.thrift +175 -0
- data/thrift/fb303.thrift +112 -0
- data/thrift/hive_metastore.thrift +528 -0
- 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
|
+
|