cmdtree.idl
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:8k
源码类别:

模拟服务器

开发平台:

C/C++

  1. //-----------------------------------------------------------------------------
  2. // File: cmdtree.idl
  3. //
  4. // Copyright: Copyright (c) Microsoft Corporation          
  5. //
  6. // Contents:  OLE DB Command Tree
  7. //
  8. // Comments: 
  9. //
  10. //-----------------------------------------------------------------------------
  11. cpp_quote("//+---------------------------------------------------------------------------")
  12. cpp_quote("//")
  13. cpp_quote("//  Microsoft OLE DB")
  14. cpp_quote("//  Copyright (C) Microsoft Corporation, 1994 - 1999.")
  15. cpp_quote("//")
  16. cpp_quote("//----------------------------------------------------------------------------")
  17. cpp_quote("")
  18. cpp_quote("#ifdef _WIN64")
  19. cpp_quote("#include <pshpack8.h> // 8-byte structure packing")
  20. cpp_quote("#else")
  21. cpp_quote("#include <pshpack2.h> // 2-byte structure packing")
  22. cpp_quote("#endif")
  23. cpp_quote("")
  24. import "oledb.idl";
  25. [
  26.     uuid(0c733aac-2a1c-11ce-ade5-00aa0044773d),
  27.     pointer_default(unique)
  28. ]
  29. interface CommandTreeStructureDefinitions {
  30.     //
  31.     //  DBCOMMANDTREE related definitions
  32.     //
  33. typedef WORD DBCOMMANDOP;
  34. enum DBCOMMANDOPENUM {
  35.     DBOP_scalar_constant,
  36.     DBOP_DEFAULT,
  37.     DBOP_NULL,
  38.     DBOP_bookmark_name,
  39.     DBOP_catalog_name,
  40.     DBOP_column_name,
  41.     DBOP_schema_name,
  42.     DBOP_outall_name,
  43.     DBOP_qualifier_name,
  44.     DBOP_qualified_column_name,
  45.     DBOP_table_name,
  46.     DBOP_nested_table_name,
  47.     DBOP_nested_column_name,
  48.     DBOP_row,
  49.     DBOP_table,
  50.     DBOP_sort,
  51.     DBOP_distinct,
  52.     DBOP_distinct_order_preserving,
  53.     DBOP_alias,
  54.     DBOP_cross_join,
  55.     DBOP_union_join,
  56.     DBOP_inner_join,
  57.     DBOP_left_semi_join,
  58.     DBOP_right_semi_join,
  59.     DBOP_left_anti_semi_join,
  60.     DBOP_right_anti_semi_join,
  61.     DBOP_left_outer_join,
  62.     DBOP_right_outer_join,
  63.     DBOP_full_outer_join,
  64.     DBOP_natural_join,
  65.     DBOP_natural_left_outer_join,
  66.     DBOP_natural_right_outer_join,
  67.     DBOP_natural_full_outer_join,
  68.     DBOP_set_intersection,
  69.     DBOP_set_union,
  70.     DBOP_set_left_difference,
  71.     DBOP_set_right_difference,
  72.     DBOP_set_anti_difference,
  73.     DBOP_bag_intersection,
  74.     DBOP_bag_union,
  75.     DBOP_bag_left_difference,
  76.     DBOP_bag_right_difference,
  77.     DBOP_bag_anti_difference,
  78.     DBOP_division,
  79.     DBOP_relative_sampling,
  80.     DBOP_absolute_sampling,
  81.     DBOP_transitive_closure,
  82.     DBOP_recursive_union,
  83.     DBOP_aggregate,
  84.     DBOP_remote_table,
  85.     DBOP_select,
  86.     DBOP_order_preserving_select,
  87.     DBOP_project,
  88.     DBOP_project_order_preserving,
  89.     DBOP_top,
  90.     DBOP_top_percent,
  91.     DBOP_top_plus_ties,
  92.     DBOP_top_percent_plus_ties,
  93.     
  94.     DBOP_rank,
  95.     DBOP_rank_ties_equally,
  96.     DBOP_rank_ties_equally_and_skip,
  97.     DBOP_navigate,
  98.     DBOP_nesting,
  99.     DBOP_unnesting,
  100.     DBOP_nested_apply,
  101.     DBOP_cross_tab,
  102.     DBOP_is_NULL,
  103.     DBOP_is_NOT_NULL,
  104.     DBOP_equal,
  105.     DBOP_not_equal,
  106.     DBOP_less,
  107.     DBOP_less_equal,
  108.     DBOP_greater,
  109.     DBOP_greater_equal,
  110.     DBOP_equal_all,
  111.     DBOP_not_equal_all,
  112.     DBOP_less_all,
  113.     DBOP_less_equal_all,
  114.     DBOP_greater_all,
  115.     DBOP_greater_equal_all,
  116.     DBOP_equal_any,
  117.     DBOP_not_equal_any,
  118.     DBOP_less_any,
  119.     DBOP_less_equal_any,
  120.     DBOP_greater_any,
  121.     DBOP_greater_equal_any,
  122.     DBOP_anybits,
  123.     DBOP_allbits,
  124.     DBOP_anybits_any,
  125.     DBOP_allbits_any,
  126.     DBOP_anybits_all,
  127.     DBOP_allbits_all,
  128.     DBOP_between,
  129.     DBOP_between_unordered,
  130.     DBOP_match,
  131.     DBOP_match_unique,
  132.     DBOP_match_partial,
  133.     DBOP_match_partial_unique,
  134.     DBOP_match_full,
  135.     DBOP_match_full_unique,
  136.     DBOP_scalar_parameter,
  137.     DBOP_scalar_function,
  138.     DBOP_plus,
  139.     DBOP_minus,
  140.     DBOP_times,
  141.     DBOP_over,
  142.     DBOP_div,
  143.     DBOP_modulo,
  144.     DBOP_power,
  145.     DBOP_like,
  146.     DBOP_sounds_like,
  147.     DBOP_like_any,
  148.     DBOP_like_all,
  149.     DBOP_is_INVALID,
  150.     DBOP_is_TRUE,
  151.     DBOP_is_FALSE,
  152.     DBOP_and,
  153.     DBOP_or,
  154.     DBOP_xor,
  155.     DBOP_equivalent,
  156.     DBOP_not,
  157.     DBOP_implies,
  158.     DBOP_overlaps,
  159.     DBOP_case_condition,
  160.     DBOP_case_value,
  161.     DBOP_nullif,
  162.     DBOP_cast,
  163.     DBOP_coalesce,
  164.     DBOP_position,
  165.     DBOP_extract,
  166.     DBOP_char_length,
  167.     DBOP_octet_length,
  168.     DBOP_bit_length,
  169.     DBOP_substring,
  170.     DBOP_upper,
  171.     DBOP_lower,
  172.     DBOP_trim,
  173.     DBOP_translate,
  174.     DBOP_convert,
  175.     DBOP_string_concat,
  176.     DBOP_current_date,
  177.     DBOP_current_time,
  178.     DBOP_current_timestamp,
  179.     DBOP_content_select,
  180.     DBOP_content,
  181.     DBOP_content_freetext,
  182.     DBOP_content_proximity,
  183.     DBOP_content_vector_or,
  184.     DBOP_delete,
  185.     DBOP_update,
  186.     DBOP_insert,
  187.     DBOP_min,
  188.     DBOP_max,
  189.     DBOP_count,
  190.     DBOP_sum,
  191.     DBOP_avg,
  192.     DBOP_any_sample,
  193.     DBOP_stddev,
  194.     DBOP_stddev_pop,
  195.     DBOP_var,
  196.     DBOP_var_pop,
  197.     DBOP_first,
  198.     DBOP_last,
  199.     DBOP_in,
  200.     DBOP_exists,
  201.     DBOP_unique,
  202.     DBOP_subset,
  203.     DBOP_proper_subset,
  204.     DBOP_superset,
  205.     DBOP_proper_superset,
  206.     DBOP_disjoint,
  207.     DBOP_pass_through,
  208.     DBOP_defined_by_GUID,
  209.     DBOP_text_command,
  210.     DBOP_SQL_select,
  211.     DBOP_prior_command_tree,
  212.     DBOP_add_columns,
  213.     DBOP_column_list_anchor,
  214.     DBOP_column_list_element,
  215.     DBOP_command_list_anchor,
  216.     DBOP_command_list_element,
  217.     DBOP_from_list_anchor,
  218.     DBOP_from_list_element,
  219.     DBOP_project_list_anchor,
  220.     DBOP_project_list_element,
  221.     DBOP_row_list_anchor,
  222.     DBOP_row_list_element,
  223.     DBOP_scalar_list_anchor,
  224.     DBOP_scalar_list_element,
  225.     DBOP_set_list_anchor,
  226.     DBOP_set_list_element,
  227.     DBOP_sort_list_anchor,
  228.     DBOP_sort_list_element,
  229.     DBOP_alter_character_set,
  230.     DBOP_alter_collation,
  231.     DBOP_alter_domain,
  232.     DBOP_alter_index,
  233.     DBOP_alter_procedure,
  234.     DBOP_alter_schema,
  235.     DBOP_alter_table,
  236.     DBOP_alter_trigger,
  237.     DBOP_alter_view,
  238.     DBOP_coldef_list_anchor,
  239.     DBOP_coldef_list_element,
  240.     DBOP_create_assertion,
  241.     DBOP_create_character_set,
  242.     DBOP_create_collation,
  243.     DBOP_create_domain,
  244.     DBOP_create_index,
  245.     DBOP_create_procedure,
  246.     DBOP_create_schema,
  247.     DBOP_create_synonym,
  248.     DBOP_create_table,
  249.     DBOP_create_temporary_table,
  250.     DBOP_create_translation,
  251.     DBOP_create_trigger,
  252.     DBOP_create_view,
  253.     DBOP_drop_assertion,
  254.     DBOP_drop_character_set,
  255.     DBOP_drop_collation,
  256.     DBOP_drop_domain,
  257.     DBOP_drop_index,
  258.     DBOP_drop_procedure,
  259.     DBOP_drop_schema,
  260.     DBOP_drop_synonym,
  261.     DBOP_drop_table,
  262.     DBOP_drop_translation,
  263.     DBOP_drop_trigger,
  264.     DBOP_drop_view,
  265.     DBOP_foreign_key,
  266.     DBOP_grant_privileges,
  267.     DBOP_index_list_anchor,
  268.     DBOP_index_list_element,
  269.     DBOP_primary_key,
  270.     DBOP_property_list_anchor,
  271.     DBOP_property_list_element,
  272.     DBOP_referenced_table,
  273.     DBOP_rename_object,
  274.     DBOP_revoke_privileges,
  275.     DBOP_schema_authorization,
  276. // PPP -- nice duplicate here
  277. //  DBOP_schema_name,
  278.     DBOP_unique_key,
  279.     DBOP_scope_list_anchor,
  280.     DBOP_scope_list_element,
  281.     DBOP_content_table,
  282. };
  283. cpp_quote("#ifdef DBINITCONSTANTS")
  284. cpp_quote("extern const OLEDBDECLSPEC GUID DBGUID_LIKE_SQL                        = {0xc8b521f6,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  285. cpp_quote("extern const OLEDBDECLSPEC GUID DBGUID_LIKE_DOS                        = {0xc8b521f7,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  286. cpp_quote("extern const OLEDBDECLSPEC GUID DBGUID_LIKE_OFS                        = {0xc8b521f8,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  287. cpp_quote("extern const OLEDBDECLSPEC GUID DBGUID_LIKE_MAPI                       = {0xc8b521f9,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  288. cpp_quote("#else // !DBINITCONSTANTS")
  289. cpp_quote("extern const GUID DBGUID_LIKE_SQL;")
  290. cpp_quote("extern const GUID DBGUID_LIKE_DOS;")
  291. cpp_quote("extern const GUID DBGUID_LIKE_OFS;")
  292. cpp_quote("extern const GUID DBGUID_LIKE_MAPI;")
  293. cpp_quote("#endif // DBINITCONSTANTS")
  294. } // ComandTreeStructureDefinitions
  295. #include "cmdtre.idl"   // ICommandTree             : IUnknown
  296. #include "qrybas.idl"   // IQuery                   : ICommandTree
  297. cpp_quote("#include <poppack.h>     // restore original structure packing")