digraph "tds_process_pending_closes"
{
 // 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_process_pending\l_closes",height=0.2,width=0.4,color="gray40", fillcolor="grey60", style="filled", fontcolor="black",tooltip="Attempt to close all deferred closes (dynamics and cursors)."];
  Node1 -> Node2 [id="edge1_Node000001_Node000002",color="steelblue1",style="solid",tooltip=" "];
  Node2 [id="Node000002",label="tds_cursor_dealloc",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00578.html#gab25de0567ac096e8f8e88490eeddf562",tooltip="Send a deallocation request to server."];
  Node2 -> Node3 [id="edge2_Node000002_Node000003",color="steelblue1",style="solid",tooltip=" "];
  Node3 [id="Node000003",label="tds_cursor_check_allocated",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00578.html#ga2a64baaf4aa50ef601a49b801dfdaaf6",tooltip="Check if a cursor is allocated into the server."];
  Node2 -> Node4 [id="edge3_Node000002_Node000004",color="steelblue1",style="solid",tooltip=" "];
  Node4 [id="Node000004",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."];
  Node4 -> Node5 [id="edge4_Node000004_Node000005",color="steelblue1",style="solid",tooltip=" "];
  Node5 [id="Node000005",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."];
  Node2 -> Node6 [id="edge5_Node000002_Node000006",color="steelblue1",style="solid",tooltip=" "];
  Node6 [id="Node000006",label="tds_set_cur_cursor",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00578.html#ga34fb1084682cc31fe02a4a7946955a5a",tooltip="Set current cursor."];
  Node1 -> Node7 [id="edge6_Node000001_Node000007",color="steelblue1",style="solid",tooltip=" "];
  Node7 [id="Node000007",label="tds_process_simple\l_query",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00580.html#gaeeb1562044786ea17bea361ed83e6946",tooltip="Process results for simple query as \"SET TEXTSIZE\" or \"USE dbname\" If the statement returns results,..."];
  Node7 -> Node8 [id="edge7_Node000007_Node000008",color="steelblue1",style="solid",tooltip=" "];
  Node8 [id="Node000008",label="tds_process_tokens",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00580.html#gabfc9de1d1fe718818caf63a4be4035a6",tooltip="process all streams."];
  Node8 -> Node9 [id="edge8_Node000008_Node000009",color="steelblue1",style="solid",tooltip=" "];
  Node9 [id="Node000009",label="tds5_process_dyn_result2",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00580.html#gae688b515631141acfbc41bbb91c8b921",tooltip="Process new TDS 5.0 token for describing output parameters."];
  Node9 -> Node34 [id="edge9_Node000009_Node000034",color="steelblue1",style="solid",tooltip=" "];
  Node34 [id="Node000034",label="tds_get_byte",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00579.html#ga0cb72d3f6943795c39db1fa692be0a58",tooltip="Return a single byte from the input buffer."];
  Node8 -> Node37 [id="edge10_Node000008_Node000037",color="steelblue1",style="solid",tooltip=" "];
  Node37 [id="Node000037",label="tds5_process_result",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00580.html#ga547b2f48659f77a69aa802d861ac827d",tooltip="tds5_process_result() is the TDS 5.0 result set processing routine."];
  Node37 -> Node34 [id="edge11_Node000037_Node000034",color="steelblue1",style="solid",tooltip=" "];
  Node8 -> Node40 [id="edge12_Node000008_Node000040",color="steelblue1",style="solid",tooltip=" "];
  Node40 [id="Node000040",label="tds5_process_result2",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00580.html#gabe2bdd5a41ce067cb31aef18ff81cb1c",tooltip="tds5_process_result2() is the new TDS 5.0 result set processing routine."];
  Node40 -> Node34 [id="edge13_Node000040_Node000034",color="steelblue1",style="solid",tooltip=" "];
  Node8 -> Node44 [id="edge14_Node000008_Node000044",color="steelblue1",style="solid",tooltip=" "];
  Node44 [id="Node000044",label="tds7_process_compute\l_result",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00580.html#ga6728e344caa20aea1def85f58dea138b",tooltip="tds7_process_compute_result() processes compute result sets for TDS 7/8."];
  Node44 -> Node34 [id="edge15_Node000044_Node000034",color="steelblue1",style="solid",tooltip=" "];
  Node8 -> Node48 [id="edge16_Node000008_Node000048",color="steelblue1",style="solid",tooltip=" "];
  Node48 [id="Node000048",label="tds7_process_result",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00580.html#gaca56fc22d65a24a96d1bef310ade73aa",tooltip="tds7_process_result() is the TDS 7.0 result set processing routine."];
  Node8 -> Node24 [id="edge17_Node000008_Node000024",color="steelblue1",style="solid",tooltip=" "];
  Node24 [id="Node000024",label="tds_close_socket",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00579.html#ga3e3f76009fce5ceedb2f42bb2c9aed2e",tooltip="Close current socket."];
  Node8 -> Node34 [id="edge18_Node000008_Node000034",color="steelblue1",style="solid",tooltip=" "];
  Node8 -> Node49 [id="edge19_Node000008_Node000049",color="steelblue1",style="solid",tooltip=" "];
  Node49 [id="Node000049",label="tds_peek",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00579.html#ga221e98a9c8be96ec6c8547891e1b53af",tooltip="Reads a byte from the TDS stream without removing it."];
  Node49 -> Node34 [id="edge20_Node000049_Node000034",color="steelblue1",style="solid",tooltip=" "];
  Node8 -> Node50 [id="edge21_Node000008_Node000050",color="steelblue1",style="solid",tooltip=" "];
  Node50 [id="Node000050",label="tds_process_col_fmt",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00580.html#ga4e3dd9d3614f5f0433b78b761dd68741",tooltip="tds_process_col_fmt() is the other half of result set processing under TDS 4.2."];
  Node8 -> Node51 [id="edge22_Node000008_Node000051",color="steelblue1",style="solid",tooltip=" "];
  Node51 [id="Node000051",label="tds_process_col_name",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00580.html#ga905d2fa5e1b602817bd16bb0fcf9eadb",tooltip="tds_process_col_name() is one half of the result set under TDS 4.2 it contains all the column names,..."];
  Node8 -> Node55 [id="edge23_Node000008_Node000055",color="steelblue1",style="solid",tooltip=" "];
  Node55 [id="Node000055",label="tds_process_compute",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00580.html#ga6fcb37d5addebdc1af9f34ebc59fd7a8",tooltip="tds_process_compute() processes compute rows and places them in the row buffer."];
  Node8 -> Node56 [id="edge24_Node000008_Node000056",color="steelblue1",style="solid",tooltip=" "];
  Node56 [id="Node000056",label="tds_process_compute\l_names",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00580.html#gae5b3e01f3d665f9e377de091f46f1ab9",tooltip="tds_process_compute_names() processes compute result sets."];
  Node8 -> Node57 [id="edge25_Node000008_Node000057",color="steelblue1",style="solid",tooltip=" "];
  Node57 [id="Node000057",label="tds_process_compute\l_result",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00580.html#gae3368ea80d0d8b13791ceb13ee5f19c9",tooltip="tds_process_compute_result() processes compute result sets."];
  Node57 -> Node34 [id="edge26_Node000057_Node000034",color="steelblue1",style="solid",tooltip=" "];
  Node8 -> Node58 [id="edge27_Node000008_Node000058",color="steelblue1",style="solid",tooltip=" "];
  Node58 [id="Node000058",label="tds_process_cursor\l_tokens",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00580.html#ga315d875d90c64d12d61fc9e33b4dee96",tooltip="Reads cursor command results."];
  Node58 -> Node34 [id="edge28_Node000058_Node000034",color="steelblue1",style="solid",tooltip=" "];
  Node8 -> Node59 [id="edge29_Node000008_Node000059",color="steelblue1",style="solid",tooltip=" "];
  Node59 [id="Node000059",label="tds_process_default\l_tokens",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00580.html#ga39453d084f3f780ac4602d4abf2839f7",tooltip="tds_process_default_tokens() is a catch all function that is called to process tokens not known to ot..."];
  Node59 -> Node9 [id="edge30_Node000059_Node000009",color="steelblue1",style="solid",tooltip=" "];
  Node59 -> Node37 [id="edge31_Node000059_Node000037",color="steelblue1",style="solid",tooltip=" "];
  Node59 -> Node40 [id="edge32_Node000059_Node000040",color="steelblue1",style="solid",tooltip=" "];
  Node59 -> Node48 [id="edge33_Node000059_Node000048",color="steelblue1",style="solid",tooltip=" "];
  Node59 -> Node24 [id="edge34_Node000059_Node000024",color="steelblue1",style="solid",tooltip=" "];
  Node59 -> Node34 [id="edge35_Node000059_Node000034",color="steelblue1",style="solid",tooltip=" "];
  Node59 -> Node49 [id="edge36_Node000059_Node000049",color="steelblue1",style="solid",tooltip=" "];
  Node59 -> Node50 [id="edge37_Node000059_Node000050",color="steelblue1",style="solid",tooltip=" "];
  Node59 -> Node51 [id="edge38_Node000059_Node000051",color="steelblue1",style="solid",tooltip=" "];
  Node59 -> Node58 [id="edge39_Node000059_Node000058",color="steelblue1",style="solid",tooltip=" "];
  Node59 -> Node63 [id="edge40_Node000059_Node000063",color="steelblue1",style="solid",tooltip=" "];
  Node63 [id="Node000063",label="tds_process_dyn_result",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00580.html#ga416cf119c1d4a0fca27dc5b50c261358",tooltip="Process results from dynamic."];
  Node63 -> Node34 [id="edge41_Node000063_Node000034",color="steelblue1",style="solid",tooltip=" "];
  Node59 -> Node64 [id="edge42_Node000059_Node000064",color="steelblue1",style="solid",tooltip=" "];
  Node64 [id="Node000064",label="tds_process_end",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00580.html#ga7a081cf9bb8f04ead12f0299fb7c4cd9",tooltip="tds_process_end() processes any of the DONE, DONEPROC, or DONEINPROC tokens."];
  Node64 -> Node1 [id="edge43_Node000064_Node000001",color="steelblue1",style="solid",tooltip=" "];
  Node59 -> Node66 [id="edge44_Node000059_Node000066",color="steelblue1",style="solid",tooltip=" "];
  Node66 [id="Node000066",label="tds_process_info",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00580.html#ga65a2316369529731732f200c190d05d6",tooltip="tds_process_info() is called for INFO, ERR, or EED tokens and is responsible for calling the CLI's me..."];
  Node66 -> Node34 [id="edge45_Node000066_Node000034",color="steelblue1",style="solid",tooltip=" "];
  Node66 -> Node59 [id="edge46_Node000066_Node000059",color="steelblue1",style="solid",tooltip=" "];
  Node66 -> Node67 [id="edge47_Node000066_Node000067",color="steelblue1",style="solid",tooltip=" "];
  Node67 [id="Node000067",label="tds_unget_byte",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00579.html#gad70d59fb317d098b0c9fd29dd77131a8",tooltip="Unget will always work as long as you don't call it twice in a row."];
  Node59 -> Node68 [id="edge48_Node000059_Node000068",color="steelblue1",style="solid",tooltip=" "];
  Node68 [id="Node000068",label="tds_process_nbcrow",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00580.html#gaf7264c9eb3aa7a73358a4c65f02d3d3c",tooltip="tds_process_nbcrow() processes rows and places them in the row buffer."];
  Node59 -> Node69 [id="edge49_Node000059_Node000069",color="steelblue1",style="solid",tooltip=" "];
  Node69 [id="Node000069",label="tds_process_param_result\l_tokens",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00580.html#ga9fdef8228d29cab7fa9098f07fa73fba",tooltip="Process parameters from networks."];
  Node69 -> Node34 [id="edge50_Node000069_Node000034",color="steelblue1",style="solid",tooltip=" "];
  Node69 -> Node70 [id="edge51_Node000069_Node000070",color="steelblue1",style="solid",tooltip=" "];
  Node70 [id="Node000070",label="tds_process_param_result",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00580.html#gacb3354443bcefe7a500a500a4904cc05",tooltip="process output parameters of a stored procedure."];
  Node69 -> Node67 [id="edge52_Node000069_Node000067",color="steelblue1",style="solid",tooltip=" "];
  Node59 -> Node74 [id="edge53_Node000059_Node000074",color="steelblue1",style="solid",tooltip=" "];
  Node74 [id="Node000074",label="tds_process_params\l_result_token",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00580.html#ga7b18c0911a9dc69939577b39eb64725d",tooltip="tds_process_params_result_token() processes params on TDS5."];
  Node59 -> Node75 [id="edge54_Node000059_Node000075",color="steelblue1",style="solid",tooltip=" "];
  Node75 [id="Node000075",label="tds_process_row",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00580.html#gaad814dd6e35aee8332035d06dc8b5d65",tooltip="tds_process_row() processes rows and places them in the row buffer."];
  Node59 -> Node76 [id="edge55_Node000059_Node000076",color="steelblue1",style="solid",tooltip=" "];
  Node76 [id="Node000076",label="tds_process_tabname",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00580.html#gaeec59bca9bd0c5388e245f0d19d9c81a",tooltip="Process list of table from network."];
  Node76 -> Node34 [id="edge56_Node000076_Node000034",color="steelblue1",style="solid",tooltip=" "];
  Node76 -> Node67 [id="edge57_Node000076_Node000067",color="steelblue1",style="solid",tooltip=" "];
  Node59 -> Node80 [id="edge58_Node000059_Node000080",color="steelblue1",style="solid",tooltip=" "];
  Node80 [id="Node000080",label="tds_token_name",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00580.html#ga7f24a7af985cd320788122e98072b7af",tooltip="Returns string representation for a given token type."];
  Node59 -> Node67 [id="edge59_Node000059_Node000067",color="steelblue1",style="solid",tooltip=" "];
  Node8 -> Node63 [id="edge60_Node000008_Node000063",color="steelblue1",style="solid",tooltip=" "];
  Node8 -> Node81 [id="edge61_Node000008_Node000081",color="steelblue1",style="solid",tooltip=" "];
  Node81 [id="Node000081",label="tds_process_dynamic",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00580.html#ga5cfc0340d8d717e67f60037e029b2142",tooltip="tds_process_dynamic() finds the element of the dyns array for the id"];
  Node81 -> Node34 [id="edge62_Node000081_Node000034",color="steelblue1",style="solid",tooltip=" "];
  Node8 -> Node64 [id="edge63_Node000008_Node000064",color="steelblue1",style="solid",tooltip=" "];
  Node8 -> Node66 [id="edge64_Node000008_Node000066",color="steelblue1",style="solid",tooltip=" "];
  Node8 -> Node68 [id="edge65_Node000008_Node000068",color="steelblue1",style="solid",tooltip=" "];
  Node8 -> Node70 [id="edge66_Node000008_Node000070",color="steelblue1",style="solid",tooltip=" "];
  Node8 -> Node69 [id="edge67_Node000008_Node000069",color="steelblue1",style="solid",tooltip=" "];
  Node8 -> Node74 [id="edge68_Node000008_Node000074",color="steelblue1",style="solid",tooltip=" "];
  Node8 -> Node75 [id="edge69_Node000008_Node000075",color="steelblue1",style="solid",tooltip=" "];
  Node8 -> Node76 [id="edge70_Node000008_Node000076",color="steelblue1",style="solid",tooltip=" "];
  Node8 -> Node83 [id="edge71_Node000008_Node000083",color="steelblue1",style="solid",tooltip=" "];
  Node83 [id="Node000083",label="tds_set_cur_dyn",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00578.html#gae8b7db85af16701fc0604eb117cbd4e4",tooltip="Set current dynamic."];
  Node8 -> Node80 [id="edge72_Node000008_Node000080",color="steelblue1",style="solid",tooltip=" "];
  Node8 -> Node67 [id="edge73_Node000008_Node000067",color="steelblue1",style="solid",tooltip=" "];
  Node1 -> Node84 [id="edge74_Node000001_Node000084",color="steelblue1",style="solid",tooltip=" "];
  Node84 [id="Node000084",label="tds_release_dynamic",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00577.html#gabf2fdb0def5388508602ee7dd2f49506",tooltip="Frees dynamic statement."];
  Node84 -> Node85 [id="edge75_Node000084_Node000085",color="steelblue1",style="solid",tooltip=" "];
  Node85 [id="Node000085",label="tds_detach_results",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00577.html#ga1d60bf443e274797b1d1a9e7418ab962",tooltip="Detach result info from it current socket."];
  Node84 -> Node86 [id="edge76_Node000084_Node000086",color="steelblue1",style="solid",tooltip=" "];
  Node86 [id="Node000086",label="tds_free_input_params",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00577.html#gabdc5fee73b22345c02ab894e49ad7f95",tooltip="Frees all allocated input parameters of a dynamic statement."];
  Node1 -> Node87 [id="edge77_Node000001_Node000087",color="steelblue1",style="solid",tooltip=" "];
  Node87 [id="Node000087",label="tds_submit_unprepare",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00578.html#gaf573d8d4d2660c8c27770573fca05ff5",tooltip="Send a unprepare request for a prepared query."];
  Node87 -> Node88 [id="edge78_Node000087_Node000088",color="steelblue1",style="solid",tooltip=" "];
  Node88 [id="Node000088",label="tds_put_string",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00579.html#ga1fcaf8d488cc1390f106ce3ad0bf37b4",tooltip="Output a string to wire automatic translate string to unicode if needed."];
  Node88 -> Node27 [id="edge79_Node000088_Node000027",color="steelblue1",style="solid",tooltip=" "];
  Node27 [id="Node000027",label="tds_convert_stream",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a01467.html#a9d8eb43a81ff58ab423dce0ce95b9564",tooltip="Reads and writes from a stream converting characters."];
  Node88 -> Node89 [id="edge80_Node000088_Node000089",color="steelblue1",style="solid",tooltip=" "];
  Node89 [id="Node000089",label="tds_dataout_stream_init",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a01467.html#aa038a9125979f8f0915dbd53cbf27e5a",tooltip="Initialize a data output stream."];
  Node88 -> Node91 [id="edge81_Node000088_Node000091",color="steelblue1",style="solid",tooltip=" "];
  Node91 [id="Node000091",label="tds_staticin_stream_init",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a01467.html#aa9e1e45f0305622dd6aed9f8fe158581",tooltip="Initialize an input stream for read from a static allocated buffer."];
  Node87 -> Node4 [id="edge82_Node000087_Node000004",color="steelblue1",style="solid",tooltip=" "];
  Node87 -> Node83 [id="edge83_Node000087_Node000083",color="steelblue1",style="solid",tooltip=" "];
  Node87 -> Node93 [id="edge84_Node000087_Node000093",color="steelblue1",style="solid",tooltip=" "];
  Node93 [id="Node000093",label="tds_start_query",height=0.2,width=0.4,color="grey40", fillcolor="white", style="filled",URL="$a00578.html#ga0da385231bfa3dc49377e1fb2bea2c07",tooltip="Start query packet of a given type."];
  Node93 -> Node94 [id="edge85_Node000093_Node000094",color="steelblue1",style="solid",tooltip=" "];
  Node94 [id="Node000094",label="tds_start_query_head",height=0.2,width=0.4,color="red", fillcolor="#FFF0F0", style="filled",URL="$a00578.html#ga9ad2e6defce530a8778791cce0166ccd",tooltip="Start query packet of a given type."];
  Node94 -> Node88 [id="edge86_Node000094_Node000088",color="steelblue1",style="solid",tooltip=" "];
}
