digraph "tds_bcp_start"
{
 // LATEX_PDF_SIZE
  bgcolor="transparent";
  edge [fontname=Helvetica,fontsize=10,labelfontname=Helvetica,labelfontsize=10];
  node [fontname=Helvetica,fontsize=10,shape=box,height=0.2,width=0.4];
  rankdir="LR";
  Node1 [id="Node000001",label="tds_bcp_start",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Start sending BCP data to server."];
  Node1 -> Node2 [id="edge1_Node000001_Node000002",color="steelblue1",style="solid",tooltip=" "];
  Node2 [id="Node000002",label="tds7_bcp_send_colmetadata",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00254.html#a4daaa551e54dbd978650e2eef89e09ff",tooltip="Send BCP metadata to server."];
  Node2 -> Node3 [id="edge2_Node000002_Node000003",color="steelblue1",style="solid",tooltip=" "];
  Node3 [id="Node000003",label="tds_convert_string",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00590.html#gad5b76c688898b86984d09628f030d01c",tooltip="Convert a string in an allocated buffer."];
  Node3 -> Node4 [id="edge3_Node000003_Node000004",color="steelblue1",style="solid",tooltip=" "];
  Node4 [id="Node000004",label="tds_iconv",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00588.html#ga87db49044919f1bc84c0ff5e9ab00304",tooltip="Wrapper around iconv(3)."];
  Node2 -> Node7 [id="edge4_Node000002_Node000007",color="steelblue1",style="solid",tooltip=" "];
  Node7 [id="Node000007",label="tds_dstr_cstr",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00593.html#gac536f0e4d77d3cff5702719362ec1766",tooltip="Returns a C version (NUL terminated string) of dstr."];
  Node2 -> Node8 [id="edge5_Node000002_Node000008",color="steelblue1",style="solid",tooltip=" "];
  Node8 [id="Node000008",label="tds_dstr_len",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00593.html#ga396f139e4f886ac1b224a735138e73dd",tooltip="Returns the length of the string in bytes."];
  Node1 -> Node9 [id="edge6_Node000001_Node000009",color="steelblue1",style="solid",tooltip=" "];
  Node9 [id="Node000009",label="tds_process_simple\l_query",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00592.html#gaeeb1562044786ea17bea361ed83e6946",tooltip="Process results for simple query as \"SET TEXTSIZE\" or \"USE dbname\" If the statement returns results,..."];
  Node9 -> Node10 [id="edge7_Node000009_Node000010",color="steelblue1",style="solid",tooltip=" "];
  Node10 [id="Node000010",label="tds_process_tokens",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00592.html#gabfc9de1d1fe718818caf63a4be4035a6",tooltip="process all streams."];
  Node10 -> Node11 [id="edge8_Node000010_Node000011",color="steelblue1",style="solid",tooltip=" "];
  Node11 [id="Node000011",label="tds5_process_dyn_result2",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#gae688b515631141acfbc41bbb91c8b921",tooltip="Process new TDS 5.0 token for describing output parameters."];
  Node11 -> Node7 [id="edge9_Node000011_Node000007",color="steelblue1",style="solid",tooltip=" "];
  Node11 -> Node32 [id="edge10_Node000011_Node000032",color="steelblue1",style="solid",tooltip=" "];
  Node32 [id="Node000032",label="tds_get_byte",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00591.html#ga0cb72d3f6943795c39db1fa692be0a58",tooltip="Return a single byte from the input buffer."];
  Node10 -> Node35 [id="edge11_Node000010_Node000035",color="steelblue1",style="solid",tooltip=" "];
  Node35 [id="Node000035",label="tds5_process_result",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#ga547b2f48659f77a69aa802d861ac827d",tooltip="tds5_process_result() is the TDS 5.0 result set processing routine."];
  Node35 -> Node32 [id="edge12_Node000035_Node000032",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node38 [id="edge13_Node000010_Node000038",color="steelblue1",style="solid",tooltip=" "];
  Node38 [id="Node000038",label="tds5_process_result2",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#gabe2bdd5a41ce067cb31aef18ff81cb1c",tooltip="tds5_process_result2() is the new TDS 5.0 result set processing routine."];
  Node38 -> Node7 [id="edge14_Node000038_Node000007",color="steelblue1",style="solid",tooltip=" "];
  Node38 -> Node41 [id="edge15_Node000038_Node000041",color="steelblue1",style="solid",tooltip=" "];
  Node41 [id="Node000041",label="tds_dstr_isempty",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00593.html#ga197c6af67f2e7469d06c2aa055917b1e",tooltip="test if string is empty"];
  Node38 -> Node32 [id="edge16_Node000038_Node000032",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node42 [id="edge17_Node000010_Node000042",color="steelblue1",style="solid",tooltip=" "];
  Node42 [id="Node000042",label="tds7_process_compute\l_result",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#ga6728e344caa20aea1def85f58dea138b",tooltip="tds7_process_compute_result() processes compute result sets for TDS 7/8."];
  Node42 -> Node41 [id="edge18_Node000042_Node000041",color="steelblue1",style="solid",tooltip=" "];
  Node42 -> Node32 [id="edge19_Node000042_Node000032",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node46 [id="edge20_Node000010_Node000046",color="steelblue1",style="solid",tooltip=" "];
  Node46 [id="Node000046",label="tds7_process_result",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#gaca56fc22d65a24a96d1bef310ade73aa",tooltip="tds7_process_result() is the TDS 7.0 result set processing routine."];
  Node46 -> Node7 [id="edge21_Node000046_Node000007",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node23 [id="edge22_Node000010_Node000023",color="steelblue1",style="solid",tooltip=" "];
  Node23 [id="Node000023",label="tds_close_socket",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00591.html#ga3e3f76009fce5ceedb2f42bb2c9aed2e",tooltip="Close current socket."];
  Node10 -> Node32 [id="edge23_Node000010_Node000032",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node47 [id="edge24_Node000010_Node000047",color="steelblue1",style="solid",tooltip=" "];
  Node47 [id="Node000047",label="tds_peek",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00591.html#ga221e98a9c8be96ec6c8547891e1b53af",tooltip="Reads a byte from the TDS stream without removing it."];
  Node47 -> Node32 [id="edge25_Node000047_Node000032",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node48 [id="edge26_Node000010_Node000048",color="steelblue1",style="solid",tooltip=" "];
  Node48 [id="Node000048",label="tds_process_col_fmt",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#ga4e3dd9d3614f5f0433b78b761dd68741",tooltip="tds_process_col_fmt() is the other half of result set processing under TDS 4.2."];
  Node10 -> Node49 [id="edge27_Node000010_Node000049",color="steelblue1",style="solid",tooltip=" "];
  Node49 [id="Node000049",label="tds_process_col_name",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#ga905d2fa5e1b602817bd16bb0fcf9eadb",tooltip="tds_process_col_name() is one half of the result set under TDS 4.2 it contains all the column names,..."];
  Node10 -> Node53 [id="edge28_Node000010_Node000053",color="steelblue1",style="solid",tooltip=" "];
  Node53 [id="Node000053",label="tds_process_compute",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00592.html#ga6fcb37d5addebdc1af9f34ebc59fd7a8",tooltip="tds_process_compute() processes compute rows and places them in the row buffer."];
  Node10 -> Node54 [id="edge29_Node000010_Node000054",color="steelblue1",style="solid",tooltip=" "];
  Node54 [id="Node000054",label="tds_process_compute\l_names",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#gae5b3e01f3d665f9e377de091f46f1ab9",tooltip="tds_process_compute_names() processes compute result sets."];
  Node10 -> Node55 [id="edge30_Node000010_Node000055",color="steelblue1",style="solid",tooltip=" "];
  Node55 [id="Node000055",label="tds_process_compute\l_result",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#gae3368ea80d0d8b13791ceb13ee5f19c9",tooltip="tds_process_compute_result() processes compute result sets."];
  Node55 -> Node41 [id="edge31_Node000055_Node000041",color="steelblue1",style="solid",tooltip=" "];
  Node55 -> Node32 [id="edge32_Node000055_Node000032",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node56 [id="edge33_Node000010_Node000056",color="steelblue1",style="solid",tooltip=" "];
  Node56 [id="Node000056",label="tds_process_cursor\l_tokens",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#ga315d875d90c64d12d61fc9e33b4dee96",tooltip="Reads cursor command results."];
  Node56 -> Node32 [id="edge34_Node000056_Node000032",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node57 [id="edge35_Node000010_Node000057",color="steelblue1",style="solid",tooltip=" "];
  Node57 [id="Node000057",label="tds_process_default\l_tokens",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#ga39453d084f3f780ac4602d4abf2839f7",tooltip="tds_process_default_tokens() is a catch all function that is called to process tokens not known to ot..."];
  Node57 -> Node11 [id="edge36_Node000057_Node000011",color="steelblue1",style="solid",tooltip=" "];
  Node57 -> Node35 [id="edge37_Node000057_Node000035",color="steelblue1",style="solid",tooltip=" "];
  Node57 -> Node38 [id="edge38_Node000057_Node000038",color="steelblue1",style="solid",tooltip=" "];
  Node57 -> Node46 [id="edge39_Node000057_Node000046",color="steelblue1",style="solid",tooltip=" "];
  Node57 -> Node23 [id="edge40_Node000057_Node000023",color="steelblue1",style="solid",tooltip=" "];
  Node57 -> Node32 [id="edge41_Node000057_Node000032",color="steelblue1",style="solid",tooltip=" "];
  Node57 -> Node47 [id="edge42_Node000057_Node000047",color="steelblue1",style="solid",tooltip=" "];
  Node57 -> Node48 [id="edge43_Node000057_Node000048",color="steelblue1",style="solid",tooltip=" "];
  Node57 -> Node49 [id="edge44_Node000057_Node000049",color="steelblue1",style="solid",tooltip=" "];
  Node57 -> Node56 [id="edge45_Node000057_Node000056",color="steelblue1",style="solid",tooltip=" "];
  Node57 -> Node61 [id="edge46_Node000057_Node000061",color="steelblue1",style="solid",tooltip=" "];
  Node61 [id="Node000061",label="tds_process_dyn_result",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#ga416cf119c1d4a0fca27dc5b50c261358",tooltip="Process results from dynamic."];
  Node61 -> Node32 [id="edge47_Node000061_Node000032",color="steelblue1",style="solid",tooltip=" "];
  Node57 -> Node62 [id="edge48_Node000057_Node000062",color="steelblue1",style="solid",tooltip=" "];
  Node62 [id="Node000062",label="tds_process_end",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#ga6ee2e7af38af768611b8bf4b79c36f46",tooltip="tds_process_end() processes any of the DONE, DONEPROC, or DONEINPROC tokens."];
  Node57 -> Node84 [id="edge49_Node000057_Node000084",color="steelblue1",style="solid",tooltip=" "];
  Node84 [id="Node000084",label="tds_process_info",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#ga65a2316369529731732f200c190d05d6",tooltip="tds_process_info() is called for INFO, ERR, or EED tokens and is responsible for calling the CLI's me..."];
  Node84 -> Node7 [id="edge50_Node000084_Node000007",color="steelblue1",style="solid",tooltip=" "];
  Node84 -> Node32 [id="edge51_Node000084_Node000032",color="steelblue1",style="solid",tooltip=" "];
  Node84 -> Node57 [id="edge52_Node000084_Node000057",color="steelblue1",style="solid",tooltip=" "];
  Node84 -> Node85 [id="edge53_Node000084_Node000085",color="steelblue1",style="solid",tooltip=" "];
  Node85 [id="Node000085",label="tds_unget_byte",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00591.html#gad70d59fb317d098b0c9fd29dd77131a8",tooltip="Unget will always work as long as you don't call it twice in a row."];
  Node57 -> Node86 [id="edge54_Node000057_Node000086",color="steelblue1",style="solid",tooltip=" "];
  Node86 [id="Node000086",label="tds_process_nbcrow",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#gaf7264c9eb3aa7a73358a4c65f02d3d3c",tooltip="tds_process_nbcrow() processes rows and places them in the row buffer."];
  Node57 -> Node87 [id="edge55_Node000057_Node000087",color="steelblue1",style="solid",tooltip=" "];
  Node87 [id="Node000087",label="tds_process_param_result\l_tokens",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00592.html#ga9fdef8228d29cab7fa9098f07fa73fba",tooltip="Process parameters from networks."];
  Node87 -> Node32 [id="edge56_Node000087_Node000032",color="steelblue1",style="solid",tooltip=" "];
  Node87 -> Node88 [id="edge57_Node000087_Node000088",color="steelblue1",style="solid",tooltip=" "];
  Node88 [id="Node000088",label="tds_process_param_result",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#gacb3354443bcefe7a500a500a4904cc05",tooltip="process output parameters of a stored procedure."];
  Node88 -> Node7 [id="edge58_Node000088_Node000007",color="steelblue1",style="solid",tooltip=" "];
  Node88 -> Node41 [id="edge59_Node000088_Node000041",color="steelblue1",style="solid",tooltip=" "];
  Node87 -> Node85 [id="edge60_Node000087_Node000085",color="steelblue1",style="solid",tooltip=" "];
  Node57 -> Node92 [id="edge61_Node000057_Node000092",color="steelblue1",style="solid",tooltip=" "];
  Node92 [id="Node000092",label="tds_process_params\l_result_token",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00592.html#ga7b18c0911a9dc69939577b39eb64725d",tooltip="tds_process_params_result_token() processes params on TDS5."];
  Node57 -> Node93 [id="edge62_Node000057_Node000093",color="steelblue1",style="solid",tooltip=" "];
  Node93 [id="Node000093",label="tds_process_row",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00592.html#gaad814dd6e35aee8332035d06dc8b5d65",tooltip="tds_process_row() processes rows and places them in the row buffer."];
  Node57 -> Node94 [id="edge63_Node000057_Node000094",color="steelblue1",style="solid",tooltip=" "];
  Node94 [id="Node000094",label="tds_process_tabname",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#gaeec59bca9bd0c5388e245f0d19d9c81a",tooltip="Process list of table from network."];
  Node94 -> Node32 [id="edge64_Node000094_Node000032",color="steelblue1",style="solid",tooltip=" "];
  Node94 -> Node85 [id="edge65_Node000094_Node000085",color="steelblue1",style="solid",tooltip=" "];
  Node57 -> Node98 [id="edge66_Node000057_Node000098",color="steelblue1",style="solid",tooltip=" "];
  Node98 [id="Node000098",label="tds_token_name",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00592.html#ga7f24a7af985cd320788122e98072b7af",tooltip="Returns string representation for a given token type."];
  Node57 -> Node85 [id="edge67_Node000057_Node000085",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node61 [id="edge68_Node000010_Node000061",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node99 [id="edge69_Node000010_Node000099",color="steelblue1",style="solid",tooltip=" "];
  Node99 [id="Node000099",label="tds_process_dynamic",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00592.html#ga5cfc0340d8d717e67f60037e029b2142",tooltip="tds_process_dynamic() finds the element of the dyns array for the id"];
  Node99 -> Node32 [id="edge70_Node000099_Node000032",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node62 [id="edge71_Node000010_Node000062",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node84 [id="edge72_Node000010_Node000084",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node86 [id="edge73_Node000010_Node000086",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node88 [id="edge74_Node000010_Node000088",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node87 [id="edge75_Node000010_Node000087",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node92 [id="edge76_Node000010_Node000092",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node93 [id="edge77_Node000010_Node000093",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node94 [id="edge78_Node000010_Node000094",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node78 [id="edge79_Node000010_Node000078",color="steelblue1",style="solid",tooltip=" "];
  Node78 [id="Node000078",label="tds_set_cur_dyn",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00590.html#gae8b7db85af16701fc0604eb117cbd4e4",tooltip="Set current dynamic."];
  Node10 -> Node98 [id="edge80_Node000010_Node000098",color="steelblue1",style="solid",tooltip=" "];
  Node10 -> Node85 [id="edge81_Node000010_Node000085",color="steelblue1",style="solid",tooltip=" "];
  Node1 -> Node101 [id="edge82_Node000001_Node000101",color="steelblue1",style="solid",tooltip=" "];
  Node101 [id="Node000101",label="tds_submit_query",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00590.html#ga5a29ae7f99d089dc3cea85ec6ee5f3ab",tooltip="Sends a language string to the database server for processing."];
  Node101 -> Node102 [id="edge83_Node000101_Node000102",color="steelblue1",style="solid",tooltip=" "];
  Node102 [id="Node000102",label="tds_submit_query_params",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00590.html#ga95e0fccedc459a4404f496eec74a369a",tooltip="Sends a language string to the database server for processing."];
  Node102 -> Node103 [id="edge84_Node000102_Node000103",color="steelblue1",style="solid",tooltip=" "];
  Node103 [id="Node000103",label="tds5_fix_dot_query",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00590.html#ga8853354723094c8efcd87fabf675c64f",tooltip="Substitute ?-style placeholders with named (@param) ones."];
  Node103 -> Node104 [id="edge85_Node000103_Node000104",color="steelblue1",style="solid",tooltip=" "];
  Node104 [id="Node000104",label="tds_next_placeholder",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00590.html#ga8f3b00c34af2484eccb169e60a37dc36",tooltip="Get position of next placeholder."];
  Node102 -> Node107 [id="edge86_Node000102_Node000107",color="steelblue1",style="solid",tooltip=" "];
  Node107 [id="Node000107",label="tds5_put_params",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00590.html#ga4f1f0a4f77bc4ea1440dfdebc19a157c",tooltip="Send parameters to server."];
  Node107 -> Node108 [id="edge87_Node000107_Node000108",color="steelblue1",style="solid",tooltip=" "];
  Node108 [id="Node000108",label="tds_freeze_abort",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00591.html#ga7274d9c5dc75c58bb7d1f1c29e03a73e",tooltip="Discard all data written after the freeze."];
  Node107 -> Node109 [id="edge88_Node000107_Node000109",color="steelblue1",style="solid",tooltip=" "];
  Node109 [id="Node000109",label="tds_freeze_close",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00591.html#ga633f62fb8e5310abfa42c02fba9c6500",tooltip="Stop keeping data for this specific freeze."];
  Node107 -> Node110 [id="edge89_Node000107_Node000110",color="steelblue1",style="solid",tooltip=" "];
  Node110 [id="Node000110",label="tds_put_data",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00590.html#ga9fcc0a3932dcad530511395ef8a767fb",tooltip="Write data to wire."];
  Node107 -> Node111 [id="edge90_Node000107_Node000111",color="steelblue1",style="solid",tooltip=" "];
  Node111 [id="Node000111",label="tds_put_data_info",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00590.html#gafd74652c4722ddce4d642cc4209449d4",tooltip="Put data information to wire."];
  Node111 -> Node7 [id="edge91_Node000111_Node000007",color="steelblue1",style="solid",tooltip=" "];
  Node111 -> Node8 [id="edge92_Node000111_Node000008",color="steelblue1",style="solid",tooltip=" "];
  Node102 -> Node112 [id="edge93_Node000102_Node000112",color="steelblue1",style="solid",tooltip=" "];
  Node112 [id="Node000112",label="tds7_put_query_params",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00590.html#ga6e42b4a1d1d3898229ea2fe4afc2ecec",tooltip="Output params types and query (required by sp_prepare/sp_executesql/sp_prepexec)"];
  Node112 -> Node113 [id="edge94_Node000112_Node000113",color="steelblue1",style="solid",tooltip=" "];
  Node113 [id="Node000113",label="tds_count_placeholders\l_ucs2le",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00590.html#ga0cd19215e9169ea299a6c9cbf5b2fb60",tooltip="Count the number of placeholders ('?') in a query."];
  Node102 -> Node117 [id="edge95_Node000102_Node000117",color="steelblue1",style="solid",tooltip=" "];
  Node117 [id="Node000117",label="tds7_write_param_def\l_from_params",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00590.html#ga6513afd79629f7a928e1d3da9f56dee1",tooltip="Write string with parameters definition, useful for TDS7+."];
  Node117 -> Node7 [id="edge96_Node000117_Node000007",color="steelblue1",style="solid",tooltip=" "];
  Node117 -> Node41 [id="edge97_Node000117_Node000041",color="steelblue1",style="solid",tooltip=" "];
  Node117 -> Node8 [id="edge98_Node000117_Node000008",color="steelblue1",style="solid",tooltip=" "];
  Node117 -> Node108 [id="edge99_Node000117_Node000108",color="steelblue1",style="solid",tooltip=" "];
  Node102 -> Node120 [id="edge100_Node000102_Node000120",color="steelblue1",style="solid",tooltip=" "];
  Node120 [id="Node000120",label="tds7_write_param_def\l_from_query",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00590.html#ga24345856c16b15aa3e84459c2f551320",tooltip="Write string with parameters definition, useful for TDS7+."];
  Node120 -> Node113 [id="edge101_Node000120_Node000113",color="steelblue1",style="solid",tooltip=" "];
  Node120 -> Node108 [id="edge102_Node000120_Node000108",color="steelblue1",style="solid",tooltip=" "];
  Node102 -> Node3 [id="edge103_Node000102_Node000003",color="steelblue1",style="solid",tooltip=" "];
  Node102 -> Node113 [id="edge104_Node000102_Node000113",color="steelblue1",style="solid",tooltip=" "];
  Node102 -> Node41 [id="edge105_Node000102_Node000041",color="steelblue1",style="solid",tooltip=" "];
  Node102 -> Node108 [id="edge106_Node000102_Node000108",color="steelblue1",style="solid",tooltip=" "];
  Node102 -> Node109 [id="edge107_Node000102_Node000109",color="steelblue1",style="solid",tooltip=" "];
  Node102 -> Node104 [id="edge108_Node000102_Node000104",color="steelblue1",style="solid",tooltip=" "];
  Node102 -> Node110 [id="edge109_Node000102_Node000110",color="steelblue1",style="solid",tooltip=" "];
  Node102 -> Node111 [id="edge110_Node000102_Node000111",color="steelblue1",style="solid",tooltip=" "];
}
