Current File : //usr/local/apps/share/doc/freetds/reference/a00217_abf18b98efef6ce2dc0b97d658a3a1918_icgraph.svg |
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: tdserror Pages: 1 -->
<svg width="1235pt" height="1405pt"
viewBox="0.00 0.00 1235.00 1404.51" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 1400.51)">
<title>tdserror</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-1400.51 1231,-1400.51 1231,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="0,-1140.5 0,-1159.5 54,-1159.5 54,-1140.5 0,-1140.5"/>
<text text-anchor="middle" x="27" y="-1147.5" font-family="Helvetica,sans-Serif" font-size="10.00">tdserror</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="a00383.html#ga9af192306186ddf39e09be0fd4ad8aaf" target="_top" xlink:title="tds_read_config_info() will fill the tds connection structure based on configuration information gath...">
<polygon fill="white" stroke="black" points="283,-1368.5 283,-1387.5 399,-1387.5 399,-1368.5 283,-1368.5"/>
<text text-anchor="middle" x="341" y="-1375.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_read_config_info</text>
</a>
</g>
</g>
<!-- Node1->Node2 -->
<g id="edge1" class="edge"><title>Node1->Node2</title>
<path fill="none" stroke="midnightblue" d="M27.1247,-1170.17C26.4966,-1212.79 31.7307,-1311.96 90,-1359 149.95,-1407.39 246.511,-1397.95 300.398,-1387.51"/>
<polygon fill="midnightblue" stroke="midnightblue" points="30.6293,-1170.05 27.4089,-1159.95 23.632,-1169.85 30.6293,-1170.05"/>
</g>
<!-- Node5 -->
<g id="node5" class="node"><title>Node5</title>
<g id="a_node5"><a xlink:href="a00294.html#a9d8eb43a81ff58ab423dce0ce95b9564" target="_top" xlink:title="Reads and writes from a stream converting characters. ">
<polygon fill="white" stroke="black" points="108,-561.5 108,-580.5 218,-580.5 218,-561.5 108,-561.5"/>
<text text-anchor="middle" x="163" y="-568.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_convert_stream</text>
</a>
</g>
</g>
<!-- Node1->Node5 -->
<g id="edge4" class="edge"><title>Node1->Node5</title>
<path fill="none" stroke="midnightblue" d="M31.7148,-1130.49C40.8882,-1082.68 65.6421,-955.939 90,-851 114.74,-744.414 149.556,-616.313 159.347,-580.631"/>
<polygon fill="midnightblue" stroke="midnightblue" points="28.2575,-1129.93 29.8171,-1140.41 35.133,-1131.25 28.2575,-1129.93"/>
</g>
<!-- Node20 -->
<g id="node20" class="node"><title>Node20</title>
<g id="a_node20"><a xlink:href="a00217.html#a16db200d2281f76fe46fc1cbe37ca9df" target="_top" xlink:title="Set state of TDS connection, with logging and checking. ">
<polygon fill="white" stroke="black" points="301,-646.5 301,-665.5 381,-665.5 381,-646.5 301,-646.5"/>
<text text-anchor="middle" x="341" y="-653.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_set_state</text>
</a>
</g>
</g>
<!-- Node1->Node20 -->
<g id="edge20" class="edge"><title>Node1->Node20</title>
<path fill="none" stroke="midnightblue" d="M39.7134,-1131.45C91.0514,-1050.17 295.333,-726.722 333.753,-665.891"/>
<polygon fill="midnightblue" stroke="midnightblue" points="36.6131,-1129.81 34.2323,-1140.13 42.5315,-1133.55 36.6131,-1129.81"/>
</g>
<!-- Node35 -->
<g id="node35" class="node"><title>Node35</title>
<g id="a_node35"><a xlink:href="a00388.html#ga3e3f76009fce5ceedb2f42bb2c9aed2e" target="_top" xlink:title="Close current socket. ">
<polygon fill="white" stroke="black" points="473,-1140.5 473,-1159.5 571,-1159.5 571,-1140.5 473,-1140.5"/>
<text text-anchor="middle" x="522" y="-1147.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_close_socket</text>
</a>
</g>
</g>
<!-- Node1->Node35 -->
<g id="edge76" class="edge"><title>Node1->Node35</title>
<path fill="none" stroke="midnightblue" d="M64.3921,-1150C151.961,-1150 374.445,-1150 472.885,-1150"/>
<polygon fill="midnightblue" stroke="midnightblue" points="64.1578,-1146.5 54.1577,-1150 64.1577,-1153.5 64.1578,-1146.5"/>
</g>
<!-- Node38 -->
<g id="node38" class="node"><title>Node38</title>
<g id="a_node38"><a xlink:href="a00388.html#ga6f2ae00407f59fb1ab280fa44a56295e" target="_top" xlink:title="Loops until we have received some characters return -1 on failure. ">
<polygon fill="white" stroke="black" points="662.5,-1330.5 662.5,-1349.5 745.5,-1349.5 745.5,-1330.5 662.5,-1330.5"/>
<text text-anchor="middle" x="704" y="-1337.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_goodread</text>
</a>
</g>
</g>
<!-- Node1->Node38 -->
<g id="edge81" class="edge"><title>Node1->Node38</title>
<path fill="none" stroke="midnightblue" d="M30.9824,-1169.89C36.6367,-1199.93 51.955,-1256.2 90,-1283 136.695,-1315.89 532.772,-1333.59 662.236,-1338.54"/>
<polygon fill="midnightblue" stroke="midnightblue" points="34.3896,-1169.05 29.2613,-1159.78 27.4888,-1170.23 34.3896,-1169.05"/>
</g>
<!-- Node39 -->
<g id="node39" class="node"><title>Node39</title>
<g id="a_node39"><a xlink:href="a00388.html#ga2734407109c834c5dda7ff8a45c71230" target="_top" xlink:title="tds_goodwrite">
<polygon fill="white" stroke="black" points="662.5,-1292.5 662.5,-1311.5 745.5,-1311.5 745.5,-1292.5 662.5,-1292.5"/>
<text text-anchor="middle" x="704" y="-1299.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_goodwrite</text>
</a>
</g>
</g>
<!-- Node1->Node39 -->
<g id="edge82" class="edge"><title>Node1->Node39</title>
<path fill="none" stroke="midnightblue" d="M51.9721,-1164.52C63.1773,-1170.74 76.9109,-1177.58 90,-1182 307.224,-1255.41 375.059,-1218.4 598,-1272 614.267,-1275.91 617.933,-1278.33 634,-1283 644.858,-1286.15 656.716,-1289.47 667.49,-1292.43"/>
<polygon fill="midnightblue" stroke="midnightblue" points="53.6407,-1161.45 43.224,-1159.51 50.1607,-1167.52 53.6407,-1161.45"/>
</g>
<!-- Node40 -->
<g id="node40" class="node"><title>Node40</title>
<g id="a_node40"><a xlink:href="a00388.html#ga410619783bdf2bb60b0f27a5578e0e07" target="_top" xlink:title="Read in one 'packet' from the server. ">
<polygon fill="white" stroke="red" points="656,-1254.5 656,-1273.5 752,-1273.5 752,-1254.5 656,-1254.5"/>
<text text-anchor="middle" x="704" y="-1261.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_read_packet</text>
</a>
</g>
</g>
<!-- Node1->Node40 -->
<g id="edge85" class="edge"><title>Node1->Node40</title>
<path fill="none" stroke="midnightblue" d="M64.0786,-1158.96C72.5424,-1160.84 81.5555,-1162.65 90,-1164 201.977,-1181.86 494.375,-1165.96 598,-1212 617.836,-1220.81 615.008,-1234.49 634,-1245 640.958,-1248.85 648.75,-1251.96 656.523,-1254.46"/>
<polygon fill="midnightblue" stroke="midnightblue" points="64.6318,-1155.5 54.1022,-1156.67 63.0655,-1162.32 64.6318,-1155.5"/>
</g>
<!-- Node41 -->
<g id="node41" class="node"><title>Node41</title>
<g id="a_node41"><a xlink:href="a00390.html#ga39453d084f3f780ac4602d4abf2839f7" target="_top" xlink:title="tds_process_default_tokens() is a catch all function that is called to process tokens not known to ot...">
<polygon fill="white" stroke="red" points="810,-1065 810,-1095 922,-1095 922,-1065 810,-1065"/>
<text text-anchor="start" x="818" y="-1083" font-family="Helvetica,sans-Serif" font-size="10.00">tds_process_default</text>
<text text-anchor="middle" x="866" y="-1072" font-family="Helvetica,sans-Serif" font-size="10.00">_tokens</text>
</a>
</g>
</g>
<!-- Node1->Node41 -->
<g id="edge86" class="edge"><title>Node1->Node41</title>
<path fill="none" stroke="midnightblue" d="M64.386,-1146.1C158.483,-1136.11 417.625,-1109.26 634,-1093 694.082,-1088.49 763.063,-1084.8 809.887,-1082.52"/>
<polygon fill="midnightblue" stroke="midnightblue" points="63.8275,-1142.64 54.2541,-1147.17 64.5683,-1149.6 63.8275,-1142.64"/>
</g>
<!-- Node45 -->
<g id="node45" class="node"><title>Node45</title>
<g id="a_node45"><a xlink:href="a00326.html#a3118c7232bc9c3e47f8ba872bb39e967" target="_top" xlink:title="Help to build query to be sent to server. ">
<polygon fill="white" stroke="black" points="90,-523.5 90,-542.5 236,-542.5 236,-523.5 90,-523.5"/>
<text text-anchor="middle" x="163" y="-530.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds7_build_bulk_insert_stmt</text>
</a>
</g>
</g>
<!-- Node1->Node45 -->
<g id="edge74" class="edge"><title>Node1->Node45</title>
<path fill="none" stroke="midnightblue" d="M28.723,-1130.46C32.5215,-1032.43 51.4754,-596.998 90,-552 93.279,-548.17 97.23,-545.066 101.572,-542.556"/>
<polygon fill="midnightblue" stroke="midnightblue" points="25.2248,-1130.35 28.3428,-1140.48 32.2198,-1130.62 25.2248,-1130.35"/>
</g>
<!-- Node47 -->
<g id="node47" class="node"><title>Node47</title>
<g id="a_node47"><a xlink:href="a00388.html#ga8560e2536fdcf8f1514d4fa14f90876c" target="_top" xlink:title="Read from an OS socket  remove tds, save error somewhere, report error in another way...">
<polygon fill="white" stroke="black" points="115.5,-1330.5 115.5,-1349.5 210.5,-1349.5 210.5,-1330.5 115.5,-1330.5"/>
<text text-anchor="middle" x="163" y="-1337.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_socket_read</text>
</a>
</g>
</g>
<!-- Node1->Node47 -->
<g id="edge77" class="edge"><title>Node1->Node47</title>
<path fill="none" stroke="midnightblue" d="M29.9424,-1170.04C34.3533,-1204.63 48.2314,-1275.7 90,-1316 97.0165,-1322.77 105.993,-1327.63 115.209,-1331.12"/>
<polygon fill="midnightblue" stroke="midnightblue" points="33.3864,-1169.35 28.7829,-1159.81 26.4309,-1170.14 33.3864,-1169.35"/>
</g>
<!-- Node48 -->
<g id="node48" class="node"><title>Node48</title>
<g id="a_node48"><a xlink:href="a00388.html#gad6f81b48fbcfc18ce0b213dbbea47e30" target="_top" xlink:title="Write to an OS socket. ">
<polygon fill="white" stroke="black" points="115,-1254.5 115,-1273.5 211,-1273.5 211,-1254.5 115,-1254.5"/>
<text text-anchor="middle" x="163" y="-1261.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_socket_write</text>
</a>
</g>
</g>
<!-- Node1->Node48 -->
<g id="edge79" class="edge"><title>Node1->Node48</title>
<path fill="none" stroke="midnightblue" d="M36.428,-1168.86C46.4301,-1189.2 64.9605,-1221.18 90,-1240 98.3201,-1246.26 108.362,-1250.94 118.27,-1254.42"/>
<polygon fill="midnightblue" stroke="midnightblue" points="39.5265,-1167.23 32.0985,-1159.67 33.194,-1170.21 39.5265,-1167.23"/>
</g>
<!-- Node49 -->
<g id="node49" class="node"><title>Node49</title>
<g id="a_node49"><a xlink:href="a00388.html#ga954dcc3b0332fa9448d9edf59c0fe439" target="_top" xlink:title="Get port of all instances. ">
<polygon fill="white" stroke="black" points="96,-485.5 96,-504.5 230,-504.5 230,-485.5 96,-485.5"/>
<text text-anchor="middle" x="163" y="-492.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds7_get_instance_ports</text>
</a>
</g>
</g>
<!-- Node1->Node49 -->
<g id="edge83" class="edge"><title>Node1->Node49</title>
<path fill="none" stroke="midnightblue" d="M28.6041,-1130.2C31.8985,-1027.89 49.0715,-562.103 90,-514 93.2672,-510.16 97.21,-507.049 101.547,-504.534"/>
<polygon fill="midnightblue" stroke="midnightblue" points="25.1006,-1130.26 28.2845,-1140.36 32.0972,-1130.48 25.1006,-1130.26"/>
</g>
<!-- Node50 -->
<g id="node50" class="node"><title>Node50</title>
<g id="a_node50"><a xlink:href="a00388.html#gac23c12ccb3e8599f10f305e993e216f6" target="_top" xlink:title="Get port of given instance. ">
<polygon fill="white" stroke="black" points="99,-447.5 99,-466.5 227,-466.5 227,-447.5 99,-447.5"/>
<text text-anchor="middle" x="163" y="-454.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds7_get_instance_port</text>
</a>
</g>
</g>
<!-- Node1->Node50 -->
<g id="edge84" class="edge"><title>Node1->Node50</title>
<path fill="none" stroke="midnightblue" d="M28.4939,-1130.02C31.2978,-1023.71 46.6521,-527.229 90,-476 93.2568,-472.151 97.1923,-469.034 101.524,-466.515"/>
<polygon fill="midnightblue" stroke="midnightblue" points="24.9882,-1130.2 28.2307,-1140.29 31.9859,-1130.38 24.9882,-1130.2"/>
</g>
<!-- Node3 -->
<g id="node3" class="node"><title>Node3</title>
<g id="a_node3"><a xlink:href="a00378.html#ga2c99ec565452279e9a382451d89642eb" target="_top" xlink:title="Form a connection with the server. ">
<polygon fill="white" stroke="black" points="833,-1311.5 833,-1330.5 899,-1330.5 899,-1311.5 833,-1311.5"/>
<text text-anchor="middle" x="866" y="-1318.5" font-family="Helvetica,sans-Serif" font-size="10.00">tdsdbopen</text>
</a>
</g>
</g>
<!-- Node2->Node3 -->
<g id="edge2" class="edge"><title>Node2->Node3</title>
<path fill="none" stroke="midnightblue" d="M409.219,-1382.25C495.003,-1386.04 647.447,-1387.27 774,-1359 800.734,-1353.03 829.598,-1339.68 847.486,-1330.5"/>
<polygon fill="midnightblue" stroke="midnightblue" points="409.247,-1378.75 399.094,-1381.78 408.92,-1385.74 409.247,-1378.75"/>
</g>
<!-- Node4 -->
<g id="node4" class="node"><title>Node4</title>
<g id="a_node4"><a xlink:href="a00232.html#ae408d8e1c2ab0767d8bfd26d00d1ff6a" target="_top" xlink:title="Normally not used. ">
<polygon fill="white" stroke="black" points="988,-1311.5 988,-1330.5 1040,-1330.5 1040,-1311.5 988,-1311.5"/>
<text text-anchor="middle" x="1014" y="-1318.5" font-family="Helvetica,sans-Serif" font-size="10.00">dbopen</text>
</a>
</g>
</g>
<!-- Node3->Node4 -->
<g id="edge3" class="edge"><title>Node3->Node4</title>
<path fill="none" stroke="midnightblue" d="M909.171,-1321C934.625,-1321 966.206,-1321 987.812,-1321"/>
<polygon fill="midnightblue" stroke="midnightblue" points="909.04,-1317.5 899.04,-1321 909.04,-1324.5 909.04,-1317.5"/>
</g>
<!-- Node6 -->
<g id="node6" class="node"><title>Node6</title>
<g id="a_node6"><a xlink:href="a00217.html#a8184311543c685f2ee0bcccfb725ca02" target="_top" xlink:title="Read a data file, passing the data through iconv(). ">
<polygon fill="white" stroke="black" points="299,-133.5 299,-152.5 383,-152.5 383,-133.5 299,-133.5"/>
<text text-anchor="middle" x="341" y="-140.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_bcp_fread</text>
</a>
</g>
</g>
<!-- Node5->Node6 -->
<g id="edge5" class="edge"><title>Node5->Node6</title>
<path fill="none" stroke="midnightblue" d="M227.317,-559.704C230.533,-557.535 233.471,-554.988 236,-552 292.23,-485.568 216.251,-228.837 272,-162 278.752,-153.905 288.642,-149.104 298.799,-146.298"/>
<polygon fill="midnightblue" stroke="midnightblue" points="225.385,-556.769 218.251,-564.603 228.713,-562.928 225.385,-556.769"/>
</g>
<!-- Node8 -->
<g id="node8" class="node"><title>Node8</title>
<g id="a_node8"><a xlink:href="a00388.html#ga676c4dee6522815b16fdc8e448e43590" target="_top" xlink:title="For UTF-8 and similar, tds_iconv() may encounter a partial sequence when the chunk boundary is not al...">
<polygon fill="white" stroke="black" points="289,-171.5 289,-190.5 393,-190.5 393,-171.5 289,-171.5"/>
<text text-anchor="middle" x="341" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00">read_and_convert</text>
</a>
</g>
</g>
<!-- Node5->Node8 -->
<g id="edge7" class="edge"><title>Node5->Node8</title>
<path fill="none" stroke="midnightblue" d="M227.155,-559.563C230.41,-557.429 233.401,-554.928 236,-552 312.569,-465.745 233.699,-403.792 272,-295 286.77,-253.047 317.919,-209.556 332.356,-190.692"/>
<polygon fill="midnightblue" stroke="midnightblue" points="225.217,-556.628 218.013,-564.396 228.489,-562.816 225.217,-556.628"/>
</g>
<!-- Node11 -->
<g id="node11" class="node"><title>Node11</title>
<g id="a_node11"><a xlink:href="a00388.html#ga1fcaf8d488cc1390f106ce3ad0bf37b4" target="_top" xlink:title="Output a string to wire automatic translate string to unicode if needed. ">
<polygon fill="white" stroke="red" points="299.5,-304.5 299.5,-323.5 382.5,-323.5 382.5,-304.5 299.5,-304.5"/>
<text text-anchor="middle" x="341" y="-311.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_put_string</text>
</a>
</g>
</g>
<!-- Node5->Node11 -->
<g id="edge10" class="edge"><title>Node5->Node11</title>
<path fill="none" stroke="midnightblue" d="M227.292,-558.106C230.387,-556.323 233.317,-554.299 236,-552 310.649,-488.042 333.578,-360.425 338.74,-323.948"/>
<polygon fill="midnightblue" stroke="midnightblue" points="225.673,-555.001 218.204,-562.515 228.729,-561.298 225.673,-555.001"/>
</g>
<!-- Node7 -->
<g id="node7" class="node"><title>Node7</title>
<g id="a_node7"><a xlink:href="a00375.html#ga065757a7d0dce354660900de4aa79e2f" target="_top" xlink:title="_bcp_read_hostfile">
<polygon fill="white" stroke="red" points="468.5,-0.5 468.5,-19.5 575.5,-19.5 575.5,-0.5 468.5,-0.5"/>
<text text-anchor="middle" x="522" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_bcp_read_hostfile</text>
</a>
</g>
</g>
<!-- Node6->Node7 -->
<g id="edge6" class="edge"><title>Node6->Node7</title>
<path fill="none" stroke="midnightblue" d="M392.697,-134.68C399.027,-132.031 405.015,-128.556 410,-124 443.328,-93.5372 412.304,-59.0547 446,-29 452.315,-23.3672 460.064,-19.3562 468.159,-16.5098"/>
<polygon fill="midnightblue" stroke="midnightblue" points="391.53,-131.38 383.257,-137.998 393.852,-137.984 391.53,-131.38"/>
</g>
<!-- Node9 -->
<g id="node9" class="node"><title>Node9</title>
<g id="a_node9"><a xlink:href="a00388.html#ga90f080e6e9448feac15dee1370d66802" target="_top" xlink:title="Fetch a string from the wire. ">
<polygon fill="white" stroke="red" points="480,-76.5 480,-95.5 564,-95.5 564,-76.5 480,-76.5"/>
<text text-anchor="middle" x="522" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_get_string</text>
</a>
</g>
</g>
<!-- Node8->Node9 -->
<g id="edge8" class="edge"><title>Node8->Node9</title>
<path fill="none" stroke="midnightblue" d="M400.965,-167.431C404.13,-165.82 407.168,-164.017 410,-162 432.896,-145.694 423.412,-126.73 446,-110 455.888,-102.677 468.093,-97.5366 479.764,-93.9494"/>
<polygon fill="midnightblue" stroke="midnightblue" points="399.512,-164.247 391.777,-171.487 402.338,-170.651 399.512,-164.247"/>
</g>
<!-- Node10 -->
<g id="node10" class="node"><title>Node10</title>
<g id="a_node10"><a xlink:href="a00388.html#ga8d214089b6e97fc0da5e0be09f216d73" target="_top" xlink:title="Fetch character data the wire. ">
<polygon fill="white" stroke="red" points="469,-38.5 469,-57.5 575,-57.5 575,-38.5 469,-38.5"/>
<text text-anchor="middle" x="522" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_get_char_data</text>
</a>
</g>
</g>
<!-- Node8->Node10 -->
<g id="edge9" class="edge"><title>Node8->Node10</title>
<path fill="none" stroke="midnightblue" d="M402.026,-167.95C404.873,-166.206 407.557,-164.233 410,-162 443.328,-131.537 412.304,-97.0547 446,-67 452.516,-61.1884 460.558,-57.1031 468.931,-54.2422"/>
<polygon fill="midnightblue" stroke="midnightblue" points="400.388,-164.856 393.074,-172.521 403.571,-171.09 400.388,-164.856"/>
</g>
<!-- Node12 -->
<g id="node12" class="node"><title>Node12</title>
<g id="a_node12"><a xlink:href="a00387.html#ga95e0fccedc459a4404f496eec74a369a" target="_top" xlink:title="tds_submit_query_params() sends a language string to the database server for processing. ">
<polygon fill="white" stroke="red" points="634,-304.5 634,-323.5 774,-323.5 774,-304.5 634,-304.5"/>
<text text-anchor="middle" x="704" y="-311.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_submit_query_params</text>
</a>
</g>
</g>
<!-- Node11->Node12 -->
<g id="edge11" class="edge"><title>Node11->Node12</title>
<path fill="none" stroke="midnightblue" d="M353.045,-295.577C379.428,-251.606 444.073,-144.083 446,-143 504.886,-109.892 539.043,-110.017 598,-143 600.081,-144.164 675.443,-268.479 697.184,-304.389"/>
<polygon fill="midnightblue" stroke="midnightblue" points="349.902,-294.013 347.76,-304.389 355.905,-297.614 349.902,-294.013"/>
</g>
<!-- Node13 -->
<g id="node13" class="node"><title>Node13</title>
<g id="a_node13"><a xlink:href="a00387.html#ga6e42b4a1d1d3898229ea2fe4afc2ecec" target="_top" xlink:title="Output params types and query (required by sp_prepare/sp_executesql/sp_prepexec) ">
<polygon fill="white" stroke="black" points="456.5,-304.5 456.5,-323.5 587.5,-323.5 587.5,-304.5 456.5,-304.5"/>
<text text-anchor="middle" x="522" y="-311.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds7_put_query_params</text>
</a>
</g>
</g>
<!-- Node11->Node13 -->
<g id="edge12" class="edge"><title>Node11->Node13</title>
<path fill="none" stroke="midnightblue" d="M392.651,-314C412.435,-314 435.363,-314 456.32,-314"/>
<polygon fill="midnightblue" stroke="midnightblue" points="392.618,-310.5 382.618,-314 392.618,-317.5 392.618,-310.5"/>
</g>
<!-- Node17 -->
<g id="node17" class="node"><title>Node17</title>
<g id="a_node17"><a xlink:href="a00387.html#gaf573d8d4d2660c8c27770573fca05ff5" target="_top" xlink:title="Send a unprepare request for a prepared query. ">
<polygon fill="white" stroke="red" points="643.5,-760.5 643.5,-779.5 764.5,-779.5 764.5,-760.5 643.5,-760.5"/>
<text text-anchor="middle" x="704" y="-767.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_submit_unprepare</text>
</a>
</g>
</g>
<!-- Node11->Node17 -->
<g id="edge17" class="edge"><title>Node11->Node17</title>
<path fill="none" stroke="midnightblue" d="M345.968,-334.124C361.364,-411.341 417.689,-685.71 446,-713 498.482,-763.59 585.331,-773.267 643.349,-773.374"/>
<polygon fill="midnightblue" stroke="midnightblue" points="349.309,-332.979 343.93,-323.851 342.443,-334.341 349.309,-332.979"/>
</g>
<!-- Node18 -->
<g id="node18" class="node"><title>Node18</title>
<g id="a_node18"><a xlink:href="a00326.html#a4daaa551e54dbd978650e2eef89e09ff" target="_top" xlink:title="Send BCP metadata to server. ">
<polygon fill="white" stroke="black" points="446,-152.5 446,-171.5 598,-171.5 598,-152.5 446,-152.5"/>
<text text-anchor="middle" x="522" y="-159.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds7_bcp_send_colmetadata</text>
</a>
</g>
</g>
<!-- Node11->Node18 -->
<g id="edge18" class="edge"><title>Node11->Node18</title>
<path fill="none" stroke="midnightblue" d="M352.128,-295.685C368.372,-267.962 402.849,-215.463 446,-186 455.145,-179.756 466.012,-175.06 476.595,-171.558"/>
<polygon fill="midnightblue" stroke="midnightblue" points="349.083,-293.96 347.159,-304.379 355.16,-297.434 349.083,-293.96"/>
</g>
<!-- Node13->Node12 -->
<g id="edge13" class="edge"><title>Node13->Node12</title>
<path fill="none" stroke="midnightblue" d="M598.073,-314C609.972,-314 622.229,-314 633.981,-314"/>
<polygon fill="midnightblue" stroke="midnightblue" points="597.73,-310.5 587.73,-314 597.73,-317.5 597.73,-310.5"/>
</g>
<!-- Node14 -->
<g id="node14" class="node"><title>Node14</title>
<g id="a_node14"><a xlink:href="a00387.html#ga74eb08c3a1c85be8ac9db428842c8b9d" target="_top" xlink:title="tds_submit_prepare() creates a temporary stored procedure in the server. ">
<polygon fill="white" stroke="black" points="649,-608.5 649,-627.5 759,-627.5 759,-608.5 649,-608.5"/>
<text text-anchor="middle" x="704" y="-615.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_submit_prepare</text>
</a>
</g>
</g>
<!-- Node13->Node14 -->
<g id="edge14" class="edge"><title>Node13->Node14</title>
<path fill="none" stroke="midnightblue" d="M552.075,-328.913C568.169,-338.694 587.072,-353.004 598,-371 646.925,-451.565 579.311,-503.231 634,-580 643.442,-593.255 659.016,-602.398 672.98,-608.388"/>
<polygon fill="midnightblue" stroke="midnightblue" points="553.417,-325.646 543.005,-323.683 549.92,-331.71 553.417,-325.646"/>
</g>
<!-- Node15 -->
<g id="node15" class="node"><title>Node15</title>
<g id="a_node15"><a xlink:href="a00387.html#gae603aed795a4c5bb26ab159a11256996" target="_top" xlink:title="Submit a prepared query with parameters. ">
<polygon fill="white" stroke="black" points="643.5,-551.5 643.5,-570.5 764.5,-570.5 764.5,-551.5 643.5,-551.5"/>
<text text-anchor="middle" x="704" y="-558.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_submit_execdirect</text>
</a>
</g>
</g>
<!-- Node13->Node15 -->
<g id="edge15" class="edge"><title>Node13->Node15</title>
<path fill="none" stroke="midnightblue" d="M548.188,-329.26C563.864,-339.637 583.694,-354.453 598,-371 650.256,-431.441 687.971,-522.077 699.392,-551.447"/>
<polygon fill="midnightblue" stroke="midnightblue" points="549.815,-326.146 539.51,-323.684 546.031,-332.035 549.815,-326.146"/>
</g>
<!-- Node16 -->
<g id="node16" class="node"><title>Node16</title>
<g id="a_node16"><a xlink:href="a00387.html#ga08877c101704bebe4fa57e0849dc272d" target="_top" xlink:title="tds71_submit_prepexec() creates a temporary stored procedure in the server. ">
<polygon fill="white" stroke="black" points="640,-342.5 640,-361.5 768,-361.5 768,-342.5 640,-342.5"/>
<text text-anchor="middle" x="704" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds71_submit_prepexec</text>
</a>
</g>
</g>
<!-- Node13->Node16 -->
<g id="edge16" class="edge"><title>Node13->Node16</title>
<path fill="none" stroke="midnightblue" d="M578.331,-325.681C603.857,-331.07 633.776,-337.386 657.905,-342.48"/>
<polygon fill="midnightblue" stroke="midnightblue" points="578.929,-322.23 568.422,-323.589 577.483,-329.079 578.929,-322.23"/>
</g>
<!-- Node19 -->
<g id="node19" class="node"><title>Node19</title>
<g id="a_node19"><a xlink:href="a00217.html#a8208eef2a3974ae1f0cf3c8c8ab011ce" target="_top" xlink:title="Start sending BCP data to server. ">
<polygon fill="white" stroke="red" points="664,-171.5 664,-190.5 744,-190.5 744,-171.5 664,-171.5"/>
<text text-anchor="middle" x="704" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_bcp_start</text>
</a>
</g>
</g>
<!-- Node18->Node19 -->
<g id="edge19" class="edge"><title>Node18->Node19</title>
<path fill="none" stroke="midnightblue" d="M608.151,-170.988C627.589,-173.04 647.33,-175.124 663.732,-176.855"/>
<polygon fill="midnightblue" stroke="midnightblue" points="608.345,-167.489 598.033,-169.92 607.61,-174.451 608.345,-167.489"/>
</g>
<!-- Node20->Node12 -->
<g id="edge38" class="edge"><title>Node20->Node12</title>
<path fill="none" stroke="midnightblue" d="M344.579,-636.308C354.071,-567.19 389.477,-337.538 446,-295 518.031,-240.791 635.892,-283.69 682.81,-304.413"/>
<polygon fill="midnightblue" stroke="midnightblue" points="341.099,-635.921 343.235,-646.299 348.037,-636.854 341.099,-635.921"/>
</g>
<!-- Node20->Node14 -->
<g id="edge39" class="edge"><title>Node20->Node14</title>
<path fill="none" stroke="midnightblue" d="M391.673,-650.771C459.089,-643.675 579.115,-631.04 648.798,-623.705"/>
<polygon fill="midnightblue" stroke="midnightblue" points="390.899,-647.333 381.321,-651.861 391.632,-654.295 390.899,-647.333"/>
</g>
<!-- Node20->Node15 -->
<g id="edge40" class="edge"><title>Node20->Node15</title>
<path fill="none" stroke="midnightblue" d="M382.47,-643.47C401.664,-637.647 424.953,-630.754 446,-625 522.065,-604.204 611.555,-582.548 662.345,-570.518"/>
<polygon fill="midnightblue" stroke="midnightblue" points="381.384,-640.142 372.839,-646.406 383.425,-646.837 381.384,-640.142"/>
</g>
<!-- Node20->Node16 -->
<g id="edge41" class="edge"><title>Node20->Node16</title>
<path fill="none" stroke="midnightblue" d="M342.404,-636.124C344.669,-582.919 358.908,-436.844 446,-371 508.811,-323.513 606.73,-332.34 661.795,-342.494"/>
<polygon fill="midnightblue" stroke="midnightblue" points="338.901,-636.159 342.074,-646.267 345.897,-636.386 338.901,-636.159"/>
</g>
<!-- Node20->Node17 -->
<g id="edge43" class="edge"><title>Node20->Node17</title>
<path fill="none" stroke="midnightblue" d="M350.698,-675.174C365.417,-704.972 398.359,-761.324 446,-784 522.659,-820.488 627.094,-795.102 675.848,-779.588"/>
<polygon fill="midnightblue" stroke="midnightblue" points="353.714,-673.366 346.257,-665.84 347.393,-676.374 353.714,-673.366"/>
</g>
<!-- Node20->Node18 -->
<g id="edge51" class="edge"><title>Node20->Node18</title>
<path fill="none" stroke="midnightblue" d="M346.057,-636.415C364.29,-548.554 438.11,-194.651 446,-186 451.804,-179.636 459.293,-174.951 467.287,-171.504"/>
<polygon fill="midnightblue" stroke="midnightblue" points="342.593,-635.881 343.99,-646.383 349.447,-637.302 342.593,-635.881"/>
</g>
<!-- Node20->Node19 -->
<g id="edge53" class="edge"><title>Node20->Node19</title>
<path fill="none" stroke="midnightblue" d="M346.121,-636.253C363.461,-553.547 430.319,-238.613 446,-224 476.944,-195.163 599.812,-185.511 663.798,-182.403"/>
<polygon fill="midnightblue" stroke="midnightblue" points="342.676,-635.629 344.054,-646.134 349.527,-637.063 342.676,-635.629"/>
</g>
<!-- Node21 -->
<g id="node21" class="node"><title>Node21</title>
<g id="a_node21"><a xlink:href="a00387.html#gada27f4cfce925240ad33b71b63ca692d" target="_top" xlink:title="Flush query packet. ">
<polygon fill="white" stroke="red" points="458,-684.5 458,-703.5 586,-703.5 586,-684.5 458,-684.5"/>
<text text-anchor="middle" x="522" y="-691.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_query_flush_packet</text>
</a>
</g>
</g>
<!-- Node20->Node21 -->
<g id="edge21" class="edge"><title>Node20->Node21</title>
<path fill="none" stroke="midnightblue" d="M391.142,-666.432C417.703,-672.071 450.262,-678.983 476.134,-684.475"/>
<polygon fill="midnightblue" stroke="midnightblue" points="391.791,-662.992 381.282,-664.339 390.337,-669.84 391.791,-662.992"/>
</g>
<!-- Node22 -->
<g id="node22" class="node"><title>Node22</title>
<g id="a_node22"><a xlink:href="a00387.html#ga3e7b4793c6f799fbc6c174f673bb5b32" target="_top" xlink:title="tds_submit_execute() sends a previously prepared dynamic statement to the server. ...">
<polygon fill="white" stroke="black" points="649.5,-950.5 649.5,-969.5 758.5,-969.5 758.5,-950.5 649.5,-950.5"/>
<text text-anchor="middle" x="704" y="-957.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_submit_execute</text>
</a>
</g>
</g>
<!-- Node20->Node22 -->
<g id="edge42" class="edge"><title>Node20->Node22</title>
<path fill="none" stroke="midnightblue" d="M343.737,-675.639C349.137,-724.125 370.149,-850.061 446,-912 503.569,-959.011 592.642,-965.52 649.361,-964.107"/>
<polygon fill="midnightblue" stroke="midnightblue" points="347.204,-675.142 342.718,-665.544 340.24,-675.844 347.204,-675.142"/>
</g>
<!-- Node23 -->
<g id="node23" class="node"><title>Node23</title>
<g id="a_node23"><a xlink:href="a00387.html#ga5f071b94ad7889690762dc85646c74ab" target="_top" xlink:title="tds_submit_rpc() call a RPC from server. ">
<polygon fill="white" stroke="red" points="660.5,-646.5 660.5,-665.5 747.5,-665.5 747.5,-646.5 660.5,-646.5"/>
<text text-anchor="middle" x="704" y="-653.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_submit_rpc</text>
</a>
</g>
</g>
<!-- Node20->Node23 -->
<g id="edge44" class="edge"><title>Node20->Node23</title>
<path fill="none" stroke="midnightblue" d="M391.39,-656C462.651,-656 593.114,-656 660.385,-656"/>
<polygon fill="midnightblue" stroke="midnightblue" points="391.321,-652.5 381.321,-656 391.321,-659.5 391.321,-652.5"/>
</g>
<!-- Node24 -->
<g id="node24" class="node"><title>Node24</title>
<g id="a_node24"><a xlink:href="a00387.html#gab25de0567ac096e8f8e88490eeddf562" target="_top" xlink:title="Send a deallocation request to server. ">
<polygon fill="white" stroke="red" points="651,-912.5 651,-931.5 757,-931.5 757,-912.5 651,-912.5"/>
<text text-anchor="middle" x="704" y="-919.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_cursor_dealloc</text>
</a>
</g>
</g>
<!-- Node20->Node24 -->
<g id="edge45" class="edge"><title>Node20->Node24</title>
<path fill="none" stroke="midnightblue" d="M345.252,-675.641C353.527,-718.981 379.623,-822.998 446,-874 505.297,-919.562 594.712,-926.36 650.921,-925.418"/>
<polygon fill="midnightblue" stroke="midnightblue" points="348.694,-675.001 343.482,-665.777 341.804,-676.238 348.694,-675.001"/>
</g>
<!-- Node25 -->
<g id="node25" class="node"><title>Node25</title>
<g id="a_node25"><a xlink:href="a00387.html#gaf0da49585d39e99780a004ee2ca23479" target="_top" xlink:title="Send option commands to server. ">
<polygon fill="white" stroke="black" points="1106,-684.5 1106,-703.5 1227,-703.5 1227,-684.5 1106,-684.5"/>
<text text-anchor="middle" x="1166.5" y="-691.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_submit_optioncmd</text>
</a>
</g>
</g>
<!-- Node20->Node25 -->
<g id="edge46" class="edge"><title>Node20->Node25</title>
<path fill="none" stroke="midnightblue" d="M345.901,-636.125C361.048,-559.881 416.572,-289.097 446,-264 533.352,-189.502 588.195,-238 703,-238 703,-238 703,-238 867,-238 1088.41,-238 1154.45,-618.993 1164.17,-684.476"/>
<polygon fill="midnightblue" stroke="midnightblue" points="342.401,-635.781 343.897,-646.27 349.269,-637.138 342.401,-635.781"/>
</g>
<!-- Node26 -->
<g id="node26" class="node"><title>Node26</title>
<g id="a_node26"><a xlink:href="a00387.html#ga7bf3670d3d6dabed469b9eb117298079" target="_top" xlink:title="Send a rollback request. ">
<polygon fill="white" stroke="black" points="643,-874.5 643,-893.5 765,-893.5 765,-874.5 643,-874.5"/>
<text text-anchor="middle" x="704" y="-881.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_submit_begin_tran</text>
</a>
</g>
</g>
<!-- Node20->Node26 -->
<g id="edge47" class="edge"><title>Node20->Node26</title>
<path fill="none" stroke="midnightblue" d="M347.312,-675.523C358.632,-713.158 388.883,-795.588 446,-836 503.988,-877.028 587.123,-885.832 642.988,-886.477"/>
<polygon fill="midnightblue" stroke="midnightblue" points="350.635,-674.413 344.505,-665.771 343.908,-676.349 350.635,-674.413"/>
</g>
<!-- Node27 -->
<g id="node27" class="node"><title>Node27</title>
<g id="a_node27"><a xlink:href="a00387.html#ga9c1cdcc388506a2ca3c0aaee8c461ba6" target="_top" xlink:title="Send a rollback request. ">
<polygon fill="white" stroke="black" points="650,-817.5 650,-836.5 758,-836.5 758,-817.5 650,-817.5"/>
<text text-anchor="middle" x="704" y="-824.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_submit_rollback</text>
</a>
</g>
</g>
<!-- Node20->Node27 -->
<g id="edge48" class="edge"><title>Node20->Node27</title>
<path fill="none" stroke="midnightblue" d="M348.828,-675.183C361.862,-708.622 393.735,-776.89 446,-807 508.82,-843.191 595.05,-841.587 649.905,-835.529"/>
<polygon fill="midnightblue" stroke="midnightblue" points="352.04,-673.78 345.257,-665.642 345.485,-676.234 352.04,-673.78"/>
</g>
<!-- Node28 -->
<g id="node28" class="node"><title>Node28</title>
<g id="a_node28"><a xlink:href="a00387.html#ga530538c4c975524cf0b771a550fc94a3" target="_top" xlink:title="Send a commit request. ">
<polygon fill="white" stroke="black" points="651.5,-722.5 651.5,-741.5 756.5,-741.5 756.5,-722.5 651.5,-722.5"/>
<text text-anchor="middle" x="704" y="-729.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_submit_commit</text>
</a>
</g>
</g>
<!-- Node20->Node28 -->
<g id="edge49" class="edge"><title>Node20->Node28</title>
<path fill="none" stroke="midnightblue" d="M363.412,-671.33C383.634,-684.906 415.352,-703.935 446,-713 514.858,-733.367 598.394,-735.664 651.137,-734.543"/>
<polygon fill="midnightblue" stroke="midnightblue" points="365.198,-668.311 354.974,-665.531 361.233,-674.08 365.198,-668.311"/>
</g>
<!-- Node29 -->
<g id="node29" class="node"><title>Node29</title>
<g id="a_node29"><a xlink:href="a00387.html#ga9ad2e6defce530a8778791cce0166ccd" target="_top" xlink:title="Start query packet of a given type. ">
<polygon fill="white" stroke="red" points="462,-532.5 462,-551.5 582,-551.5 582,-532.5 462,-532.5"/>
<text text-anchor="middle" x="522" y="-539.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_start_query_head</text>
</a>
</g>
</g>
<!-- Node20->Node29 -->
<g id="edge34" class="edge"><title>Node20->Node29</title>
<path fill="none" stroke="midnightblue" d="M357.466,-638.949C376.506,-618.894 410.681,-585.827 446,-566 456.729,-559.977 469.184,-555.223 480.825,-551.589"/>
<polygon fill="midnightblue" stroke="midnightblue" points="354.752,-636.728 350.494,-646.43 359.873,-641.5 354.752,-636.728"/>
</g>
<!-- Node30 -->
<g id="node30" class="node"><title>Node30</title>
<g id="a_node30"><a xlink:href="a00217.html#ad9e44450025cbcee1ad81d7e5a2cc099" target="_top" xlink:title="Send one row of data to server. ">
<polygon fill="white" stroke="red" points="462.5,-494.5 462.5,-513.5 581.5,-513.5 581.5,-494.5 462.5,-494.5"/>
<text text-anchor="middle" x="522" y="-501.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_bcp_send_record</text>
</a>
</g>
</g>
<!-- Node20->Node30 -->
<g id="edge50" class="edge"><title>Node20->Node30</title>
<path fill="none" stroke="midnightblue" d="M351.488,-637.05C367.087,-607.897 400.97,-552.35 446,-523 451.964,-519.113 458.673,-516.021 465.563,-513.561"/>
<polygon fill="midnightblue" stroke="midnightblue" points="348.252,-635.687 346.744,-646.174 354.463,-638.916 348.252,-635.687"/>
</g>
<!-- Node31 -->
<g id="node31" class="node"><title>Node31</title>
<g id="a_node31"><a xlink:href="a00217.html#ade7df2db455b61edc83819ad60edb339" target="_top" xlink:title="Tell we finished sending BCP data to server. ">
<polygon fill="white" stroke="red" points="480.5,-456.5 480.5,-475.5 563.5,-475.5 563.5,-456.5 480.5,-456.5"/>
<text text-anchor="middle" x="522" y="-463.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_bcp_done</text>
</a>
</g>
</g>
<!-- Node20->Node31 -->
<g id="edge52" class="edge"><title>Node20->Node31</title>
<path fill="none" stroke="midnightblue" d="M348.164,-636.783C360.629,-601.107 392.305,-524.666 446,-485 455.94,-477.657 468.421,-473.138 480.334,-470.362"/>
<polygon fill="midnightblue" stroke="midnightblue" points="344.78,-635.867 344.91,-646.461 351.415,-638.098 344.78,-635.867"/>
</g>
<!-- Node32 -->
<g id="node32" class="node"><title>Node32</title>
<g id="a_node32"><a xlink:href="a00217.html#a7711612cc544a7da2c7aa212b870acb2" target="_top" xlink:title="Start writing writetext request. ">
<polygon fill="white" stroke="red" points="470,-418.5 470,-437.5 574,-437.5 574,-418.5 470,-418.5"/>
<text text-anchor="middle" x="522" y="-425.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_writetext_start</text>
</a>
</g>
</g>
<!-- Node20->Node32 -->
<g id="edge54" class="edge"><title>Node20->Node32</title>
<path fill="none" stroke="midnightblue" d="M345.997,-636.345C355.52,-594.711 383.575,-497.335 446,-447 452.901,-441.435 461.229,-437.477 469.789,-434.667"/>
<polygon fill="midnightblue" stroke="midnightblue" points="342.534,-635.797 343.832,-646.312 349.375,-637.282 342.534,-635.797"/>
</g>
<!-- Node33 -->
<g id="node33" class="node"><title>Node33</title>
<g id="a_node33"><a xlink:href="a00217.html#ab68dead99a2ebec55895a10cd3db5202" target="_top" xlink:title="Send some data in the writetext request started by tds_writetext_start. ">
<polygon fill="white" stroke="red" points="461,-380.5 461,-399.5 583,-399.5 583,-380.5 461,-380.5"/>
<text text-anchor="middle" x="522" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_writetext_continue</text>
</a>
</g>
</g>
<!-- Node20->Node33 -->
<g id="edge55" class="edge"><title>Node20->Node33</title>
<path fill="none" stroke="midnightblue" d="M344.34,-636.389C351.002,-589.554 374.461,-470.514 446,-409 450.481,-405.147 455.638,-402.057 461.105,-399.581"/>
<polygon fill="midnightblue" stroke="midnightblue" points="340.853,-636.058 343.017,-646.429 347.793,-636.972 340.853,-636.058"/>
</g>
<!-- Node34 -->
<g id="node34" class="node"><title>Node34</title>
<g id="a_node34"><a xlink:href="a00217.html#ac1e460551f1188620ea478238864ac4b" target="_top" xlink:title="Finish sending writetext data. ">
<polygon fill="white" stroke="red" points="471.5,-1026.5 471.5,-1045.5 572.5,-1045.5 572.5,-1026.5 471.5,-1026.5"/>
<text text-anchor="middle" x="522" y="-1033.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_writetext_end</text>
</a>
</g>
</g>
<!-- Node20->Node34 -->
<g id="edge56" class="edge"><title>Node20->Node34</title>
<path fill="none" stroke="midnightblue" d="M341.718,-675.771C341.973,-735.266 350.981,-914.529 446,-1012 452.966,-1019.15 462.058,-1024.17 471.497,-1027.7"/>
<polygon fill="midnightblue" stroke="midnightblue" points="345.219,-675.543 341.761,-665.528 338.219,-675.514 345.219,-675.543"/>
</g>
<!-- Node20->Node35 -->
<g id="edge57" class="edge"><title>Node20->Node35</title>
<path fill="none" stroke="midnightblue" d="M342.429,-676.033C344.677,-740.758 358.694,-948.163 446,-1088 460.494,-1111.21 486.678,-1129.88 503.953,-1140.45"/>
<polygon fill="midnightblue" stroke="midnightblue" points="345.917,-675.552 342.131,-665.657 338.92,-675.753 345.917,-675.552"/>
</g>
<!-- Node42 -->
<g id="node42" class="node"><title>Node42</title>
<g id="a_node42"><a xlink:href="a00390.html#gabfc9de1d1fe718818caf63a4be4035a6" target="_top" xlink:title="process all streams. ">
<polygon fill="white" stroke="red" points="958,-1007.5 958,-1026.5 1070,-1026.5 1070,-1007.5 958,-1007.5"/>
<text text-anchor="middle" x="1014" y="-1014.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_process_tokens</text>
</a>
</g>
</g>
<!-- Node20->Node42 -->
<g id="edge70" class="edge"><title>Node20->Node42</title>
<path fill="none" stroke="midnightblue" d="M342.417,-675.832C344.705,-729.648 358.977,-879.198 446,-951 485.033,-983.206 822.714,-1006.03 957.643,-1013.95"/>
<polygon fill="midnightblue" stroke="midnightblue" points="345.907,-675.48 342.082,-665.6 338.911,-675.709 345.907,-675.48"/>
</g>
<!-- Node44 -->
<g id="node44" class="node"><title>Node44</title>
<g id="a_node44"><a xlink:href="a00390.html#ga7a081cf9bb8f04ead12f0299fb7c4cd9" target="_top" xlink:title="tds_process_end() processes any of the DONE, DONEPROC, or DONEINPROC tokens. ">
<polygon fill="white" stroke="black" points="655,-1026.5 655,-1045.5 753,-1045.5 753,-1026.5 655,-1026.5"/>
<text text-anchor="middle" x="704" y="-1033.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_process_end</text>
</a>
</g>
</g>
<!-- Node20->Node44 -->
<g id="edge71" class="edge"><title>Node20->Node44</title>
<path fill="none" stroke="midnightblue" d="M344.025,-675.799C352.021,-749.629 384.033,-1007.11 446,-1055 478.658,-1080.24 597.732,-1059.23 661.698,-1045.52"/>
<polygon fill="midnightblue" stroke="midnightblue" points="347.477,-675.164 342.947,-665.586 340.516,-675.899 347.477,-675.164"/>
</g>
<!-- Node21->Node12 -->
<g id="edge22" class="edge"><title>Node21->Node12</title>
<path fill="none" stroke="midnightblue" d="M536.026,-675.88C553.108,-651.175 582.697,-604.953 598,-561 631.731,-464.115 565.637,-409.491 634,-333 637.395,-329.202 641.472,-326.133 645.926,-323.657"/>
<polygon fill="midnightblue" stroke="midnightblue" points="533.033,-674.052 530.147,-684.246 538.761,-678.076 533.033,-674.052"/>
</g>
<!-- Node21->Node14 -->
<g id="edge23" class="edge"><title>Node21->Node14</title>
<path fill="none" stroke="midnightblue" d="M547.774,-679.403C569.83,-666.867 603.268,-648.975 634,-637 643.146,-633.436 653.218,-630.263 662.774,-627.578"/>
<polygon fill="midnightblue" stroke="midnightblue" points="545.983,-676.395 539.059,-684.414 549.473,-682.463 545.983,-676.395"/>
</g>
<!-- Node21->Node15 -->
<g id="edge24" class="edge"><title>Node21->Node15</title>
<path fill="none" stroke="midnightblue" d="M540.069,-677.439C561.123,-657.486 598.497,-623.584 634,-599 649.741,-588.1 668.901,-577.758 683.033,-570.622"/>
<polygon fill="midnightblue" stroke="midnightblue" points="537.645,-674.914 532.836,-684.355 542.483,-679.973 537.645,-674.914"/>
</g>
<!-- Node21->Node16 -->
<g id="edge25" class="edge"><title>Node21->Node16</title>
<path fill="none" stroke="midnightblue" d="M533.826,-675.461C548.666,-649.901 575.993,-602.308 598,-561 638.477,-485.024 683.922,-391.553 698.348,-361.667"/>
<polygon fill="midnightblue" stroke="midnightblue" points="530.624,-674.005 528.618,-684.409 536.673,-677.527 530.624,-674.005"/>
</g>
<!-- Node21->Node17 -->
<g id="edge27" class="edge"><title>Node21->Node17</title>
<path fill="none" stroke="midnightblue" d="M547.774,-708.597C569.83,-721.133 603.268,-739.025 634,-751 643.146,-754.564 653.218,-757.737 662.774,-760.422"/>
<polygon fill="midnightblue" stroke="midnightblue" points="549.473,-705.537 539.059,-703.586 545.983,-711.605 549.473,-705.537"/>
</g>
<!-- Node21->Node22 -->
<g id="edge26" class="edge"><title>Node21->Node22</title>
<path fill="none" stroke="midnightblue" d="M526.012,-713.543C534.258,-760.228 561.614,-878.962 634,-941 638.528,-944.881 643.784,-947.975 649.336,-950.44"/>
<polygon fill="midnightblue" stroke="midnightblue" points="529.441,-712.826 524.347,-703.536 522.536,-713.975 529.441,-712.826"/>
</g>
<!-- Node21->Node23 -->
<g id="edge28" class="edge"><title>Node21->Node23</title>
<path fill="none" stroke="midnightblue" d="M578.291,-682.327C604.706,-676.751 635.831,-670.18 660.378,-664.998"/>
<polygon fill="midnightblue" stroke="midnightblue" points="577.483,-678.921 568.422,-684.411 578.929,-685.77 577.483,-678.921"/>
</g>
<!-- Node21->Node24 -->
<g id="edge29" class="edge"><title>Node21->Node24</title>
<path fill="none" stroke="midnightblue" d="M527.76,-713.577C538.882,-755.061 570.569,-852.162 634,-903 639.042,-907.041 644.882,-910.224 650.989,-912.731"/>
<polygon fill="midnightblue" stroke="midnightblue" points="531.088,-712.464 525.211,-703.648 524.308,-714.204 531.088,-712.464"/>
</g>
<!-- Node21->Node25 -->
<g id="edge30" class="edge"><title>Node21->Node25</title>
<path fill="none" stroke="midnightblue" d="M596.194,-694C724.529,-694 987.715,-694 1105.82,-694"/>
<polygon fill="midnightblue" stroke="midnightblue" points="596.069,-690.5 586.069,-694 596.069,-697.5 596.069,-690.5"/>
</g>
<!-- Node21->Node26 -->
<g id="edge31" class="edge"><title>Node21->Node26</title>
<path fill="none" stroke="midnightblue" d="M532.907,-712.482C550.133,-743.276 588.183,-805.676 634,-846 647.654,-858.017 665.744,-867.804 679.976,-874.435"/>
<polygon fill="midnightblue" stroke="midnightblue" points="535.945,-710.742 528.063,-703.663 529.809,-714.113 535.945,-710.742"/>
</g>
<!-- Node21->Node27 -->
<g id="edge32" class="edge"><title>Node21->Node27</title>
<path fill="none" stroke="midnightblue" d="M540.069,-710.561C561.123,-730.514 598.497,-764.416 634,-789 649.741,-799.9 668.901,-810.242 683.033,-817.378"/>
<polygon fill="midnightblue" stroke="midnightblue" points="542.483,-708.027 532.836,-703.645 537.645,-713.086 542.483,-708.027"/>
</g>
<!-- Node21->Node28 -->
<g id="edge33" class="edge"><title>Node21->Node28</title>
<path fill="none" stroke="midnightblue" d="M578.331,-705.681C603.857,-711.07 633.776,-717.386 657.905,-722.48"/>
<polygon fill="midnightblue" stroke="midnightblue" points="578.929,-702.23 568.422,-703.589 577.483,-709.079 578.929,-702.23"/>
</g>
<!-- Node29->Node12 -->
<g id="edge35" class="edge"><title>Node29->Node12</title>
<path fill="none" stroke="midnightblue" d="M591.195,-528.908C593.643,-527.162 595.929,-525.201 598,-523 656.896,-460.405 575.751,-396.198 634,-333 637.537,-329.163 641.77,-326.073 646.377,-323.589"/>
<polygon fill="midnightblue" stroke="midnightblue" points="589.221,-526.007 582.328,-534.053 592.734,-532.061 589.221,-526.007"/>
</g>
<!-- Node29->Node15 -->
<g id="edge36" class="edge"><title>Node29->Node15</title>
<path fill="none" stroke="midnightblue" d="M592.694,-549.357C609.407,-551.121 627.105,-552.989 643.318,-554.7"/>
<polygon fill="midnightblue" stroke="midnightblue" points="592.75,-545.843 582.438,-548.274 592.015,-552.804 592.75,-545.843"/>
</g>
<!-- Node29->Node23 -->
<g id="edge37" class="edge"><title>Node29->Node23</title>
<path fill="none" stroke="midnightblue" d="M538.248,-559.025C558.218,-580.304 595.267,-616.425 634,-637 642.12,-641.313 651.311,-644.721 660.276,-647.385"/>
<polygon fill="midnightblue" stroke="midnightblue" points="540.813,-556.642 531.463,-551.659 535.664,-561.385 540.813,-556.642"/>
</g>
<!-- Node36 -->
<g id="node36" class="node"><title>Node36</title>
<g id="a_node36"><a xlink:href="a00372.html#gaef740b394b44eb33925c2718f7b30d69" target="_top" xlink:title="Close a connection to the server and free associated resources. ">
<polygon fill="white" stroke="black" points="677.5,-1216.5 677.5,-1235.5 730.5,-1235.5 730.5,-1216.5 677.5,-1216.5"/>
<text text-anchor="middle" x="704" y="-1223.5" font-family="Helvetica,sans-Serif" font-size="10.00">dbclose</text>
</a>
</g>
</g>
<!-- Node35->Node36 -->
<g id="edge58" class="edge"><title>Node35->Node36</title>
<path fill="none" stroke="midnightblue" d="M571.514,-1162.76C580.551,-1165.9 589.741,-1169.64 598,-1174 615.929,-1183.46 616.191,-1192.32 634,-1202 647.595,-1209.39 663.903,-1215.19 677.25,-1219.23"/>
<polygon fill="midnightblue" stroke="midnightblue" points="572.413,-1159.37 561.82,-1159.58 570.233,-1166.02 572.413,-1159.37"/>
</g>
<!-- Node37 -->
<g id="node37" class="node"><title>Node37</title>
<g id="a_node37"><a xlink:href="a00372.html#gad0044401c8c83205583f93a4764f2d8b" target="_top" xlink:title="Close server connections and free all related structures. ">
<polygon fill="white" stroke="black" points="844,-1197.5 844,-1216.5 888,-1216.5 888,-1197.5 844,-1197.5"/>
<text text-anchor="middle" x="866" y="-1204.5" font-family="Helvetica,sans-Serif" font-size="10.00">dbexit</text>
</a>
</g>
</g>
<!-- Node35->Node37 -->
<g id="edge61" class="edge"><title>Node35->Node37</title>
<path fill="none" stroke="midnightblue" d="M581.367,-1159.73C658.886,-1172.65 792.023,-1194.84 843.661,-1203.44"/>
<polygon fill="midnightblue" stroke="midnightblue" points="581.714,-1156.24 571.275,-1158.05 580.563,-1163.14 581.714,-1156.24"/>
</g>
<!-- Node35->Node38 -->
<g id="edge62" class="edge"><title>Node35->Node38</title>
<path fill="none" stroke="midnightblue" d="M530.235,-1169.63C544.43,-1205.36 579.388,-1281.02 634,-1321 642.322,-1327.09 652.5,-1331.23 662.457,-1334.04"/>
<polygon fill="midnightblue" stroke="midnightblue" points="533.352,-1167.98 526.498,-1159.9 526.818,-1170.49 533.352,-1167.98"/>
</g>
<!-- Node35->Node39 -->
<g id="edge63" class="edge"><title>Node35->Node39</title>
<path fill="none" stroke="midnightblue" d="M546.411,-1165.47C562.416,-1176.91 583.309,-1193.63 598,-1212 620.099,-1239.63 606.604,-1260.61 634,-1283 642.082,-1289.6 652.289,-1293.92 662.356,-1296.74"/>
<polygon fill="midnightblue" stroke="midnightblue" points="548.301,-1162.52 538.093,-1159.68 544.303,-1168.27 548.301,-1162.52"/>
</g>
<!-- Node35->Node40 -->
<g id="edge64" class="edge"><title>Node35->Node40</title>
<path fill="none" stroke="midnightblue" d="M580.534,-1163.05C586.833,-1165.99 592.826,-1169.59 598,-1174 624.932,-1196.94 606.604,-1222.61 634,-1245 640.35,-1250.19 648.012,-1253.97 655.888,-1256.71"/>
<polygon fill="midnightblue" stroke="midnightblue" points="581.726,-1159.76 571.146,-1159.2 579.067,-1166.23 581.726,-1159.76"/>
</g>
<!-- Node35->Node41 -->
<g id="edge65" class="edge"><title>Node35->Node41</title>
<path fill="none" stroke="midnightblue" d="M581.628,-1152.64C633.347,-1153.32 710.202,-1150.26 774,-1131 799.833,-1123.2 826.422,-1107.2 844.136,-1095.19"/>
<polygon fill="midnightblue" stroke="midnightblue" points="581.372,-1149.13 571.309,-1152.45 581.243,-1156.13 581.372,-1149.13"/>
</g>
<!-- Node43 -->
<g id="node43" class="node"><title>Node43</title>
<g id="a_node43"><a xlink:href="a00390.html#ga3e1b4df4410a86a563a8c155e7799720" target="_top" xlink:title="tds_process_env_chg() when ever certain things change on the server, such as database, character set, language, or block size. ">
<polygon fill="white" stroke="black" points="643.5,-1102.5 643.5,-1121.5 764.5,-1121.5 764.5,-1102.5 643.5,-1102.5"/>
<text text-anchor="middle" x="704" y="-1109.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_process_env_chg</text>
</a>
</g>
</g>
<!-- Node35->Node43 -->
<g id="edge68" class="edge"><title>Node35->Node43</title>
<path fill="none" stroke="midnightblue" d="M578.331,-1138.32C603.857,-1132.93 633.776,-1126.61 657.905,-1121.52"/>
<polygon fill="midnightblue" stroke="midnightblue" points="577.483,-1134.92 568.422,-1140.41 578.929,-1141.77 577.483,-1134.92"/>
</g>
<!-- Node36->Node3 -->
<g id="edge59" class="edge"><title>Node36->Node3</title>
<path fill="none" stroke="midnightblue" d="M740.431,-1232.67C751.557,-1235.57 763.634,-1239.57 774,-1245 808.102,-1262.85 840.939,-1295.18 856.163,-1311.3"/>
<polygon fill="midnightblue" stroke="midnightblue" points="741.096,-1229.23 730.557,-1230.32 739.472,-1236.04 741.096,-1229.23"/>
</g>
<!-- Node36->Node37 -->
<g id="edge60" class="edge"><title>Node36->Node37</title>
<path fill="none" stroke="midnightblue" d="M740.898,-1221.74C772.605,-1217.97 817.757,-1212.61 843.954,-1209.5"/>
<polygon fill="midnightblue" stroke="midnightblue" points="740.224,-1218.29 730.707,-1222.95 741.05,-1225.24 740.224,-1218.29"/>
</g>
<!-- Node41->Node42 -->
<g id="edge66" class="edge"><title>Node41->Node42</title>
<path fill="none" stroke="midnightblue" d="M911.322,-1060.87C937.508,-1049.58 969.547,-1035.75 990.576,-1026.68"/>
<polygon fill="midnightblue" stroke="midnightblue" points="909.766,-1057.73 901.971,-1064.91 912.539,-1064.16 909.766,-1057.73"/>
</g>
<!-- Node42->Node25 -->
<g id="edge67" class="edge"><title>Node42->Node25</title>
<path fill="none" stroke="midnightblue" d="M1023.79,-998.139C1052.07,-937.44 1140.11,-748.498 1161.01,-703.629"/>
<polygon fill="midnightblue" stroke="midnightblue" points="1020.56,-996.791 1019.5,-1007.33 1026.9,-999.747 1020.56,-996.791"/>
</g>
<!-- Node43->Node41 -->
<g id="edge69" class="edge"><title>Node43->Node41</title>
<path fill="none" stroke="midnightblue" d="M762.483,-1100.5C777.87,-1097.43 794.467,-1094.11 809.731,-1091.05"/>
<polygon fill="midnightblue" stroke="midnightblue" points="761.691,-1097.09 752.572,-1102.49 763.064,-1103.96 761.691,-1097.09"/>
</g>
<!-- Node44->Node41 -->
<g id="edge72" class="edge"><title>Node44->Node41</title>
<path fill="none" stroke="midnightblue" d="M749.51,-1048.24C768.321,-1053.41 790.417,-1059.49 810.217,-1064.93"/>
<polygon fill="midnightblue" stroke="midnightblue" points="750.288,-1044.82 739.718,-1045.55 748.432,-1051.57 750.288,-1044.82"/>
</g>
<!-- Node44->Node42 -->
<g id="edge73" class="edge"><title>Node44->Node42</title>
<path fill="none" stroke="midnightblue" d="M763.232,-1032.41C819.176,-1028.96 903.079,-1023.78 957.936,-1020.4"/>
<polygon fill="midnightblue" stroke="midnightblue" points="762.89,-1028.92 753.125,-1033.03 763.322,-1035.91 762.89,-1028.92"/>
</g>
<!-- Node46 -->
<g id="node46" class="node"><title>Node46</title>
<g id="a_node46"><a xlink:href="a00326.html#ab4d7e5309152f54613d52c8469a07fd8" target="_top" xlink:title="Prepare the query to be sent to server to request BCP information. ">
<polygon fill="white" stroke="red" points="272,-95.5 272,-114.5 410,-114.5 410,-95.5 272,-95.5"/>
<text text-anchor="middle" x="341" y="-102.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_bcp_start_insert_stmt</text>
</a>
</g>
</g>
<!-- Node45->Node46 -->
<g id="edge75" class="edge"><title>Node45->Node46</title>
<path fill="none" stroke="midnightblue" d="M232.756,-517.398C233.898,-516.334 234.982,-515.203 236,-514 292.23,-447.568 216.251,-190.837 272,-124 275.219,-120.141 279.151,-117.03 283.486,-114.528"/>
<polygon fill="midnightblue" stroke="midnightblue" points="230.46,-514.742 224.475,-523.484 234.605,-520.382 230.46,-514.742"/>
</g>
<!-- Node47->Node38 -->
<g id="edge78" class="edge"><title>Node47->Node38</title>
<path fill="none" stroke="midnightblue" d="M221.066,-1340C330.419,-1340 567.066,-1340 662.19,-1340"/>
<polygon fill="midnightblue" stroke="midnightblue" points="220.89,-1336.5 210.89,-1340 220.89,-1343.5 220.89,-1336.5"/>
</g>
<!-- Node48->Node39 -->
<g id="edge80" class="edge"><title>Node48->Node39</title>
<path fill="none" stroke="midnightblue" d="M221.292,-1265.76C304.431,-1268.63 463.313,-1275.32 598,-1288 619.239,-1290 642.789,-1293.06 662.195,-1295.81"/>
<polygon fill="midnightblue" stroke="midnightblue" points="221.404,-1262.26 211.291,-1265.42 221.167,-1269.26 221.404,-1262.26"/>
</g>
</g>
</svg>