Current File : //usr/local/apps/share/doc/freetds/reference/a00387_ga08877c101704bebe4fa57e0849dc272d_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: tds71_submit_prepexec Pages: 1 -->
<svg width="1212pt" height="577pt"
viewBox="0.00 0.00 1212.00 576.93" 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 572.932)">
<title>tds71_submit_prepexec</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-572.932 1208,-572.932 1208,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="0,-256.5 0,-275.5 128,-275.5 128,-256.5 0,-256.5"/>
<text text-anchor="middle" x="64" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds71_submit_prepexec</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="560,-506.5 560,-525.5 640,-525.5 640,-506.5 560,-506.5"/>
<text text-anchor="middle" x="600" y="-513.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="M65.6803,-275.677C68.8272,-312.243 85.3944,-442.67 164,-497 225.185,-539.29 449.343,-527.791 549.767,-520.208"/>
<polygon fill="midnightblue" stroke="midnightblue" points="550.251,-523.682 559.951,-519.421 549.711,-516.702 550.251,-523.682"/>
</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="185.5,-190.5 185.5,-209.5 289.5,-209.5 289.5,-190.5 185.5,-190.5"/>
<text text-anchor="middle" x="237.5" y="-197.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="M83.2227,-256.416C102.796,-246.389 135.003,-230.653 164,-220 171.581,-217.215 179.73,-214.608 187.731,-212.256"/>
<polygon fill="midnightblue" stroke="midnightblue" points="188.706,-215.618 197.369,-209.519 186.794,-208.884 188.706,-215.618"/>
</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="179,-152.5 179,-171.5 296,-171.5 296,-152.5 179,-152.5"/>
<text text-anchor="middle" x="237.5" y="-159.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="M73.4946,-256.229C89.4313,-238.518 125.679,-201.091 164,-181 168.494,-178.644 173.302,-176.564 178.223,-174.732"/>
<polygon fill="midnightblue" stroke="midnightblue" points="179.42,-178.022 187.774,-171.506 177.18,-171.39 179.42,-178.022"/>
</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="190,-114.5 190,-133.5 285,-133.5 285,-114.5 190,-114.5"/>
<text text-anchor="middle" x="237.5" y="-121.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="M69.9671,-256.256C82.4093,-232.867 117.293,-173.248 164,-143 168.968,-139.783 174.459,-137.109 180.13,-134.887"/>
<polygon fill="midnightblue" stroke="midnightblue" points="181.472,-138.127 189.785,-131.559 179.191,-131.509 181.472,-138.127"/>
</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="548,-468.5 548,-487.5 652,-487.5 652,-468.5 548,-468.5"/>
<text text-anchor="middle" x="600" y="-475.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="M74.6074,-275.75C91.4409,-292.4 127.92,-326.585 164,-348 239.301,-392.694 263.371,-395.038 347,-421 411.057,-440.886 486.259,-456.988 537.732,-466.942"/>
<polygon fill="midnightblue" stroke="midnightblue" points="537.22,-470.407 547.699,-468.85 538.536,-463.532 537.22,-470.407"/>
</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="177,-229 177,-259 298,-259 298,-229 177,-229"/>
<text text-anchor="start" x="185" y="-247" font-family="Helvetica,sans-Serif" font-size="10.00">tds7_build_param_def</text>
<text text-anchor="middle" x="237.5" y="-236" 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="M128.373,-257.871C140.871,-256.267 154.051,-254.576 166.747,-252.948"/>
<polygon fill="midnightblue" stroke="midnightblue" points="167.328,-256.402 176.802,-251.658 166.438,-249.459 167.328,-256.402"/>
</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="192.5,-468.5 192.5,-487.5 282.5,-487.5 282.5,-468.5 192.5,-468.5"/>
<text text-anchor="middle" x="237.5" y="-475.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="M67.3671,-275.832C75.3259,-306.79 104.052,-403.21 164,-454 169.564,-458.714 176.083,-462.51 182.891,-465.565"/>
<polygon fill="midnightblue" stroke="midnightblue" points="181.704,-468.86 192.29,-469.289 184.282,-462.352 181.704,-468.86"/>
</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="164,-76.5 164,-95.5 311,-95.5 311,-76.5 164,-76.5"/>
<text text-anchor="middle" x="237.5" y="-83.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="M68.0787,-256.248C77.4879,-228.086 108.643,-146.035 164,-105 166.532,-103.123 169.233,-101.432 172.05,-99.907"/>
<polygon fill="midnightblue" stroke="midnightblue" points="173.772,-102.966 181.37,-95.5826 170.825,-96.6167 173.772,-102.966"/>
</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="172,-278.5 172,-297.5 303,-297.5 303,-278.5 172,-278.5"/>
<text text-anchor="middle" x="237.5" y="-285.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="M128.373,-274.129C139.258,-275.526 150.66,-276.989 161.809,-278.419"/>
<polygon fill="midnightblue" stroke="midnightblue" points="161.59,-281.919 171.954,-279.72 162.481,-274.976 161.59,-281.919"/>
</g>
<!-- Node33 -->
<g id="node33" class="node"><title>Node33</title>
<g id="a_node33"><a xlink:href="a00387.html#gafd74652c4722ddce4d642cc4209449d4" target="_top" xlink:title="Put data information to wire. ">
<polygon fill="white" stroke="black" points="371,-392.5 371,-411.5 472,-411.5 472,-392.5 371,-392.5"/>
<text text-anchor="middle" x="421.5" y="-399.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_put_data_info</text>
</a>
</g>
</g>
<!-- Node1->Node33 -->
<g id="edge45" class="edge"><title>Node1->Node33</title>
<path fill="none" stroke="midnightblue" d="M87.3136,-275.525C107.315,-283.994 137.501,-296.61 164,-307 241.965,-337.57 334.235,-371.104 384.103,-389.011"/>
<polygon fill="midnightblue" stroke="midnightblue" points="383.193,-392.403 393.787,-392.484 385.556,-385.814 383.193,-392.403"/>
</g>
<!-- Node36 -->
<g id="node36" class="node"><title>Node36</title>
<g id="a_node36"><a xlink:href="a00387.html#ga9fcc0a3932dcad530511395ef8a767fb" target="_top" xlink:title="Write data to wire. ">
<polygon fill="white" stroke="black" points="198.5,-38.5 198.5,-57.5 276.5,-57.5 276.5,-38.5 198.5,-38.5"/>
<text text-anchor="middle" x="237.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_put_data</text>
</a>
</g>
</g>
<!-- Node1->Node36 -->
<g id="edge50" class="edge"><title>Node1->Node36</title>
<path fill="none" stroke="midnightblue" d="M66.8516,-256.35C73.5539,-224.128 99.6325,-119.343 164,-67 171.041,-61.274 179.628,-57.2577 188.395,-54.4446"/>
<polygon fill="midnightblue" stroke="midnightblue" points="189.565,-57.7535 198.297,-51.7527 187.729,-50.9987 189.565,-57.7535"/>
</g>
<!-- Node37 -->
<g id="node37" class="node"><title>Node37</title>
<g id="a_node37"><a xlink:href="a00387.html#gada27f4cfce925240ad33b71b63ca692d" target="_top" xlink:title="Flush query packet. ">
<polygon fill="white" stroke="black" points="357.5,-544.5 357.5,-563.5 485.5,-563.5 485.5,-544.5 357.5,-544.5"/>
<text text-anchor="middle" x="421.5" y="-551.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_query_flush_packet</text>
</a>
</g>
</g>
<!-- Node1->Node37 -->
<g id="edge51" class="edge"><title>Node1->Node37</title>
<path fill="none" stroke="midnightblue" d="M65.2161,-275.504C66.6682,-314.614 77.8601,-464.154 164,-530 220.365,-573.086 305.362,-571.992 361.866,-564.925"/>
<polygon fill="midnightblue" stroke="midnightblue" points="362.631,-568.354 372.072,-563.546 361.693,-561.417 362.631,-568.354"/>
</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="1127,-335.5 1127,-354.5 1204,-354.5 1204,-335.5 1127,-335.5"/>
<text text-anchor="middle" x="1165.5" y="-342.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="M640.117,-521.301C728.03,-531.167 944.948,-543.886 1091,-454 1125.19,-432.961 1147.09,-389.384 1157.45,-364.166"/>
<polygon fill="midnightblue" stroke="midnightblue" points="1160.81,-365.19 1161.19,-354.602 1154.29,-362.643 1160.81,-365.19"/>
</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="708,-373.5 708,-392.5 762,-392.5 762,-373.5 708,-373.5"/>
<text text-anchor="middle" x="735" y="-380.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="M640.237,-510.24C650.015,-507.426 659.984,-503.236 668,-497 699.746,-472.303 719.023,-427.734 727.98,-402.254"/>
<polygon fill="midnightblue" stroke="midnightblue" points="731.351,-403.21 731.194,-392.616 724.71,-400.996 731.351,-403.21"/>
</g>
<!-- Node4->Node3 -->
<g id="edge4" class="edge"><title>Node4->Node3</title>
<path fill="none" stroke="midnightblue" d="M762.16,-380.68C832.495,-374.443 1026.44,-357.243 1116.9,-349.221"/>
<polygon fill="midnightblue" stroke="midnightblue" points="1117.23,-352.706 1126.88,-348.336 1116.61,-345.733 1117.23,-352.706"/>
</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="823.5,-392.5 823.5,-411.5 920.5,-411.5 920.5,-392.5 823.5,-392.5"/>
<text text-anchor="middle" x="872" y="-399.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="M762.029,-386.663C776.569,-388.71 795.299,-391.346 813.117,-393.853"/>
<polygon fill="midnightblue" stroke="midnightblue" points="813.073,-397.382 823.463,-395.31 814.049,-390.45 813.073,-397.382"/>
</g>
<!-- Node5->Node3 -->
<g id="edge6" class="edge"><title>Node5->Node3</title>
<path fill="none" stroke="midnightblue" d="M920.569,-401.018C965.273,-399.103 1033.69,-393.604 1091,-378 1107.18,-373.594 1124.33,-366.077 1137.99,-359.329"/>
<polygon fill="midnightblue" stroke="midnightblue" points="1139.93,-362.266 1147.25,-354.606 1136.75,-356.029 1139.93,-362.266"/>
</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="986.5,-534.5 986.5,-553.5 1082.5,-553.5 1082.5,-534.5 986.5,-534.5"/>
<text text-anchor="middle" x="1034.5" y="-541.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="M883.78,-411.538C910.605,-435.27 980.631,-497.225 1014.55,-527.231"/>
<polygon fill="midnightblue" stroke="midnightblue" points="1012.53,-530.124 1022.34,-534.128 1017.17,-524.881 1012.53,-530.124"/>
</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="365,-114.5 365,-133.5 478,-133.5 478,-114.5 365,-114.5"/>
<text text-anchor="middle" x="421.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="M289.866,-190.382C297.232,-187.921 304.505,-184.844 311,-181 331.021,-169.152 326.959,-154.815 347,-143 350.704,-140.816 354.658,-138.881 358.737,-137.165"/>
<polygon fill="midnightblue" stroke="midnightblue" points="360.282,-140.325 368.427,-133.549 357.834,-133.766 360.282,-140.325"/>
</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="380,-76.5 380,-95.5 463,-95.5 463,-76.5 380,-76.5"/>
<text text-anchor="middle" x="421.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="M289.604,-192.676C297.336,-189.92 304.79,-186.15 311,-181 339.769,-157.141 318.191,-128.811 347,-105 353.645,-99.5081 361.692,-95.5823 369.991,-92.7807"/>
<polygon fill="midnightblue" stroke="midnightblue" points="371.128,-96.096 379.781,-89.9819 369.204,-89.3657 371.128,-96.096"/>
</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="368.5,-38.5 368.5,-57.5 474.5,-57.5 474.5,-38.5 368.5,-38.5"/>
<text text-anchor="middle" x="421.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="M295.153,-152.492C300.87,-150.015 306.293,-146.904 311,-143 339.769,-119.141 318.191,-90.811 347,-67 350.583,-64.0389 354.573,-61.5331 358.791,-59.4133"/>
<polygon fill="midnightblue" stroke="midnightblue" points="360.485,-62.4964 368.318,-55.3624 357.745,-56.0546 360.485,-62.4964"/>
</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="359,-0.5 359,-19.5 484,-19.5 484,-0.5 359,-0.5"/>
<text text-anchor="middle" x="421.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="M296.066,-152.95C301.545,-150.383 306.664,-147.126 311,-143 349.49,-106.372 308.449,-65.5637 347,-29 348.506,-27.5715 350.105,-26.2469 351.78,-25.0187"/>
<polygon fill="midnightblue" stroke="midnightblue" points="353.942,-27.8026 360.706,-19.6478 350.333,-21.8047 353.942,-27.8026"/>
</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="704,-278.5 704,-297.5 766,-297.5 766,-278.5 704,-278.5"/>
<text text-anchor="middle" x="735" y="-285.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="M615.305,-468.474C629.984,-458.143 652.768,-440.495 668,-421 696.302,-384.778 717.2,-334.483 727.276,-307.297"/>
<polygon fill="midnightblue" stroke="midnightblue" points="730.608,-308.374 730.708,-297.78 724.023,-305.999 730.608,-308.374"/>
</g>
<!-- Node15->Node3 -->
<g id="edge17" class="edge"><title>Node15->Node3</title>
<path fill="none" stroke="midnightblue" d="M762.603,-278.499C774.491,-274.735 788.776,-270.866 802,-269 930.28,-250.903 969.912,-260.947 1091,-307 1107.8,-313.39 1125.74,-322.611 1139.68,-330.37"/>
<polygon fill="midnightblue" stroke="midnightblue" points="1138.22,-333.561 1148.64,-335.455 1141.67,-327.474 1138.22,-333.561"/>
</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="802,-278.5 802,-297.5 942,-297.5 942,-278.5 802,-278.5"/>
<text text-anchor="middle" x="872" y="-285.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="M766.297,-288C774.035,-288 782.721,-288 791.695,-288"/>
<polygon fill="midnightblue" stroke="midnightblue" points="791.914,-291.5 801.914,-288 791.914,-284.5 791.914,-291.5"/>
</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="978,-316.5 978,-335.5 1091,-335.5 1091,-316.5 978,-316.5"/>
<text text-anchor="middle" x="1034.5" y="-323.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="M764.619,-297.58C776.115,-301.075 789.568,-304.724 802,-307 857.316,-317.128 921.062,-321.86 967.639,-324.069"/>
<polygon fill="midnightblue" stroke="midnightblue" points="967.755,-327.578 977.901,-324.529 968.068,-320.585 967.755,-327.578"/>
</g>
<!-- Node16->Node17 -->
<g id="edge19" class="edge"><title>Node16->Node17</title>
<path fill="none" stroke="midnightblue" d="M913.501,-297.589C934.681,-302.604 960.802,-308.788 983.26,-314.105"/>
<polygon fill="midnightblue" stroke="midnightblue" points="982.753,-317.582 993.29,-316.48 984.366,-310.77 982.753,-317.582"/>
</g>
<!-- Node17->Node3 -->
<g id="edge20" class="edge"><title>Node17->Node3</title>
<path fill="none" stroke="midnightblue" d="M1091.33,-334.223C1099.85,-335.478 1108.58,-336.763 1116.9,-337.989"/>
<polygon fill="midnightblue" stroke="midnightblue" points="1116.41,-341.454 1126.81,-339.449 1117.43,-334.529 1116.41,-341.454"/>
</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="357,-229 357,-259 486,-259 486,-229 357,-229"/>
<text text-anchor="start" x="365" y="-247" font-family="Helvetica,sans-Serif" font-size="10.00">tds_count_placeholders</text>
<text text-anchor="middle" x="421.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="M298.094,-244C313.486,-244 330.245,-244 346.284,-244"/>
<polygon fill="midnightblue" stroke="midnightblue" points="346.697,-247.5 356.697,-244 346.697,-240.5 346.697,-247.5"/>
</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="347,-152.5 347,-171.5 496,-171.5 496,-152.5 347,-152.5"/>
<text text-anchor="middle" x="421.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="M291.774,-228.979C298.484,-226.132 305.068,-222.821 311,-219 330.558,-206.402 326.959,-192.815 347,-181 350.704,-178.816 354.658,-176.881 358.737,-175.165"/>
<polygon fill="midnightblue" stroke="midnightblue" points="360.282,-178.325 368.427,-171.549 357.834,-171.766 360.282,-178.325"/>
</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="371,-190.5 371,-209.5 472,-209.5 472,-190.5 371,-190.5"/>
<text text-anchor="middle" x="421.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="M298.094,-229.593C321.738,-223.877 348.606,-217.381 371.134,-211.935"/>
<polygon fill="midnightblue" stroke="midnightblue" points="372.255,-215.265 381.152,-209.513 370.61,-208.461 372.255,-215.265"/>
</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="540.5,-191 540.5,-221 659.5,-221 659.5,-191 540.5,-191"/>
<text text-anchor="start" x="548.5" y="-209" font-family="Helvetica,sans-Serif" font-size="10.00">tds_next_placeholder</text>
<text text-anchor="middle" x="600" y="-198" 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="M486.221,-230.281C500.581,-227.189 515.884,-223.895 530.434,-220.762"/>
<polygon fill="midnightblue" stroke="midnightblue" points="531.327,-224.15 540.366,-218.624 529.853,-217.307 531.327,-224.15"/>
</g>
<!-- Node21->Node3 -->
<g id="edge28" class="edge"><title>Node21->Node3</title>
<path fill="none" stroke="midnightblue" d="M496.138,-162C559.257,-162 652.61,-162 734,-162 734,-162 734,-162 873,-162 973.978,-162 1010.71,-164.767 1091,-226 1125.28,-252.143 1147.36,-299.259 1157.68,-325.684"/>
<polygon fill="midnightblue" stroke="midnightblue" points="1154.5,-327.174 1161.27,-335.32 1161.06,-324.727 1154.5,-327.174"/>
</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="544.5,-76.5 544.5,-95.5 655.5,-95.5 655.5,-76.5 544.5,-76.5"/>
<text text-anchor="middle" x="600" y="-83.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="M474.573,-152.451C482.041,-149.981 489.415,-146.882 496,-143 516.041,-131.185 512.098,-117.048 532,-105 535.607,-102.816 539.475,-100.875 543.465,-99.1505"/>
<polygon fill="midnightblue" stroke="midnightblue" points="544.857,-102.365 552.934,-95.5082 542.344,-95.8318 544.857,-102.365"/>
</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="532,-114.5 532,-133.5 668,-133.5 668,-114.5 532,-114.5"/>
<text text-anchor="middle" x="600" y="-121.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="M467.038,-152.411C490.644,-147.329 519.832,-141.045 544.751,-135.68"/>
<polygon fill="midnightblue" stroke="midnightblue" points="545.743,-139.046 554.782,-133.52 544.269,-132.203 545.743,-139.046"/>
</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="361.5,-468.5 361.5,-487.5 481.5,-487.5 481.5,-468.5 361.5,-468.5"/>
<text text-anchor="middle" x="421.5" y="-475.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="M282.557,-478C303.176,-478 328.223,-478 351.287,-478"/>
<polygon fill="midnightblue" stroke="midnightblue" points="351.374,-481.5 361.374,-478 351.374,-474.5 351.374,-481.5"/>
</g>
<!-- Node26->Node2 -->
<g id="edge33" class="edge"><title>Node26->Node2</title>
<path fill="none" stroke="midnightblue" d="M467.038,-487.589C492.282,-493.024 523.909,-499.833 549.872,-505.423"/>
<polygon fill="midnightblue" stroke="midnightblue" points="549.371,-508.895 559.884,-507.578 550.844,-502.052 549.371,-508.895"/>
</g>
<!-- Node26->Node14 -->
<g id="edge32" class="edge"><title>Node26->Node14</title>
<path fill="none" stroke="midnightblue" d="M481.763,-478C499.762,-478 519.571,-478 537.701,-478"/>
<polygon fill="midnightblue" stroke="midnightblue" points="537.866,-481.5 547.866,-478 537.866,-474.5 537.866,-481.5"/>
</g>
<!-- Node28->Node19 -->
<g id="edge36" class="edge"><title>Node28->Node19</title>
<path fill="none" stroke="midnightblue" d="M277.991,-278.453C298.574,-273.477 324.398,-267.233 348.39,-261.433"/>
<polygon fill="midnightblue" stroke="midnightblue" points="349.287,-264.817 358.184,-259.065 347.642,-258.013 349.287,-264.817"/>
</g>
<!-- Node28->Node20 -->
<g id="edge37" class="edge"><title>Node28->Node20</title>
<path fill="none" stroke="midnightblue" d="M303.138,-295.751C357.288,-299.393 435.252,-297.825 496,-269 517.018,-259.027 512.601,-243.842 532,-231 534.936,-229.056 538.043,-227.237 541.249,-225.537"/>
<polygon fill="midnightblue" stroke="midnightblue" points="543.007,-228.574 550.479,-221.063 539.954,-222.275 543.007,-228.574"/>
</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="380,-316.5 380,-335.5 463,-335.5 463,-316.5 380,-316.5"/>
<text text-anchor="middle" x="421.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="M284.426,-297.589C310.478,-303.028 343.124,-309.844 369.908,-315.437"/>
<polygon fill="midnightblue" stroke="midnightblue" points="369.357,-318.897 379.861,-317.515 370.787,-312.045 369.357,-318.897"/>
</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="536,-316.5 536,-335.5 664,-335.5 664,-316.5 536,-316.5"/>
<text text-anchor="middle" x="600" y="-323.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="M463.436,-326C481.986,-326 504.495,-326 525.799,-326"/>
<polygon fill="midnightblue" stroke="midnightblue" points="525.809,-329.5 535.809,-326 525.809,-322.5 525.809,-329.5"/>
</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="535,-278.5 535,-297.5 665,-297.5 665,-278.5 535,-278.5"/>
<text text-anchor="middle" x="600" 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="M463.436,-317.187C487.637,-311.976 518.576,-305.315 544.786,-299.672"/>
<polygon fill="midnightblue" stroke="midnightblue" points="545.536,-303.091 554.576,-297.564 544.063,-296.248 545.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="545,-240.5 545,-259.5 655,-259.5 655,-240.5 545,-240.5"/>
<text text-anchor="middle" x="600" y="-247.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="M462.357,-316.38C473.658,-312.764 485.685,-308.027 496,-302 514.741,-291.05 513.048,-279.58 532,-269 535.967,-266.785 540.213,-264.812 544.571,-263.056"/>
<polygon fill="midnightblue" stroke="midnightblue" points="546.019,-266.253 554.224,-259.55 543.63,-259.674 546.019,-266.253"/>
</g>
<!-- Node32->Node3 -->
<g id="edge43" class="edge"><title>Node32->Node3</title>
<path fill="none" stroke="midnightblue" d="M643.969,-240.476C732.633,-223.087 940.175,-194.213 1091,-266 1118.64,-279.155 1140.94,-307.7 1153.45,-326.63"/>
<polygon fill="midnightblue" stroke="midnightblue" points="1150.63,-328.71 1158.94,-335.281 1156.54,-324.962 1150.63,-328.71"/>
</g>
<!-- Node32->Node4 -->
<g id="edge44" class="edge"><title>Node32->Node4</title>
<path fill="none" stroke="midnightblue" d="M651.377,-259.612C657.327,-262.063 663.038,-265.139 668,-269 699.746,-293.697 719.023,-338.266 727.98,-363.746"/>
<polygon fill="midnightblue" stroke="midnightblue" points="724.71,-365.004 731.194,-373.384 731.351,-362.79 724.71,-365.004"/>
</g>
<!-- Node32->Node15 -->
<g id="edge42" class="edge"><title>Node32->Node15</title>
<path fill="none" stroke="midnightblue" d="M634.748,-259.542C645.39,-262.559 657.188,-265.911 668,-269 676.405,-271.402 685.409,-273.986 693.979,-276.451"/>
<polygon fill="midnightblue" stroke="midnightblue" points="693.201,-279.869 703.779,-279.273 695.138,-273.143 693.201,-279.869"/>
</g>
<!-- Node33->Node3 -->
<g id="edge47" class="edge"><title>Node33->Node3</title>
<path fill="none" stroke="midnightblue" d="M470.572,-411.54C531.574,-422.796 640.157,-440 734,-440 734,-440 734,-440 873,-440 971.427,-440 1000.89,-440.599 1091,-401 1112.61,-391.504 1133.66,-374.427 1147.65,-361.619"/>
<polygon fill="midnightblue" stroke="midnightblue" points="1150.15,-364.069 1155.03,-354.66 1145.35,-358.977 1150.15,-364.069"/>
</g>
<!-- Node33->Node14 -->
<g id="edge48" class="edge"><title>Node33->Node14</title>
<path fill="none" stroke="midnightblue" d="M460.161,-411.557C471.987,-415.272 484.857,-420.08 496,-426 513.901,-435.51 514.236,-444.238 532,-454 539.549,-458.149 547.956,-461.818 556.193,-464.961"/>
<polygon fill="midnightblue" stroke="midnightblue" points="555.129,-468.298 565.723,-468.406 557.509,-461.715 555.129,-468.298"/>
</g>
<!-- Node34 -->
<g id="node34" class="node"><title>Node34</title>
<g id="a_node34"><a xlink:href="a00389.html#gaf0e232f3c35f2d8b43486e8708f7a8fc" target="_top" xlink:title="Returns the length of the string in bytes. ">
<polygon fill="white" stroke="black" points="562.5,-354.5 562.5,-373.5 637.5,-373.5 637.5,-354.5 562.5,-354.5"/>
<text text-anchor="middle" x="600" y="-361.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_dstr_len</text>
</a>
</g>
</g>
<!-- Node33->Node34 -->
<g id="edge46" class="edge"><title>Node33->Node34</title>
<path fill="none" stroke="midnightblue" d="M467.038,-392.411C493.118,-386.796 526.011,-379.714 552.433,-374.026"/>
<polygon fill="midnightblue" stroke="midnightblue" points="553.175,-377.446 562.215,-371.92 551.702,-370.603 553.175,-377.446"/>
</g>
<!-- Node35 -->
<g id="node35" class="node"><title>Node35</title>
<g id="a_node35"><a xlink:href="a00389.html#ga3340b488ed37845018e34572450e64c6" target="_top" xlink:title="Returns a C version (NUL terminated string) of dstr. ">
<polygon fill="white" stroke="black" points="561,-392.5 561,-411.5 639,-411.5 639,-392.5 561,-392.5"/>
<text text-anchor="middle" x="600" y="-399.5" font-family="Helvetica,sans-Serif" font-size="10.00">tds_dstr_cstr</text>
</a>
</g>
</g>
<!-- Node33->Node35 -->
<g id="edge49" class="edge"><title>Node33->Node35</title>
<path fill="none" stroke="midnightblue" d="M472.135,-402C496.758,-402 526.378,-402 550.803,-402"/>
<polygon fill="midnightblue" stroke="midnightblue" points="550.923,-405.5 560.923,-402 550.923,-398.5 550.923,-405.5"/>
</g>
<!-- Node37->Node2 -->
<g id="edge52" class="edge"><title>Node37->Node2</title>
<path fill="none" stroke="midnightblue" d="M467.038,-544.411C492.282,-538.976 523.909,-532.167 549.872,-526.577"/>
<polygon fill="midnightblue" stroke="midnightblue" points="550.844,-529.948 559.884,-524.422 549.371,-523.105 550.844,-529.948"/>
</g>
<!-- Node37->Node6 -->
<g id="edge53" class="edge"><title>Node37->Node6</title>
<path fill="none" stroke="midnightblue" d="M485.586,-552.967C604.742,-551.017 861.212,-546.82 975.958,-544.942"/>
<polygon fill="midnightblue" stroke="midnightblue" points="976.341,-548.436 986.282,-544.773 976.226,-541.437 976.341,-548.436"/>
</g>
</g>
</svg>