digraph "tds_submit_query_params"
{
 // 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_submit_query_params",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Sends a language string to the database server for processing."];
  Node1 -> Node2 [id="edge1_Node000001_Node000002",color="steelblue1",style="solid",tooltip=" "];
  Node2 [id="Node000002",label="tds5_fix_dot_query",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00578.html#ga8853354723094c8efcd87fabf675c64f",tooltip="Substitute ?-style placeholders with named (@param) ones."];
  Node2 -> Node3 [id="edge2_Node000002_Node000003",color="steelblue1",style="solid",tooltip=" "];
  Node3 [id="Node000003",label="tds_dstr_copy",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00581.html#gad96366d9fa93bfc283cef1299fbe97ab",tooltip="copy a string from another"];
  Node3 -> Node4 [id="edge3_Node000003_Node000004",color="steelblue1",style="solid",tooltip=" "];
  Node4 [id="Node000004",label="tds_dstr_copyn",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00581.html#ga656718f240d7403f986ae887d84a6ca1",tooltip="Set string to a given buffer of characters."];
  Node2 -> Node5 [id="edge4_Node000002_Node000005",color="steelblue1",style="solid",tooltip=" "];
  Node5 [id="Node000005",label="tds_next_placeholder",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00578.html#ga8f3b00c34af2484eccb169e60a37dc36",tooltip="Get position of next placeholder."];
  Node5 -> Node6 [id="edge5_Node000005_Node000006",color="steelblue1",style="solid",tooltip=" "];
  Node6 [id="Node000006",label="tds_skip_comment",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00578.html#gacf0a4f2a1c2166588f4d232eda737cf5",tooltip="Skip a comment in a query."];
  Node5 -> Node7 [id="edge6_Node000005_Node000007",color="steelblue1",style="solid",tooltip=" "];
  Node7 [id="Node000007",label="tds_skip_quoted",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00578.html#ga0856776b63a475de7cd3fb62b1af2411",tooltip="Skip quoting string (like 'sfsf', \"dflkdj\" or [dfkjd])"];
  Node1 -> Node8 [id="edge7_Node000001_Node000008",color="steelblue1",style="solid",tooltip=" "];
  Node8 [id="Node000008",label="tds5_put_params",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00578.html#ga4f1f0a4f77bc4ea1440dfdebc19a157c",tooltip="Send parameters to server."];
  Node8 -> Node9 [id="edge8_Node000008_Node000009",color="steelblue1",style="solid",tooltip=" "];
  Node9 [id="Node000009",label="tds_freeze_abort",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00579.html#ga7274d9c5dc75c58bb7d1f1c29e03a73e",tooltip="Discard all data written after the freeze."];
  Node8 -> Node10 [id="edge9_Node000008_Node000010",color="steelblue1",style="solid",tooltip=" "];
  Node10 [id="Node000010",label="tds_freeze_close",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00579.html#ga633f62fb8e5310abfa42c02fba9c6500",tooltip="Stop keeping data for this specific freeze."];
  Node10 -> Node11 [id="edge10_Node000010_Node000011",color="steelblue1",style="solid",tooltip=" "];
  Node11 [id="Node000011",label="tds_freeze_close_len",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00579.html#ga2660b893ae2bf36fe1b63b354e748bad",tooltip="Stop keeping data for this specific freeze."];
  Node10 -> Node12 [id="edge11_Node000010_Node000012",color="steelblue1",style="solid",tooltip=" "];
  Node12 [id="Node000012",label="tds_freeze_written",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00579.html#ga528cc96da09c11bc2930daae64e33e83",tooltip="Compute how many bytes has been written from freeze."];
  Node8 -> Node12 [id="edge12_Node000008_Node000012",color="steelblue1",style="solid",tooltip=" "];
  Node8 -> Node13 [id="edge13_Node000008_Node000013",color="steelblue1",style="solid",tooltip=" "];
  Node13 [id="Node000013",label="tds_put_data",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00578.html#ga9fcc0a3932dcad530511395ef8a767fb",tooltip="Write data to wire."];
  Node8 -> Node14 [id="edge14_Node000008_Node000014",color="steelblue1",style="solid",tooltip=" "];
  Node14 [id="Node000014",label="tds_put_data_info",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00578.html#gafd74652c4722ddce4d642cc4209449d4",tooltip="Put data information to wire."];
  Node14 -> Node15 [id="edge15_Node000014_Node000015",color="steelblue1",style="solid",tooltip=" "];
  Node15 [id="Node000015",label="tds_dstr_cstr",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00581.html#gac536f0e4d77d3cff5702719362ec1766",tooltip="Returns a C version (NUL terminated string) of dstr."];
  Node14 -> Node16 [id="edge16_Node000014_Node000016",color="steelblue1",style="solid",tooltip=" "];
  Node16 [id="Node000016",label="tds_dstr_len",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00581.html#ga396f139e4f886ac1b224a735138e73dd",tooltip="Returns the length of the string in bytes."];
  Node14 -> Node11 [id="edge17_Node000014_Node000011",color="steelblue1",style="solid",tooltip=" "];
  Node14 -> Node12 [id="edge18_Node000014_Node000012",color="steelblue1",style="solid",tooltip=" "];
  Node14 -> Node17 [id="edge19_Node000014_Node000017",color="steelblue1",style="solid",tooltip=" "];
  Node17 [id="Node000017",label="tds_put_string",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00579.html#ga1fcaf8d488cc1390f106ce3ad0bf37b4",tooltip="Output a string to wire automatic translate string to unicode if needed."];
  Node1 -> Node26 [id="edge20_Node000001_Node000026",color="steelblue1",style="solid",tooltip=" "];
  Node26 [id="Node000026",label="tds7_put_query_params",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00578.html#ga6e42b4a1d1d3898229ea2fe4afc2ecec",tooltip="Output params types and query (required by sp_prepare/sp_executesql/sp_prepexec)"];
  Node26 -> Node27 [id="edge21_Node000026_Node000027",color="steelblue1",style="solid",tooltip=" "];
  Node27 [id="Node000027",label="tds_count_placeholders\l_ucs2le",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00578.html#ga0cd19215e9169ea299a6c9cbf5b2fb60",tooltip="Count the number of placeholders ('?') in a query."];
  Node27 -> Node28 [id="edge22_Node000027_Node000028",color="steelblue1",style="solid",tooltip=" "];
  Node28 [id="Node000028",label="tds_next_placeholder\l_ucs2le",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00578.html#gaaa97f8535a2babe642024a0744d271d5",tooltip="Found the next placeholder (? or @param) in a string."];
  Node26 -> Node28 [id="edge23_Node000026_Node000028",color="steelblue1",style="solid",tooltip=" "];
  Node26 -> Node17 [id="edge24_Node000026_Node000017",color="steelblue1",style="solid",tooltip=" "];
  Node1 -> Node31 [id="edge25_Node000001_Node000031",color="steelblue1",style="solid",tooltip=" "];
  Node31 [id="Node000031",label="tds7_write_param_def\l_from_params",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00578.html#ga6513afd79629f7a928e1d3da9f56dee1",tooltip="Write string with parameters definition, useful for TDS7+."];
  Node31 -> Node15 [id="edge26_Node000031_Node000015",color="steelblue1",style="solid",tooltip=" "];
  Node31 -> Node32 [id="edge27_Node000031_Node000032",color="steelblue1",style="solid",tooltip=" "];
  Node32 [id="Node000032",label="tds_dstr_isempty",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00581.html#ga197c6af67f2e7469d06c2aa055917b1e",tooltip="test if string is empty"];
  Node31 -> Node16 [id="edge28_Node000031_Node000016",color="steelblue1",style="solid",tooltip=" "];
  Node31 -> Node9 [id="edge29_Node000031_Node000009",color="steelblue1",style="solid",tooltip=" "];
  Node31 -> Node11 [id="edge30_Node000031_Node000011",color="steelblue1",style="solid",tooltip=" "];
  Node31 -> Node12 [id="edge31_Node000031_Node000012",color="steelblue1",style="solid",tooltip=" "];
  Node31 -> Node33 [id="edge32_Node000031_Node000033",color="steelblue1",style="solid",tooltip=" "];
  Node33 [id="Node000033",label="tds_get_column_declaration",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00578.html#ga50d62edeb2a432e2dc668263f3f958ff",tooltip="Return declaration for column (like \"varchar(20)\")."];
  Node33 -> Node34 [id="edge33_Node000033_Node000034",color="steelblue1",style="solid",tooltip=" "];
  Node34 [id="Node000034",label="tds_fix_column_size",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00578.html#ga440f0f469afad1eac4c008979873ccdd",tooltip="Get column size for wire."];
  Node31 -> Node28 [id="edge34_Node000031_Node000028",color="steelblue1",style="solid",tooltip=" "];
  Node31 -> Node17 [id="edge35_Node000031_Node000017",color="steelblue1",style="solid",tooltip=" "];
  Node1 -> Node35 [id="edge36_Node000001_Node000035",color="steelblue1",style="solid",tooltip=" "];
  Node35 [id="Node000035",label="tds7_write_param_def\l_from_query",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00578.html#ga24345856c16b15aa3e84459c2f551320",tooltip="Write string with parameters definition, useful for TDS7+."];
  Node35 -> Node27 [id="edge37_Node000035_Node000027",color="steelblue1",style="solid",tooltip=" "];
  Node35 -> Node9 [id="edge38_Node000035_Node000009",color="steelblue1",style="solid",tooltip=" "];
  Node35 -> Node11 [id="edge39_Node000035_Node000011",color="steelblue1",style="solid",tooltip=" "];
  Node35 -> Node12 [id="edge40_Node000035_Node000012",color="steelblue1",style="solid",tooltip=" "];
  Node35 -> Node33 [id="edge41_Node000035_Node000033",color="steelblue1",style="solid",tooltip=" "];
  Node35 -> Node17 [id="edge42_Node000035_Node000017",color="steelblue1",style="solid",tooltip=" "];
  Node1 -> Node36 [id="edge43_Node000001_Node000036",color="steelblue1",style="solid",tooltip=" "];
  Node36 [id="Node000036",label="tds_convert_string",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00578.html#gad5b76c688898b86984d09628f030d01c",tooltip="Convert a string in an allocated buffer."];
  Node36 -> Node19 [id="edge44_Node000036_Node000019",color="steelblue1",style="solid",tooltip=" "];
  Node19 [id="Node000019",label="tds_iconv",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00576.html#ga87db49044919f1bc84c0ff5e9ab00304",tooltip="Wrapper around iconv(3)."];
  Node1 -> Node27 [id="edge45_Node000001_Node000027",color="steelblue1",style="solid",tooltip=" "];
  Node1 -> Node32 [id="edge46_Node000001_Node000032",color="steelblue1",style="solid",tooltip=" "];
  Node1 -> Node9 [id="edge47_Node000001_Node000009",color="steelblue1",style="solid",tooltip=" "];
  Node1 -> Node10 [id="edge48_Node000001_Node000010",color="steelblue1",style="solid",tooltip=" "];
  Node1 -> Node5 [id="edge49_Node000001_Node000005",color="steelblue1",style="solid",tooltip=" "];
  Node1 -> Node13 [id="edge50_Node000001_Node000013",color="steelblue1",style="solid",tooltip=" "];
  Node1 -> Node14 [id="edge51_Node000001_Node000014",color="steelblue1",style="solid",tooltip=" "];
  Node1 -> Node17 [id="edge52_Node000001_Node000017",color="steelblue1",style="solid",tooltip=" "];
  Node1 -> Node37 [id="edge53_Node000001_Node000037",color="steelblue1",style="solid",tooltip=" "];
  Node37 [id="Node000037",label="tds_query_flush_packet",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00578.html#gada27f4cfce925240ad33b71b63ca692d",tooltip="Flush query packet."];
  Node37 -> Node38 [id="edge54_Node000037_Node000038",color="steelblue1",style="solid",tooltip=" "];
  Node38 [id="Node000038",label="tds_flush_packet",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00579.html#ga5feb53554e8917a81bbbc332163a61fb",tooltip="Flush packet to server."];
  Node1 -> Node39 [id="edge55_Node000001_Node000039",color="steelblue1",style="solid",tooltip=" "];
  Node39 [id="Node000039",label="tds_start_query_head",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00578.html#ga9ad2e6defce530a8778791cce0166ccd",tooltip="Start query packet of a given type."];
  Node39 -> Node11 [id="edge56_Node000039_Node000011",color="steelblue1",style="solid",tooltip=" "];
  Node39 -> Node12 [id="edge57_Node000039_Node000012",color="steelblue1",style="solid",tooltip=" "];
  Node39 -> Node17 [id="edge58_Node000039_Node000017",color="steelblue1",style="solid",tooltip=" "];
}
