8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-24 21:23:04 +01:00
firebird-mirror/src/jrd/nod.h
2007-11-19 00:21:18 +00:00

199 lines
6.7 KiB
C

/*
* PROGRAM: JRD Access Method
* MODULE: nod.h
* DESCRIPTION: Runtime node types
*
* The contents of this file are subject to the Interbase Public
* License Version 1.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy
* of the License at http://www.Inprise.com/IPL.html
*
* Software distributed under the License is distributed on an
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
* or implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code was created by Inprise Corporation
* and its predecessors. Portions created by Inprise Corporation are
* Copyright (C) Inprise Corporation.
*
* All Rights Reserved.
* Contributor(s): ______________________________________.
* 2002.10.29 Nickolay Samofatov: Added support for savepoints
* Adriano dos Santos Fernandes
*/
NODE(nod_asn_list, asn_list, "")
NODE(nod_assignment, assignment, "")
NODE(nod_dcl_variable, declare, "")
NODE(nod_erase, erase, "")
NODE(nod_user_savepoint, user_savepoint, "SAVEPOINT")
NODE(nod_fetch, fetch, "")
NODE(nod_for, for, "")
NODE(nod_handler, handler, "")
NODE(nod_if, if, "")
NODE(nod_label, label, "")
NODE(nod_leave, leave, "")
NODE(nod_list, list, "")
NODE(nod_loop, loop, "")
NODE(nod_message, message, "")
NODE(nod_modify, modify, "")
NODE(nod_receive, receive, "")
NODE(nod_select, select, "")
NODE(nod_send, send, "")
NODE(nod_store, store, "")
NODE(nod_post, post, "")
NODE(nod_add, add, " + ")
NODE(nod_argument, argument, "")
NODE(nod_variable, variable, "")
NODE(nod_average, average, "AVG")
NODE(nod_concatenate, concatenate, " || ")
NODE(nod_count, count, "COUNT")
//NODE(nod_count2, count2, "COUNT")
NODE(nod_dbkey, dbkey, "ROWID")
NODE(nod_divide, divide, " / ")
NODE(nod_field, field, "")
NODE(nod_from, from, "")
NODE(nod_index, index, "")
NODE(nod_bit_and, bit_and, "")
NODE(nod_bit_or, bit_or, "")
NODE(nod_bit_in, bit_in, "")
NODE(nod_bit_dbkey, bit_dbkey, "")
NODE(nod_literal, literal, "")
NODE(nod_max, max, "MAX")
NODE(nod_min, min, "MIN")
NODE(nod_multiply, multiply, " * ")
NODE(nod_negate, negate, " -")
NODE(nod_function, function, "")
NODE(nod_scalar, scalar, "")
NODE(nod_user_name, UserId, "")
NODE(nod_gen_id, recnum, "")
NODE(nod_prot_mask, prot_mask, "")
NODE(nod_upcase, upcase, "UPPER")
NODE(nod_lock_state, lock_state, "")
NODE(nod_null, null, "NULL")
NODE(nod_substr, substr, "")
NODE(nod_subtract, subtract, " - ")
NODE(nod_total, total, "SUM")
NODE(nod_trim, trim, "")
NODE(nod_value_if, value_if, "")
NODE(nod_eql, eql, " = ")
NODE(nod_neq, neq, " != ")
NODE(nod_geq, geq, " >= ")
NODE(nod_gtr, gtr, " > ")
NODE(nod_lss, lss, " < ")
NODE(nod_leq, leq, " <= ")
NODE(nod_matches, matches, "")
NODE(nod_sleuth, sleuth, "")
NODE(nod_like, like, " LIKE ")
NODE(nod_contains, contains, "")
NODE(nod_missing, missing, " IS NULL")
NODE(nod_between, between, "")
NODE(nod_starts, starts, "")
NODE(nod_unique, unique, "")
NODE(nod_any, any, "")
NODE(nod_and, and, " AND ")
NODE(nod_or, or, " OR ")
NODE(nod_not, not, " NOT ")
NODE(nod_validate, validate, "")
NODE(nod_agg_count, agg_count, "")
NODE(nod_agg_max, agg_max, "")
NODE(nod_agg_max_indexed, agg_max_indexed, "")
NODE(nod_agg_min, agg_min, "")
NODE(nod_agg_min_indexed, agg_min_indexed, "")
NODE(nod_agg_total, agg_total, "")
NODE(nod_agg_average, agg_average, "")
NODE(nod_agg_count2, agg_count2, "")
NODE(nod_agg_count_distinct, agg_count_distinct, "")
NODE(nod_agg_total_distinct, agg_total_distinct, "")
NODE(nod_agg_average_distinct, agg_average_distinct, "")
NODE(nod_agg_list, agg_list, "")
NODE(nod_agg_list_distinct, agg_list_distinct, "")
NODE(nod_asb, AggregateSort, "")
NODE(nod_relation, relation, "")
NODE(nod_rse, RecordSelExpr, "")
NODE(nod_seek, seek, "")
NODE(nod_sort, sort, "")
NODE(nod_union, union, "")
NODE(nod_aggregate, aggregate, "")
NODE(nod_map, map, "")
NODE(nod_dependency, dependency, "")
NODE(nod_exec_proc, exec_proc, "")
NODE(nod_procedure, procedure, "")
NODE(nod_block, block, "")
NODE(nod_error_handler, error_handler, "")
NODE(nod_abort, abort, "")
NODE(nod_cast, cast, "CAST")
NODE(nod_nop, nop, "")
NODE(nod_start_savepoint, start_savepoint, "")
NODE(nod_end_savepoint, end_savepoint, "")
/* access plan stuff */
NODE(nod_plan, plan, "PLAN")
NODE(nod_merge, merge, "MERGE")
NODE(nod_join, join, "JOIN")
NODE(nod_sequential, sequential, "SEQUENTIAL")
NODE(nod_navigational, navigational, "NAVIGATIONAL")
NODE(nod_indices, indices, "INDICES")
NODE(nod_retrieve, retrieve, "RETRIEVE")
NODE(nod_relation2, relation2, "RELATION2")
NODE(nod_rid2, rid2, "RID2")
NODE(nod_set_generator, set_generator, "")
/* Required for NULL handling */
NODE(nod_ansi_any, ansi_any, "ANSI ANY")
NODE(nod_exists, exists, "EXISTS")
NODE(nod_rec_version, record_version, "RECORD VERSION")
NODE(nod_stall, stall, "SERVER STALL")
NODE(nod_ansi_all, ansi_all, "ANSI ALL")
/* Improved date handling */
NODE(nod_extract, extract, "EXTRACT")
NODE(nod_current_date, current_date, "CURRENT DATE")
NODE(nod_current_time, current_time, "CURRENT TIME")
NODE(nod_current_timestamp, current_timestamp, "CURRENT TIMESTAMP")
/* Additions for 64-bit integer support */
NODE(nod_add2, add2, " + ")
NODE(nod_subtract2, subtract2, " - ")
NODE(nod_multiply2, multiply2, " * ")
NODE(nod_divide2, divide2, " / ")
NODE(nod_agg_total2, agg_total, "")
NODE(nod_agg_average2, agg_average2, "")
NODE(nod_agg_total_distinct2, agg_total_distinct2, "")
NODE(nod_agg_average_distinct2, agg_average_distinct2, "")
NODE(nod_average2, average2, "AVG")
NODE(nod_gen_id2, recnum, "")
NODE(nod_set_generator2, set_generator, "")
NODE(nod_total2, total, "SUM")
NODE(nod_current_role, current_role, "")
NODE(nod_breakleave, breakleave, "")
/* EXECUTE STATEMENT */
NODE(nod_exec_sql, exec_sql, "EXECUTE STATEMENT")
/* Internal engine info */
NODE(nod_internal_info, internal_info, "INTERNAL INFO")
/* EXECUTE VARCHAR INTO ...*/
NODE(nod_exec_into, exec_sql_into, "EXECUTE VARCHAR INTO")
NODE(nod_dcl_cursor, declare_cursor, "DECLARE CURSOR")
NODE(nod_cursor_stmt, cursor_stmt, "CURSOR STATEMENT")
NODE(nod_lowcase, lowcase, "LOWER")
NODE(nod_equiv, equiv, " == ")
NODE(nod_strlen, strlen, "STRLEN")
NODE(nod_src_info, source_info, "")
NODE(nod_init_variable, init_variable, "")
NODE(nod_domain_validation, domain_validation, "")
NODE(nod_sys_function, sys_function, "")