Current File : //usr/local/apps/share/doc/freetds/reference/a00387_ga74eb08c3a1c85be8ac9db428842c8b9d_cgraph.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: tds_submit_prepare Pages: 1 -->
<svg width="1194pt" height="500pt"
viewBox="0.00 0.00 1194.00 499.95" 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 495.948)">
<title>tds_submit_prepare</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-495.948 1190,-495.948 1190,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="0,-234.5 0,-253.5 110,-253.5 110,-234.5 0,-234.5"/>
<text text-anchor="middle" x="55" y="-241.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_submit_prepare</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><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="542,-430.5 542,-449.5 622,-449.5 622,-430.5 542,-430.5"/>
<text text-anchor="middle" x="582" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_set_state</text>
</a>
</g>
</g>
<!-- Node1->Node2 -->
<g id="edge1" class="edge"><title>Node1->Node2</title>
<path fill="none" stroke="midnightblue" d="M57.4637,-253.505C62.7554,-284.21 83.9708,-381.064 146,-421 208.461,-461.214 431.42,-450.879 531.615,-443.909"/>
<polygon fill="midnightblue" stroke="midnightblue" points="532.053,-447.387 541.779,-443.184 531.555,-440.404 532.053,-447.387"/>
</g>
<!-- Node7 -->
<g id="node7" class="node"><title>Node7</title>
<g id="a_node7"><a xlink:href="a00386.html#ga69559de43b47f4a9e2eecc7a56527444" target="_top" xlink:title="Allocate a dynamic statement. ">
<polygon fill="white" stroke="black" points="167.5,-130.5 167.5,-149.5 271.5,-149.5 271.5,-130.5 167.5,-130.5"/>
<text text-anchor="middle" x="219.5" y="-137.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_alloc_dynamic</text>
</a>
</g>
</g>
<!-- Node1->Node7 -->
<g id="edge8" class="edge"><title>Node1->Node7</title>
<path fill="none" stroke="midnightblue" d="M70.9963,-234.402C99.2929,-216.293 160.762,-176.952 194.737,-155.208"/>
<polygon fill="midnightblue" stroke="midnightblue" points="197.004,-157.913 203.54,-149.574 193.23,-152.017 197.004,-157.913"/>
</g>
<!-- Node10 -->
<g id="node10" class="node"><title>Node10</title>
<g id="a_node10"><a xlink:href="a00386.html#gabf2fdb0def5388508602ee7dd2f49506" target="_top" xlink:title="Frees dynamic statement. ">
<polygon fill="white" stroke="black" points="161,-92.5 161,-111.5 278,-111.5 278,-92.5 161,-92.5"/>
<text text-anchor="middle" x="219.5" y="-99.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_release_dynamic</text>
</a>
</g>
</g>
<!-- Node1->Node10 -->
<g id="edge11" class="edge"><title>Node1->Node10</title>
<path fill="none" stroke="midnightblue" d="M60.266,-234.254C71.023,-210.858 101.598,-151.227 146,-121 148.939,-118.999 152.077,-117.209 155.338,-115.607"/>
<polygon fill="midnightblue" stroke="midnightblue" points="156.966,-118.718 164.79,-111.573 154.218,-112.279 156.966,-118.718"/>
</g>
<!-- Node13 -->
<g id="node13" class="node"><title>Node13</title>
<g id="a_node13"><a xlink:href="a00387.html#gae8b7db85af16701fc0604eb117cbd4e4" target="_top" xlink:title="Set current dynamic. ">
<polygon fill="white" stroke="black" points="172,-54.5 172,-73.5 267,-73.5 267,-54.5 172,-54.5"/>
<text text-anchor="middle" x="219.5" y="-61.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_set_cur_dyn</text>
</a>
</g>
</g>
<!-- Node1->Node13 -->
<g id="edge14" class="edge"><title>Node1->Node13</title>
<path fill="none" stroke="midnightblue" d="M58.5223,-234.26C66.3269,-206.131 92.8215,-124.16 146,-83 150.812,-79.2755 156.285,-76.2777 162.018,-73.8653"/>
<polygon fill="midnightblue" stroke="midnightblue" points="163.613,-77.0111 171.839,-70.3335 161.244,-70.4241 163.613,-77.0111"/>
</g>
<!-- Node14 -->
<g id="node14" class="node"><title>Node14</title>
<g id="a_node14"><a xlink:href="a00387.html#ga024bc5482366735070befd6f4af59f71" target="_top" xlink:title="Convert a string in an allocated buffer. ">
<polygon fill="white" stroke="black" points="530,-392.5 530,-411.5 634,-411.5 634,-392.5 530,-392.5"/>
<text text-anchor="middle" x="582" y="-399.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_convert_string</text>
</a>
</g>
</g>
<!-- Node1->Node14 -->
<g id="edge15" class="edge"><title>Node1->Node14</title>
<path fill="none" stroke="midnightblue" d="M70.0511,-253.687C87.27,-265.18 117.659,-284.258 146,-296 214.473,-324.368 422.318,-369.293 523.896,-390.365"/>
<polygon fill="midnightblue" stroke="midnightblue" points="523.474,-393.852 533.976,-392.45 524.892,-386.997 523.474,-393.852"/>
</g>
<!-- Node18 -->
<g id="node18" class="node"><title>Node18</title>
<g id="a_node18"><a xlink:href="a00387.html#gab775332d378c7fe083750d624441b303" target="_top" xlink:title="Return string with parameters definition, useful for TDS7+ Looks like "@P1 INT, @P2 VARCHAR(100)"...">
<polygon fill="white" stroke="black" points="159,-196 159,-226 280,-226 280,-196 159,-196"/>
<text text-anchor="start" x="167" y="-214" font-family="Helvetica,sans-Serif" font-size="10.00">tds7_build_param_def</text>
<text text-anchor="middle" x="219.5" y="-203" font-family="Helvetica,sans-Serif" font-size="10.00">_from_query</text>
</a>
</g>
</g>
<!-- Node1->Node18 -->
<g id="edge22" class="edge"><title>Node1->Node18</title>
<path fill="none" stroke="midnightblue" d="M103.002,-234.455C117.304,-231.551 133.339,-228.294 148.803,-225.154"/>
<polygon fill="midnightblue" stroke="midnightblue" points="149.756,-228.532 158.86,-223.112 148.363,-221.672 149.756,-228.532"/>
</g>
<!-- Node25 -->
<g id="node25" class="node"><title>Node25</title>
<g id="a_node25"><a xlink:href="a00387.html#ga0da385231bfa3dc49377e1fb2bea2c07" target="_top" xlink:title="Start query packet of a given type. ">
<polygon fill="white" stroke="black" points="174.5,-392.5 174.5,-411.5 264.5,-411.5 264.5,-392.5 174.5,-392.5"/>
<text text-anchor="middle" x="219.5" y="-399.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_start_query</text>
</a>
</g>
</g>
<!-- Node1->Node25 -->
<g id="edge30" class="edge"><title>Node1->Node25</title>
<path fill="none" stroke="midnightblue" d="M59.8453,-253.699C70.0584,-278.228 100.249,-343.254 146,-378 151.735,-382.355 158.299,-385.943 165.084,-388.892"/>
<polygon fill="midnightblue" stroke="midnightblue" points="163.826,-392.158 174.414,-392.531 166.369,-385.637 163.826,-392.158"/>
</g>
<!-- Node27 -->
<g id="node27" class="node"><title>Node27</title>
<g id="a_node27"><a xlink:href="a00387.html#ga0f0b6bf447e9672e3b1ea8453ddeb113" target="_top" xlink:title="Send parameter definition to server. ">
<polygon fill="white" stroke="black" points="146,-16.5 146,-35.5 293,-35.5 293,-16.5 146,-16.5"/>
<text text-anchor="middle" x="219.5" y="-23.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds7_put_params_definition</text>
</a>
</g>
</g>
<!-- Node1->Node27 -->
<g id="edge34" class="edge"><title>Node1->Node27</title>
<path fill="none" stroke="midnightblue" d="M57.3928,-234.369C62.5674,-202.208 83.7101,-97.5923 146,-45 148.001,-43.3107 150.135,-41.7695 152.37,-40.3637"/>
<polygon fill="midnightblue" stroke="midnightblue" points="154.207,-43.3513 161.414,-35.585 150.937,-37.1622 154.207,-43.3513"/>
</g>
<!-- Node28 -->
<g id="node28" class="node"><title>Node28</title>
<g id="a_node28"><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="154,-267.5 154,-286.5 285,-286.5 285,-267.5 154,-267.5"/>
<text text-anchor="middle" x="219.5" y="-274.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds7_put_query_params</text>
</a>
</g>
</g>
<!-- Node1->Node28 -->
<g id="edge35" class="edge"><title>Node1->Node28</title>
<path fill="none" stroke="midnightblue" d="M103.002,-253.545C121.361,-257.273 142.575,-261.581 161.774,-265.48"/>
<polygon fill="midnightblue" stroke="midnightblue" points="161.107,-268.916 171.604,-267.476 162.501,-262.056 161.107,-268.916"/>
</g>
<!-- Node33 -->
<g id="node33" class="node"><title>Node33</title>
<g id="a_node33"><a xlink:href="a00387.html#gada27f4cfce925240ad33b71b63ca692d" target="_top" xlink:title="Flush query packet. ">
<polygon fill="white" stroke="black" points="339.5,-468.5 339.5,-487.5 467.5,-487.5 467.5,-468.5 339.5,-468.5"/>
<text text-anchor="middle" x="403.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_query_flush_packet</text>
</a>
</g>
</g>
<!-- Node1->Node33 -->
<g id="edge45" class="edge"><title>Node1->Node33</title>
<path fill="none" stroke="midnightblue" d="M56.786,-253.608C60.1358,-287.668 76.4295,-403.318 146,-454 202.153,-494.907 284.597,-495.008 340.753,-488.762"/>
<polygon fill="midnightblue" stroke="midnightblue" points="341.414,-492.208 350.921,-487.53 340.572,-485.259 341.414,-492.208"/>
</g>
<!-- Node3 -->
<g id="node3" class="node"><title>Node3</title>
<g id="a_node3"><a xlink:href="a00217.html#ab45c291105027e69836002e1dd586141" target="_top" xlink:title="Write a message to the debug log. ">
<polygon fill="white" stroke="black" points="1109,-329.5 1109,-348.5 1186,-348.5 1186,-329.5 1109,-329.5"/>
<text text-anchor="middle" x="1147.5" y="-336.5" font-family="Helvetica,sans-Serif" font-size="10.00">tdsdump_log</text>
</a>
</g>
</g>
<!-- Node2->Node3 -->
<g id="edge2" class="edge"><title>Node2->Node3</title>
<path fill="none" stroke="midnightblue" d="M622.001,-448.069C724.194,-468.357 997.095,-516.777 1073,-472 1114.89,-447.288 1134.56,-389.192 1142.3,-358.612"/>
<polygon fill="midnightblue" stroke="midnightblue" points="1145.74,-359.238 1144.62,-348.703 1138.93,-357.638 1145.74,-359.238"/>
</g>
<!-- Node4 -->
<g id="node4" class="node"><title>Node4</title>
<g id="a_node4"><a xlink:href="a00217.html#abf18b98efef6ce2dc0b97d658a3a1918" target="_top" xlink:title="Call the client library's error handler (for library-generated errors only) ">
<polygon fill="white" stroke="black" points="690,-386.5 690,-405.5 744,-405.5 744,-386.5 690,-386.5"/>
<text text-anchor="middle" x="717" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">tdserror</text>
</a>
</g>
</g>
<!-- Node2->Node4 -->
<g id="edge3" class="edge"><title>Node2->Node4</title>
<path fill="none" stroke="midnightblue" d="M618.987,-430.407C629.075,-427.553 640.013,-424.301 650,-421 660.756,-417.445 672.351,-413.197 682.776,-409.221"/>
<polygon fill="midnightblue" stroke="midnightblue" points="684.281,-412.391 692.348,-405.522 681.758,-405.862 684.281,-412.391"/>
</g>
<!-- Node4->Node3 -->
<g id="edge4" class="edge"><title>Node4->Node3</title>
<path fill="none" stroke="midnightblue" d="M744.36,-393.424C803.387,-387.521 950.619,-372.045 1073,-353 1081.4,-351.694 1090.3,-350.141 1098.9,-348.553"/>
<polygon fill="midnightblue" stroke="midnightblue" points="1099.64,-351.976 1108.82,-346.685 1098.34,-345.097 1099.64,-351.976"/>
</g>
<!-- Node5 -->
<g id="node5" class="node"><title>Node5</title>
<g id="a_node5"><a xlink:href="a00387.html#ga11338742dc30fd0c2711f58eb830316f" target="_top" xlink:title="tds_send_cancel() sends an empty packet (8 byte header only) tds_process_cancel should be called dire...">
<polygon fill="white" stroke="black" points="805.5,-405.5 805.5,-424.5 902.5,-424.5 902.5,-405.5 805.5,-405.5"/>
<text text-anchor="middle" x="854" y="-412.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_send_cancel</text>
</a>
</g>
</g>
<!-- Node4->Node5 -->
<g id="edge5" class="edge"><title>Node4->Node5</title>
<path fill="none" stroke="midnightblue" d="M744.029,-399.663C758.569,-401.71 777.299,-404.346 795.117,-406.853"/>
<polygon fill="midnightblue" stroke="midnightblue" points="795.073,-410.382 805.463,-408.31 796.049,-403.45 795.073,-410.382"/>
</g>
<!-- Node5->Node3 -->
<g id="edge6" class="edge"><title>Node5->Node3</title>
<path fill="none" stroke="midnightblue" d="M902.515,-416.524C947.78,-416.431 1017.11,-412.209 1073,-391 1094.06,-383.009 1114.7,-367.539 1128.72,-355.541"/>
<polygon fill="midnightblue" stroke="midnightblue" points="1131.37,-357.868 1136.53,-348.618 1126.73,-352.627 1131.37,-357.868"/>
</g>
<!-- Node6 -->
<g id="node6" class="node"><title>Node6</title>
<g id="a_node6"><a xlink:href="a00388.html#ga5feb53554e8917a81bbbc332163a61fb" target="_top" xlink:title="Flush packet to server. ">
<polygon fill="white" stroke="black" points="968.5,-443.5 968.5,-462.5 1064.5,-462.5 1064.5,-443.5 968.5,-443.5"/>
<text text-anchor="middle" x="1016.5" y="-450.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_flush_packet</text>
</a>
</g>
</g>
<!-- Node5->Node6 -->
<g id="edge7" class="edge"><title>Node5->Node6</title>
<path fill="none" stroke="midnightblue" d="M895.501,-424.589C916.681,-429.604 942.802,-435.788 965.26,-441.105"/>
<polygon fill="midnightblue" stroke="midnightblue" points="964.753,-444.582 975.29,-443.48 966.366,-437.77 964.753,-444.582"/>
</g>
<!-- Node8 -->
<g id="node8" class="node"><title>Node8</title>
<g id="a_node8"><a xlink:href="a00390.html#ga595fe391e60a71bd98ffd53b4c015e44" target="_top" xlink:title="Finds a dynamic given string id. ">
<polygon fill="white" stroke="black" points="347,-114.5 347,-133.5 460,-133.5 460,-114.5 347,-114.5"/>
<text text-anchor="middle" x="403.5" y="-121.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_lookup_dynamic</text>
</a>
</g>
</g>
<!-- Node7->Node8 -->
<g id="edge9" class="edge"><title>Node7->Node8</title>
<path fill="none" stroke="midnightblue" d="M271.681,-135.501C291.922,-133.721 315.436,-131.654 336.901,-129.767"/>
<polygon fill="midnightblue" stroke="midnightblue" points="337.268,-133.248 346.923,-128.886 336.655,-126.275 337.268,-133.248"/>
</g>
<!-- Node9 -->
<g id="node9" class="node"><title>Node9</title>
<g id="a_node9"><a xlink:href="a00386.html#ga501af7e6186e59c257729599a044a30b" target="_top" xlink:title="Get an id for dynamic query based on TDS information. ">
<polygon fill="white" stroke="black" points="362,-76.5 362,-95.5 445,-95.5 445,-76.5 362,-76.5"/>
<text text-anchor="middle" x="403.5" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_get_dynid</text>
</a>
</g>
</g>
<!-- Node7->Node9 -->
<g id="edge10" class="edge"><title>Node7->Node9</title>
<path fill="none" stroke="midnightblue" d="M261.495,-130.493C271.874,-127.749 282.931,-124.531 293,-121 309.523,-115.206 312.468,-110.766 329,-105 336.35,-102.436 344.221,-100.044 351.981,-97.8811"/>
<polygon fill="midnightblue" stroke="midnightblue" points="352.955,-101.244 361.704,-95.2678 351.138,-94.4836 352.955,-101.244"/>
</g>
<!-- Node11 -->
<g id="node11" class="node"><title>Node11</title>
<g id="a_node11"><a xlink:href="a00386.html#ga1d60bf443e274797b1d1a9e7418ab962" target="_top" xlink:title="Detach result info from it current socket. ">
<polygon fill="white" stroke="black" points="350.5,-38.5 350.5,-57.5 456.5,-57.5 456.5,-38.5 350.5,-38.5"/>
<text text-anchor="middle" x="403.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_detach_results</text>
</a>
</g>
</g>
<!-- Node10->Node11 -->
<g id="edge12" class="edge"><title>Node10->Node11</title>
<path fill="none" stroke="midnightblue" d="M261.495,-92.4926C271.874,-89.7489 282.931,-86.5307 293,-83 309.523,-77.2061 312.468,-72.7663 329,-67 335.93,-64.5829 343.323,-62.3183 350.65,-60.2542"/>
<polygon fill="midnightblue" stroke="midnightblue" points="351.815,-63.5647 360.55,-57.5684 349.982,-56.8089 351.815,-63.5647"/>
</g>
<!-- Node12 -->
<g id="node12" class="node"><title>Node12</title>
<g id="a_node12"><a xlink:href="a00386.html#gabdc5fee73b22345c02ab894e49ad7f95" target="_top" xlink:title="Frees all allocated input parameters of a dynamic statement. ">
<polygon fill="white" stroke="black" points="341,-0.5 341,-19.5 466,-19.5 466,-0.5 341,-0.5"/>
<text text-anchor="middle" x="403.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_free_input_params</text>
</a>
</g>
</g>
<!-- Node10->Node12 -->
<g id="edge13" class="edge"><title>Node10->Node12</title>
<path fill="none" stroke="midnightblue" d="M275.121,-92.3746C281.47,-89.9254 287.597,-86.8533 293,-83 316.483,-66.251 305.489,-45.7098 329,-29 331.739,-27.053 334.662,-25.3054 337.705,-23.7367"/>
<polygon fill="midnightblue" stroke="midnightblue" points="339.413,-26.8078 347.129,-19.5472 336.57,-20.4114 339.413,-26.8078"/>
</g>
<!-- Node15 -->
<g id="node15" class="node"><title>Node15</title>
<g id="a_node15"><a xlink:href="a00385.html#ga87db49044919f1bc84c0ff5e9ab00304" target="_top" xlink:title="Wrapper around iconv(3). ">
<polygon fill="white" stroke="black" points="686,-291.5 686,-310.5 748,-310.5 748,-291.5 686,-291.5"/>
<text text-anchor="middle" x="717" y="-298.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_iconv</text>
</a>
</g>
</g>
<!-- Node14->Node15 -->
<g id="edge16" class="edge"><title>Node14->Node15</title>
<path fill="none" stroke="midnightblue" d="M630.747,-392.43C637.515,-389.963 644.152,-386.871 650,-383 674.656,-366.68 694.509,-338.234 705.782,-319.509"/>
<polygon fill="midnightblue" stroke="midnightblue" points="708.89,-321.126 710.875,-310.719 702.833,-317.617 708.89,-321.126"/>
</g>
<!-- Node15->Node3 -->
<g id="edge17" class="edge"><title>Node15->Node3</title>
<path fill="none" stroke="midnightblue" d="M725.244,-291.424C736.205,-277.822 758.458,-253.503 784,-244 842.317,-222.303 862.262,-236.251 924,-244 991.81,-252.511 1011.6,-251.987 1073,-282 1094.34,-292.434 1115.43,-309.701 1129.51,-322.501"/>
<polygon fill="midnightblue" stroke="midnightblue" points="1127.24,-325.169 1136.93,-329.436 1132.01,-320.053 1127.24,-325.169"/>
</g>
<!-- Node16 -->
<g id="node16" class="node"><title>Node16</title>
<g id="a_node16"><a xlink:href="a00385.html#ga3380140fc6eb9f2090c430f40e846876" target="_top" xlink:title="Move the input sequence pointer to the next valid position. ">
<polygon fill="white" stroke="black" points="784,-253.5 784,-272.5 924,-272.5 924,-253.5 784,-253.5"/>
<text text-anchor="middle" x="854" y="-260.5" font-family="Helvetica,sans-Serif" font-size="10.00">skip_one_input_sequence</text>
</a>
</g>
</g>
<!-- Node15->Node16 -->
<g id="edge18" class="edge"><title>Node15->Node16</title>
<path fill="none" stroke="midnightblue" d="M748.297,-292.472C766.253,-287.418 789.316,-280.926 809.225,-275.322"/>
<polygon fill="midnightblue" stroke="midnightblue" points="810.328,-278.647 819.006,-272.569 808.432,-271.909 810.328,-278.647"/>
</g>
<!-- Node17 -->
<g id="node17" class="node"><title>Node17</title>
<g id="a_node17"><a xlink:href="a00385.html#ga900b0bce08c6bfc2e7c988f4b5970516" target="_top" xlink:title="Inputs are FreeTDS canonical names, no other. ">
<polygon fill="white" stroke="black" points="960,-291.5 960,-310.5 1073,-310.5 1073,-291.5 960,-291.5"/>
<text text-anchor="middle" x="1016.5" y="-298.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_sys_iconv_open</text>
</a>
</g>
</g>
<!-- Node15->Node17 -->
<g id="edge21" class="edge"><title>Node15->Node17</title>
<path fill="none" stroke="midnightblue" d="M748.163,-301C795.11,-301 886.778,-301 949.56,-301"/>
<polygon fill="midnightblue" stroke="midnightblue" points="949.764,-304.5 959.764,-301 949.764,-297.5 949.764,-304.5"/>
</g>
<!-- Node16->Node17 -->
<g id="edge19" class="edge"><title>Node16->Node17</title>
<path fill="none" stroke="midnightblue" d="M895.501,-272.589C916.681,-277.604 942.802,-283.788 965.26,-289.105"/>
<polygon fill="midnightblue" stroke="midnightblue" points="964.753,-292.582 975.29,-291.48 966.366,-285.77 964.753,-292.582"/>
</g>
<!-- Node17->Node3 -->
<g id="edge20" class="edge"><title>Node17->Node3</title>
<path fill="none" stroke="midnightblue" d="M1050.05,-310.589C1066.4,-315.404 1086.41,-321.299 1103.96,-326.468"/>
<polygon fill="midnightblue" stroke="midnightblue" points="1103.38,-329.946 1113.96,-329.414 1105.35,-323.231 1103.38,-329.946"/>
</g>
<!-- Node19 -->
<g id="node19" class="node"><title>Node19</title>
<g id="a_node19"><a xlink:href="a00387.html#ga0cd19215e9169ea299a6c9cbf5b2fb60" target="_top" xlink:title="Count number of placeholders (?) in a query. ">
<polygon fill="white" stroke="black" points="339,-229 339,-259 468,-259 468,-229 339,-229"/>
<text text-anchor="start" x="347" y="-247" font-family="Helvetica,sans-Serif" font-size="10.00">tds_count_placeholders</text>
<text text-anchor="middle" x="403.5" y="-236" font-family="Helvetica,sans-Serif" font-size="10.00">_ucs2le</text>
</a>
</g>
</g>
<!-- Node18->Node19 -->
<g id="edge23" class="edge"><title>Node18->Node19</title>
<path fill="none" stroke="midnightblue" d="M280.094,-221.805C295.633,-224.623 312.564,-227.693 328.742,-230.626"/>
<polygon fill="midnightblue" stroke="midnightblue" points="328.233,-234.091 338.697,-232.431 329.482,-227.203 328.233,-234.091"/>
</g>
<!-- Node21 -->
<g id="node21" class="node"><title>Node21</title>
<g id="a_node21"><a xlink:href="a00387.html#ga50d62edeb2a432e2dc668263f3f958ff" target="_top" xlink:title="Return declaration for column (like "varchar(20)") ">
<polygon fill="white" stroke="black" points="329,-152.5 329,-171.5 478,-171.5 478,-152.5 329,-152.5"/>
<text text-anchor="middle" x="403.5" y="-159.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_get_column_declaration</text>
</a>
</g>
</g>
<!-- Node18->Node21 -->
<g id="edge25" class="edge"><title>Node18->Node21</title>
<path fill="none" stroke="midnightblue" d="M274.259,-195.944C291.704,-191.109 311.159,-185.772 329,-181 337.511,-178.724 346.588,-176.341 355.356,-174.062"/>
<polygon fill="midnightblue" stroke="midnightblue" points="356.274,-177.44 365.077,-171.545 354.519,-170.663 356.274,-177.44"/>
</g>
<!-- Node24 -->
<g id="node24" class="node"><title>Node24</title>
<g id="a_node24"><a xlink:href="a00387.html#gad05fc65e1d505c68d14c82b99a00e4eb" target="_top" xlink:title="Accept an ASCII string, convert it to UCS2-LE The input is null-terminated, but the output excludes t...">
<polygon fill="white" stroke="black" points="353,-190.5 353,-209.5 454,-209.5 454,-190.5 353,-190.5"/>
<text text-anchor="middle" x="403.5" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_ascii_to_ucs2</text>
</a>
</g>
</g>
<!-- Node18->Node24 -->
<g id="edge29" class="edge"><title>Node18->Node24</title>
<path fill="none" stroke="midnightblue" d="M280.094,-207.398C300.225,-206.181 322.695,-204.823 342.832,-203.606"/>
<polygon fill="midnightblue" stroke="midnightblue" points="343.046,-207.1 352.817,-203.003 342.624,-200.113 343.046,-207.1"/>
</g>
<!-- Node20 -->
<g id="node20" class="node"><title>Node20</title>
<g id="a_node20"><a xlink:href="a00387.html#gaa823973b74efdf1ff00f340496bff614" target="_top" xlink:title="Found the next placeholder (? or @param) in a string. ">
<polygon fill="white" stroke="red" points="522.5,-229 522.5,-259 641.5,-259 641.5,-229 522.5,-229"/>
<text text-anchor="start" x="530.5" y="-247" font-family="Helvetica,sans-Serif" font-size="10.00">tds_next_placeholder</text>
<text text-anchor="middle" x="582" y="-236" font-family="Helvetica,sans-Serif" font-size="10.00">_ucs2le</text>
</a>
</g>
</g>
<!-- Node19->Node20 -->
<g id="edge24" class="edge"><title>Node19->Node20</title>
<path fill="none" stroke="midnightblue" d="M468.221,-244C482.443,-244 497.59,-244 512.014,-244"/>
<polygon fill="midnightblue" stroke="midnightblue" points="512.366,-247.5 522.366,-244 512.366,-240.5 512.366,-247.5"/>
</g>
<!-- Node21->Node3 -->
<g id="edge28" class="edge"><title>Node21->Node3</title>
<path fill="none" stroke="midnightblue" d="M478.004,-171.238C541.042,-178.36 634.348,-187 716,-187 716,-187 716,-187 855,-187 955.146,-187 989.453,-188.781 1073,-244 1102.42,-263.443 1125.04,-298.651 1137.01,-320.314"/>
<polygon fill="midnightblue" stroke="midnightblue" points="1133.96,-322.026 1141.75,-329.208 1140.14,-318.736 1133.96,-322.026"/>
</g>
<!-- Node22 -->
<g id="node22" class="node"><title>Node22</title>
<g id="a_node22"><a xlink:href="a00387.html#ga440f0f469afad1eac4c008979873ccdd" target="_top" xlink:title="Get column size for wire. ">
<polygon fill="white" stroke="black" points="526.5,-101.5 526.5,-120.5 637.5,-120.5 637.5,-101.5 526.5,-101.5"/>
<text text-anchor="middle" x="582" y="-108.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_fix_column_size</text>
</a>
</g>
</g>
<!-- Node21->Node22 -->
<g id="edge26" class="edge"><title>Node21->Node22</title>
<path fill="none" stroke="midnightblue" d="M444.362,-152.42C455.323,-149.589 467.171,-146.347 478,-143 494.253,-137.977 497.807,-135.213 514,-130 520.963,-127.759 528.377,-125.515 535.64,-123.396"/>
<polygon fill="midnightblue" stroke="midnightblue" points="536.748,-126.72 545.393,-120.596 534.816,-119.992 536.748,-126.72"/>
</g>
<!-- Node23 -->
<g id="node23" class="node"><title>Node23</title>
<g id="a_node23"><a xlink:href="a00217.html#a0383d5dcb629582266a442f0f0dbd13a" target="_top" xlink:title="Return type suitable for conversions (convert all nullable types to fixed type) ">
<polygon fill="white" stroke="black" points="514,-139.5 514,-158.5 650,-158.5 650,-139.5 514,-139.5"/>
<text text-anchor="middle" x="582" y="-146.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_get_conversion_type</text>
</a>
</g>
</g>
<!-- Node21->Node23 -->
<g id="edge27" class="edge"><title>Node21->Node23</title>
<path fill="none" stroke="midnightblue" d="M478.074,-156.581C486.48,-155.962 495.068,-155.329 503.523,-154.707"/>
<polygon fill="midnightblue" stroke="midnightblue" points="504.032,-158.179 513.748,-153.953 503.518,-151.197 504.032,-158.179"/>
</g>
<!-- Node26 -->
<g id="node26" class="node"><title>Node26</title>
<g id="a_node26"><a xlink:href="a00387.html#ga9ad2e6defce530a8778791cce0166ccd" target="_top" xlink:title="Start query packet of a given type. ">
<polygon fill="white" stroke="black" points="343.5,-392.5 343.5,-411.5 463.5,-411.5 463.5,-392.5 343.5,-392.5"/>
<text text-anchor="middle" x="403.5" y="-399.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_start_query_head</text>
</a>
</g>
</g>
<!-- Node25->Node26 -->
<g id="edge31" class="edge"><title>Node25->Node26</title>
<path fill="none" stroke="midnightblue" d="M264.557,-402C285.176,-402 310.223,-402 333.287,-402"/>
<polygon fill="midnightblue" stroke="midnightblue" points="333.374,-405.5 343.374,-402 333.374,-398.5 333.374,-405.5"/>
</g>
<!-- Node26->Node2 -->
<g id="edge33" class="edge"><title>Node26->Node2</title>
<path fill="none" stroke="midnightblue" d="M449.038,-411.589C474.282,-417.024 505.909,-423.833 531.872,-429.423"/>
<polygon fill="midnightblue" stroke="midnightblue" points="531.371,-432.895 541.884,-431.578 532.844,-426.052 531.371,-432.895"/>
</g>
<!-- Node26->Node14 -->
<g id="edge32" class="edge"><title>Node26->Node14</title>
<path fill="none" stroke="midnightblue" d="M463.763,-402C481.762,-402 501.571,-402 519.701,-402"/>
<polygon fill="midnightblue" stroke="midnightblue" points="519.866,-405.5 529.866,-402 519.866,-398.5 519.866,-405.5"/>
</g>
<!-- Node28->Node19 -->
<g id="edge36" class="edge"><title>Node28->Node19</title>
<path fill="none" stroke="midnightblue" d="M273.142,-267.455C290.495,-264.309 310.126,-260.749 328.755,-257.371"/>
<polygon fill="midnightblue" stroke="midnightblue" points="329.468,-260.799 338.683,-255.571 328.219,-253.911 329.468,-260.799"/>
</g>
<!-- Node28->Node20 -->
<g id="edge37" class="edge"><title>Node28->Node20</title>
<path fill="none" stroke="midnightblue" d="M285.092,-278.68C337.357,-279.155 412.736,-277.837 478,-269 491.15,-267.219 505.066,-264.458 518.271,-261.41"/>
<polygon fill="midnightblue" stroke="midnightblue" points="519.295,-264.764 528.207,-259.034 517.667,-257.956 519.295,-264.764"/>
</g>
<!-- Node29 -->
<g id="node29" class="node"><title>Node29</title>
<g id="a_node29"><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="black" points="362,-316.5 362,-335.5 445,-335.5 445,-316.5 362,-316.5"/>
<text text-anchor="middle" x="403.5" y="-323.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_put_string</text>
</a>
</g>
</g>
<!-- Node28->Node29 -->
<g id="edge38" class="edge"><title>Node28->Node29</title>
<path fill="none" stroke="midnightblue" d="M256.023,-286.564C284.961,-294.355 326,-305.404 357.281,-313.826"/>
<polygon fill="midnightblue" stroke="midnightblue" points="356.5,-317.24 367.066,-316.46 358.32,-310.481 356.5,-317.24"/>
</g>
<!-- Node30 -->
<g id="node30" class="node"><title>Node30</title>
<g id="a_node30"><a xlink:href="a00294.html#aa9e1e45f0305622dd6aed9f8fe158581" target="_top" xlink:title="Initialize an input stream for read from a static allocated buffer. ">
<polygon fill="white" stroke="red" points="518,-354.5 518,-373.5 646,-373.5 646,-354.5 518,-354.5"/>
<text text-anchor="middle" x="582" y="-361.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_staticin_stream_init</text>
</a>
</g>
</g>
<!-- Node29->Node30 -->
<g id="edge39" class="edge"><title>Node29->Node30</title>
<path fill="none" stroke="midnightblue" d="M445.436,-334.813C469.637,-340.024 500.576,-346.685 526.786,-352.328"/>
<polygon fill="midnightblue" stroke="midnightblue" points="526.063,-355.752 536.576,-354.436 527.536,-348.909 526.063,-355.752"/>
</g>
<!-- Node31 -->
<g id="node31" class="node"><title>Node31</title>
<g id="a_node31"><a xlink:href="a00294.html#aa038a9125979f8f0915dbd53cbf27e5a" target="_top" xlink:title="Initialize a data output stream. ">
<polygon fill="white" stroke="red" points="517,-278.5 517,-297.5 647,-297.5 647,-278.5 517,-278.5"/>
<text text-anchor="middle" x="582" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_dataout_stream_init</text>
</a>
</g>
</g>
<!-- Node29->Node31 -->
<g id="edge40" class="edge"><title>Node29->Node31</title>
<path fill="none" stroke="midnightblue" d="M445.436,-317.187C469.637,-311.976 500.576,-305.315 526.786,-299.672"/>
<polygon fill="midnightblue" stroke="midnightblue" points="527.536,-303.091 536.576,-297.564 526.063,-296.248 527.536,-303.091"/>
</g>
<!-- Node32 -->
<g id="node32" class="node"><title>Node32</title>
<g id="a_node32"><a xlink:href="a00294.html#a9d8eb43a81ff58ab423dce0ce95b9564" target="_top" xlink:title="Reads and writes from a stream converting characters. ">
<polygon fill="white" stroke="red" points="527,-316.5 527,-335.5 637,-335.5 637,-316.5 527,-316.5"/>
<text text-anchor="middle" x="582" y="-323.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_convert_stream</text>
</a>
</g>
</g>
<!-- Node29->Node32 -->
<g id="edge41" class="edge"><title>Node29->Node32</title>
<path fill="none" stroke="midnightblue" d="M445.436,-326C466.644,-326 493.026,-326 516.866,-326"/>
<polygon fill="midnightblue" stroke="midnightblue" points="516.905,-329.5 526.905,-326 516.905,-322.5 516.905,-329.5"/>
</g>
<!-- Node32->Node3 -->
<g id="edge43" class="edge"><title>Node32->Node3</title>
<path fill="none" stroke="midnightblue" d="M637.031,-327.246C746.755,-329.778 994.104,-335.484 1098.53,-337.893"/>
<polygon fill="midnightblue" stroke="midnightblue" points="1098.7,-341.398 1108.78,-338.13 1098.86,-334.4 1098.7,-341.398"/>
</g>
<!-- Node32->Node4 -->
<g id="edge44" class="edge"><title>Node32->Node4</title>
<path fill="none" stroke="midnightblue" d="M626.098,-335.59C634.25,-338.131 642.551,-341.243 650,-345 668.03,-354.093 686.002,-368.413 698.628,-379.568"/>
<polygon fill="midnightblue" stroke="midnightblue" points="696.345,-382.222 706.101,-386.353 701.051,-377.04 696.345,-382.222"/>
</g>
<!-- Node32->Node15 -->
<g id="edge42" class="edge"><title>Node32->Node15</title>
<path fill="none" stroke="midnightblue" d="M633.661,-316.477C647.563,-313.864 662.445,-311.067 675.681,-308.579"/>
<polygon fill="midnightblue" stroke="midnightblue" points="676.712,-311.946 685.893,-306.659 675.418,-305.067 676.712,-311.946"/>
</g>
<!-- Node33->Node2 -->
<g id="edge46" class="edge"><title>Node33->Node2</title>
<path fill="none" stroke="midnightblue" d="M449.038,-468.411C474.282,-462.976 505.909,-456.167 531.872,-450.577"/>
<polygon fill="midnightblue" stroke="midnightblue" points="532.844,-453.948 541.884,-448.422 531.371,-447.105 532.844,-453.948"/>
</g>
<!-- Node33->Node6 -->
<g id="edge47" class="edge"><title>Node33->Node6</title>
<path fill="none" stroke="midnightblue" d="M467.586,-475.419C586.742,-470.543 843.212,-460.049 957.958,-455.354"/>
<polygon fill="midnightblue" stroke="midnightblue" points="958.434,-458.838 968.282,-454.932 958.147,-451.844 958.434,-458.838"/>
</g>
</g>
</svg>