Current File : //usr/local/apps/share/doc/freetds/reference/a00375_ga7370f1223f13510d6b33e98f2de09fb5_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: _bcp_exec_in Pages: 1 -->
<svg width="940pt" height="752pt"
 viewBox="0.00 0.00 940.00 751.92" 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 747.924)">
<title>_bcp_exec_in</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-747.924 936,-747.924 936,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node"><title>Node1</title>
<polygon fill="#bfbfbf" stroke="black" points="0,-268.424 0,-287.424 82,-287.424 82,-268.424 0,-268.424"/>
<text text-anchor="middle" x="41" y="-275.424" font-family="Helvetica,sans-Serif" font-size="10.00">_bcp_exec_in</text>
</g>
<!-- Node2 -->
<g id="node2" class="node"><title>Node2</title>
<g id="a_node2"><a xlink:href="a00217.html#ab45c291105027e69836002e1dd586141" target="_top" xlink:title="Write a message to the debug log. ">
<polygon fill="white" stroke="black" points="840,-275.424 840,-294.424 917,-294.424 917,-275.424 840,-275.424"/>
<text text-anchor="middle" x="878.5" y="-282.424" font-family="Helvetica,sans-Serif" font-size="10.00">tdsdump_log</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge"><title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M43.5927,-268.25C48.8232,-239.46 68.0878,-153.398 118,-105.924 196.288,-31.4617 236.955,-18.9244 345,-18.9244 345,-18.9244 345,-18.9244 528,-18.9244 644.276,-18.9244 696.325,33.2997 789,-36.9244 863.21,-93.1568 875.356,-216.889 877.22,-265.123"/>
<polygon fill="midnightblue" stroke="midnightblue" points="873.724,-265.294 877.497,-275.194 880.721,-265.102 873.724,-265.294"/>
</g>
<!-- Node3 -->
<g id="node3" class="node"><title>Node3</title>
<g id="a_node3"><a xlink:href="a00378.html#ga302a4ce6559b81808e3be51615cd1b67" target="_top" xlink:title="Call client&#45;installed error handler. ">
<polygon fill="white" stroke="black" points="498.5,-515.424 498.5,-534.424 555.5,-534.424 555.5,-515.424 498.5,-515.424"/>
<text text-anchor="middle" x="527" y="-522.424" font-family="Helvetica,sans-Serif" font-size="10.00">dbperror</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge"><title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M50.7468,-287.625C79.6508,-319.048 176.023,-418.838 277,-467.924 347.004,-501.954 438.062,-516.115 488.398,-521.656"/>
<polygon fill="midnightblue" stroke="midnightblue" points="488.19,-525.153 498.499,-522.711 488.917,-518.191 488.19,-525.153"/>
</g>
<!-- Node6 -->
<g id="node6" class="node"><title>Node6</title>
<g id="a_node6"><a xlink:href="a00326.html#a5eec23828b0610c58de248c4edb53879" target="_top" xlink:title="Start bulk copy to server. ">
<polygon fill="white" stroke="black" points="118,-268.424 118,-287.424 241,-287.424 241,-268.424 118,-268.424"/>
<text text-anchor="middle" x="179.5" y="-275.424" font-family="Helvetica,sans-Serif" font-size="10.00">tds_bcp_start_copy_in</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node6 -->
<g id="edge6" class="edge"><title>Node1&#45;&gt;Node6</title>
<path fill="none" stroke="midnightblue" d="M82.2162,-277.924C90.2425,-277.924 98.8949,-277.924 107.605,-277.924"/>
<polygon fill="midnightblue" stroke="midnightblue" points="107.822,-281.425 117.822,-277.924 107.822,-274.425 107.822,-281.425"/>
</g>
<!-- Node9 -->
<g id="node9" class="node"><title>Node9</title>
<g id="a_node9"><a xlink:href="a00326.html#a8208eef2a3974ae1f0cf3c8c8ab011ce" target="_top" xlink:title="Start sending BCP data to server. ">
<polygon fill="white" stroke="black" points="306,-306.424 306,-325.424 386,-325.424 386,-306.424 306,-306.424"/>
<text text-anchor="middle" x="346" y="-313.424" font-family="Helvetica,sans-Serif" font-size="10.00">tds_bcp_start</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node9 -->
<g id="edge50" class="edge"><title>Node1&#45;&gt;Node9</title>
<path fill="none" stroke="midnightblue" d="M75.4273,-287.52C88.5948,-290.974 103.912,-294.589 118,-296.924 178.756,-306.994 249.591,-311.843 295.763,-314.097"/>
<polygon fill="midnightblue" stroke="midnightblue" points="295.648,-317.596 305.801,-314.566 295.975,-310.603 295.648,-317.596"/>
</g>
<!-- Node15 -->
<g id="node15" class="node"><title>Node15</title>
<g id="a_node15"><a xlink:href="a00375.html#ga065757a7d0dce354660900de4aa79e2f" target="_top" xlink:title="_bcp_read_hostfile">
<polygon fill="white" stroke="black" points="292.5,-591.424 292.5,-610.424 399.5,-610.424 399.5,-591.424 292.5,-591.424"/>
<text text-anchor="middle" x="346" y="-598.424" font-family="Helvetica,sans-Serif" font-size="10.00">_bcp_read_hostfile</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node15 -->
<g id="edge24" class="edge"><title>Node1&#45;&gt;Node15</title>
<path fill="none" stroke="midnightblue" d="M42.1265,-287.765C43.1264,-323.9 51.4347,-450.749 118,-519.924 161.384,-565.01 231.535,-585.061 282.38,-593.942"/>
<polygon fill="midnightblue" stroke="midnightblue" points="281.842,-597.4 292.279,-595.573 282.981,-590.494 281.842,-597.4"/>
</g>
<!-- Node25 -->
<g id="node25" class="node"><title>Node25</title>
<g id="a_node25"><a xlink:href="a00326.html#adbc0876f3d1eae0c26e7a1abe37419fe" target="_top" xlink:title="Send one row of data to server. ">
<polygon fill="white" stroke="black" points="467.5,-47.4244 467.5,-66.4244 586.5,-66.4244 586.5,-47.4244 467.5,-47.4244"/>
<text text-anchor="middle" x="527" y="-54.4244" font-family="Helvetica,sans-Serif" font-size="10.00">tds_bcp_send_record</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node25 -->
<g id="edge37" class="edge"><title>Node1&#45;&gt;Node25</title>
<path fill="none" stroke="midnightblue" d="M46.3996,-268.133C56.2463,-247.283 82.0494,-198.181 118,-170.924 219.474,-93.9897 370.322,-68.9754 457.337,-60.8424"/>
<polygon fill="midnightblue" stroke="midnightblue" points="457.714,-64.3229 467.366,-59.9536 457.096,-57.3502 457.714,-64.3229"/>
</g>
<!-- Node28 -->
<g id="node28" class="node"><title>Node28</title>
<g id="a_node28"><a xlink:href="a00326.html#ade7df2db455b61edc83819ad60edb339" target="_top" xlink:title="Tell we finished sending BCP data to server. ">
<polygon fill="white" stroke="black" points="304.5,-123.424 304.5,-142.424 387.5,-142.424 387.5,-123.424 304.5,-123.424"/>
<text text-anchor="middle" x="346" y="-130.424" font-family="Helvetica,sans-Serif" font-size="10.00">tds_bcp_done</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node28 -->
<g id="edge45" class="edge"><title>Node1&#45;&gt;Node28</title>
<path fill="none" stroke="midnightblue" d="M58.7187,-268.308C96.7006,-246.686 192.733,-193.288 277,-156.924 286.128,-152.985 296.137,-149.18 305.601,-145.806"/>
<polygon fill="midnightblue" stroke="midnightblue" points="306.917,-149.054 315.207,-142.457 304.613,-142.444 306.917,-149.054"/>
</g>
<!-- Node3&#45;&gt;Node2 -->
<g id="edge3" class="edge"><title>Node3&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M555.956,-520.241C619.488,-509.398 770.653,-482.391 789,-467.924 842.725,-425.563 865.832,-342.415 873.885,-304.547"/>
<polygon fill="midnightblue" stroke="midnightblue" points="877.317,-305.232 875.844,-294.74 870.453,-303.86 877.317,-305.232"/>
</g>
<!-- Node4 -->
<g id="node4" class="node"><title>Node4</title>
<g id="a_node4"><a xlink:href="a00389.html#gae6d3d12bd1f5f0c56df934a377c245d3" target="_top" xlink:title="test if string is empty ">
<polygon fill="white" stroke="black" points="665.5,-515.424 665.5,-534.424 762.5,-534.424 762.5,-515.424 665.5,-515.424"/>
<text text-anchor="middle" x="714" y="-522.424" font-family="Helvetica,sans-Serif" font-size="10.00">tds_dstr_isempty</text>
</a>
</g>
</g>
<!-- Node3&#45;&gt;Node4 -->
<g id="edge4" class="edge"><title>Node3&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M555.696,-524.924C581.913,-524.924 622.088,-524.924 655.274,-524.924"/>
<polygon fill="midnightblue" stroke="midnightblue" points="655.325,-528.425 665.325,-524.924 655.325,-521.425 655.325,-528.425"/>
</g>
<!-- Node5 -->
<g id="node5" class="node"><title>Node5</title>
<g id="a_node5"><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="675,-439.424 675,-458.424 753,-458.424 753,-439.424 675,-439.424"/>
<text text-anchor="middle" x="714" y="-446.424" font-family="Helvetica,sans-Serif" font-size="10.00">tds_dstr_cstr</text>
</a>
</g>
</g>
<!-- Node3&#45;&gt;Node5 -->
<g id="edge5" class="edge"><title>Node3&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M555.653,-518.574C570.232,-514.616 588.127,-508.77 603,-500.924 620.929,-491.468 621.09,-482.416 639,-472.924 647.238,-468.559 656.414,-464.802 665.423,-461.644"/>
<polygon fill="midnightblue" stroke="midnightblue" points="666.685,-464.913 675.081,-458.451 664.488,-458.267 666.685,-464.913"/>
</g>
<!-- Node6&#45;&gt;Node2 -->
<g id="edge7" class="edge"><title>Node6&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M209.142,-268.381C297.59,-240.414 573.418,-164.507 789,-227.924 815.874,-235.83 842.294,-254.703 859.169,-268.576"/>
<polygon fill="midnightblue" stroke="midnightblue" points="857.188,-271.486 867.076,-275.291 861.719,-266.15 857.188,-271.486"/>
</g>
<!-- Node7 -->
<g id="node7" class="node"><title>Node7</title>
<g id="a_node7"><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="black" points="277,-439.424 277,-458.424 415,-458.424 415,-439.424 277,-439.424"/>
<text text-anchor="middle" x="346" y="-446.424" font-family="Helvetica,sans-Serif" font-size="10.00">tds_bcp_start_insert_stmt</text>
</a>
</g>
</g>
<!-- Node6&#45;&gt;Node7 -->
<g id="edge8" class="edge"><title>Node6&#45;&gt;Node7</title>
<path fill="none" stroke="midnightblue" d="M189.816,-287.608C216.62,-315.472 294.206,-396.124 328.438,-431.708"/>
<polygon fill="midnightblue" stroke="midnightblue" points="326.331,-434.567 335.787,-439.347 331.376,-429.714 326.331,-434.567"/>
</g>
<!-- Node6&#45;&gt;Node9 -->
<g id="edge13" class="edge"><title>Node6&#45;&gt;Node9</title>
<path fill="none" stroke="midnightblue" d="M222.01,-287.513C244.496,-292.708 272.417,-299.158 295.97,-304.598"/>
<polygon fill="midnightblue" stroke="midnightblue" points="295.237,-308.021 305.768,-306.862 296.812,-301.201 295.237,-308.021"/>
</g>
<!-- Node14 -->
<g id="node14" class="node"><title>Node14</title>
<g id="a_node14"><a xlink:href="a00326.html#a7c4f2b050cd1a747604aa305d6877de7" target="_top" xlink:title="Free row data allocated in the result set. ">
<polygon fill="white" stroke="black" points="295.5,-268.424 295.5,-287.424 396.5,-287.424 396.5,-268.424 295.5,-268.424"/>
<text text-anchor="middle" x="346" y="-275.424" font-family="Helvetica,sans-Serif" font-size="10.00">tds_bcp_row_free</text>
</a>
</g>
</g>
<!-- Node6&#45;&gt;Node14 -->
<g id="edge23" class="edge"><title>Node6&#45;&gt;Node14</title>
<path fill="none" stroke="midnightblue" d="M241.286,-277.924C255.648,-277.924 270.948,-277.924 285.262,-277.924"/>
<polygon fill="midnightblue" stroke="midnightblue" points="285.483,-281.425 295.483,-277.924 285.483,-274.425 285.483,-281.425"/>
</g>
<!-- Node7&#45;&gt;Node5 -->
<g id="edge12" class="edge"><title>Node7&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M389.266,-458.436C408.062,-462.201 430.527,-466.07 451,-467.924 518.28,-474.02 535.691,-473.695 603,-467.924 623.378,-466.177 645.648,-462.642 664.787,-459.089"/>
<polygon fill="midnightblue" stroke="midnightblue" points="665.608,-462.496 674.774,-457.183 664.295,-455.62 665.608,-462.496"/>
</g>
<!-- Node8 -->
<g id="node8" class="node"><title>Node8</title>
<g id="a_node8"><a xlink:href="a00326.html#a3118c7232bc9c3e47f8ba872bb39e967" target="_top" xlink:title="Help to build query to be sent to server. ">
<polygon fill="white" stroke="red" points="454,-439.424 454,-458.424 600,-458.424 600,-439.424 454,-439.424"/>
<text text-anchor="middle" x="527" y="-446.424" font-family="Helvetica,sans-Serif" font-size="10.00">tds7_build_bulk_insert_stmt</text>
</a>
</g>
</g>
<!-- Node7&#45;&gt;Node8 -->
<g id="edge9" class="edge"><title>Node7&#45;&gt;Node8</title>
<path fill="none" stroke="midnightblue" d="M415.183,-448.924C424.47,-448.924 434.082,-448.924 443.587,-448.924"/>
<polygon fill="midnightblue" stroke="midnightblue" points="443.839,-452.425 453.839,-448.924 443.839,-445.425 443.839,-452.425"/>
</g>
<!-- Node8&#45;&gt;Node2 -->
<g id="edge10" class="edge"><title>Node8&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M579.225,-439.384C650.048,-425.914 771.208,-401.757 789,-390.924 824.814,-369.119 853.001,-327.63 867.265,-303.533"/>
<polygon fill="midnightblue" stroke="midnightblue" points="870.415,-305.076 872.352,-294.659 864.342,-301.594 870.415,-305.076"/>
</g>
<!-- Node8&#45;&gt;Node5 -->
<g id="edge11" class="edge"><title>Node8&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M600.056,-448.924C621.727,-448.924 644.975,-448.924 664.712,-448.924"/>
<polygon fill="midnightblue" stroke="midnightblue" points="664.983,-452.425 674.983,-448.924 664.983,-445.425 664.983,-452.425"/>
</g>
<!-- Node9&#45;&gt;Node2 -->
<g id="edge14" class="edge"><title>Node9&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M355.856,-325.572C372.488,-342.887 410.396,-378.669 451,-391.924 515.22,-412.889 542.874,-422.723 603,-391.924 627.372,-379.44 616.168,-357.042 639,-341.924 695.997,-304.187 722.578,-324.079 789,-307.924 803.026,-304.513 818.254,-300.623 832.06,-297.025"/>
<polygon fill="midnightblue" stroke="midnightblue" points="833.037,-300.388 841.824,-294.468 831.263,-293.616 833.037,-300.388"/>
</g>
<!-- Node10 -->
<g id="node10" class="node"><title>Node10</title>
<g id="a_node10"><a xlink:href="a00387.html#ga5a29ae7f99d089dc3cea85ec6ee5f3ab" target="_top" xlink:title="tds_submit_query() sends a language string to the database server for processing. ...">
<polygon fill="white" stroke="red" points="478,-325.424 478,-344.424 576,-344.424 576,-325.424 478,-325.424"/>
<text text-anchor="middle" x="527" y="-332.424" font-family="Helvetica,sans-Serif" font-size="10.00">tds_submit_query</text>
</a>
</g>
</g>
<!-- Node9&#45;&gt;Node10 -->
<g id="edge15" class="edge"><title>Node9&#45;&gt;Node10</title>
<path fill="none" stroke="midnightblue" d="M386.282,-320.094C410.191,-322.632 441.169,-325.92 467.878,-328.755"/>
<polygon fill="midnightblue" stroke="midnightblue" points="467.569,-332.242 477.882,-329.817 468.308,-325.281 467.569,-332.242"/>
</g>
<!-- Node11 -->
<g id="node11" class="node"><title>Node11</title>
<g id="a_node11"><a xlink:href="a00390.html#gaeeb1562044786ea17bea361ed83e6946" target="_top" xlink:title="Process results for simple query as &quot;SET TEXTSIZE&quot; or &quot;USE dbname&quot; If the statement returns results...">
<polygon fill="white" stroke="red" points="472,-237.924 472,-267.924 582,-267.924 582,-237.924 472,-237.924"/>
<text text-anchor="start" x="480" y="-255.924" font-family="Helvetica,sans-Serif" font-size="10.00">tds_process_simple</text>
<text text-anchor="middle" x="527" y="-244.924" font-family="Helvetica,sans-Serif" font-size="10.00">_query</text>
</a>
</g>
</g>
<!-- Node9&#45;&gt;Node11 -->
<g id="edge16" class="edge"><title>Node9&#45;&gt;Node11</title>
<path fill="none" stroke="midnightblue" d="M383.918,-306.369C394.058,-303.538 405.01,-300.29 415,-296.924 418.376,-295.787 450.13,-283.185 478.813,-271.758"/>
<polygon fill="midnightblue" stroke="midnightblue" points="480.384,-274.9 488.378,-267.946 477.792,-268.397 480.384,-274.9"/>
</g>
<!-- Node12 -->
<g id="node12" class="node"><title>Node12</title>
<g id="a_node12"><a xlink:href="a00217.html#a16db200d2281f76fe46fc1cbe37ca9df" target="_top" xlink:title="Set state of TDS connection, with logging and checking. ">
<polygon fill="white" stroke="red" points="674,-237.424 674,-256.424 754,-256.424 754,-237.424 674,-237.424"/>
<text text-anchor="middle" x="714" y="-244.424" font-family="Helvetica,sans-Serif" font-size="10.00">tds_set_state</text>
</a>
</g>
</g>
<!-- Node9&#45;&gt;Node12 -->
<g id="edge17" class="edge"><title>Node9&#45;&gt;Node12</title>
<path fill="none" stroke="midnightblue" d="M386.286,-311.366C436.751,-305.185 526.912,-293.04 603,-276.924 625.966,-272.06 651.26,-265.265 671.797,-259.371"/>
<polygon fill="midnightblue" stroke="midnightblue" points="672.839,-262.713 681.466,-256.562 670.886,-255.991 672.839,-262.713"/>
</g>
<!-- Node13 -->
<g id="node13" class="node"><title>Node13</title>
<g id="a_node13"><a xlink:href="a00326.html#a4daaa551e54dbd978650e2eef89e09ff" target="_top" xlink:title="Send BCP metadata to server. ">
<polygon fill="white" stroke="red" points="451,-363.424 451,-382.424 603,-382.424 603,-363.424 451,-363.424"/>
<text text-anchor="middle" x="527" y="-370.424" font-family="Helvetica,sans-Serif" font-size="10.00">tds7_bcp_send_colmetadata</text>
</a>
</g>
</g>
<!-- Node9&#45;&gt;Node13 -->
<g id="edge19" class="edge"><title>Node9&#45;&gt;Node13</title>
<path fill="none" stroke="midnightblue" d="M371.137,-325.54C392.064,-333.685 423.263,-345.368 451,-353.924 458.848,-356.345 467.225,-358.693 475.431,-360.866"/>
<polygon fill="midnightblue" stroke="midnightblue" points="474.751,-364.305 485.308,-363.421 476.504,-357.528 474.751,-364.305"/>
</g>
<!-- Node12&#45;&gt;Node2 -->
<g id="edge18" class="edge"><title>Node12&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M754.337,-256.123C777.103,-261.447 805.915,-268.185 829.947,-273.804"/>
<polygon fill="midnightblue" stroke="midnightblue" points="829.388,-277.268 839.923,-276.137 830.982,-270.452 829.388,-277.268"/>
</g>
<!-- Node13&#45;&gt;Node2 -->
<g id="edge20" class="edge"><title>Node13&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M583.396,-363.301C590.293,-360.851 597.014,-357.779 603,-353.924 624.534,-340.058 616.501,-321.163 639,-308.924 698.681,-276.462 779.235,-275.643 829.769,-279.31"/>
<polygon fill="midnightblue" stroke="midnightblue" points="829.519,-282.801 839.77,-280.123 830.086,-275.824 829.519,-282.801"/>
</g>
<!-- Node13&#45;&gt;Node5 -->
<g id="edge22" class="edge"><title>Node13&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M551.43,-382.55C584.097,-395.97 643.464,-420.358 680.423,-435.542"/>
<polygon fill="midnightblue" stroke="midnightblue" points="679.18,-438.815 689.76,-439.377 681.84,-432.34 679.18,-438.815"/>
</g>
<!-- Node13&#45;&gt;Node12 -->
<g id="edge21" class="edge"><title>Node13&#45;&gt;Node12</title>
<path fill="none" stroke="midnightblue" d="M587.853,-363.293C593.328,-360.828 598.498,-357.754 603,-353.924 633.628,-327.873 609.241,-297.965 639,-270.924 646.122,-264.453 655.012,-259.725 664.134,-256.27"/>
<polygon fill="midnightblue" stroke="midnightblue" points="665.269,-259.582 673.659,-253.112 663.066,-252.937 665.269,-259.582"/>
</g>
<!-- Node15&#45;&gt;Node2 -->
<g id="edge25" class="edge"><title>Node15&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M395.3,-591.387C412.802,-588.12 432.751,-584.614 451,-581.924 525.777,-570.904 730.073,-591.26 789,-543.924 864.794,-483.039 875.966,-354.041 877.396,-304.693"/>
<polygon fill="midnightblue" stroke="midnightblue" points="880.9,-304.498 877.581,-294.436 873.901,-304.372 880.9,-304.498"/>
</g>
<!-- Node15&#45;&gt;Node3 -->
<g id="edge26" class="edge"><title>Node15&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M364.284,-591.249C384.617,-580.112 419.59,-561.714 451,-548.924 462.969,-544.051 476.326,-539.504 488.413,-535.707"/>
<polygon fill="midnightblue" stroke="midnightblue" points="489.674,-538.981 498.209,-532.703 487.622,-532.289 489.674,-538.981"/>
</g>
<!-- Node16 -->
<g id="node16" class="node"><title>Node16</title>
<g id="a_node16"><a xlink:href="a00217.html#a4c070147d189dede5e08a2dc66852678" target="_top" xlink:title="Return the number of bytes needed by specified type. ">
<polygon fill="white" stroke="black" points="467.5,-667.424 467.5,-686.424 586.5,-686.424 586.5,-667.424 467.5,-667.424"/>
<text text-anchor="middle" x="527" y="-674.424" font-family="Helvetica,sans-Serif" font-size="10.00">tds_get_size_by_type</text>
</a>
</g>
</g>
<!-- Node15&#45;&gt;Node16 -->
<g id="edge27" class="edge"><title>Node15&#45;&gt;Node16</title>
<path fill="none" stroke="midnightblue" d="M361.576,-610.472C381.182,-622.942 417.469,-644.736 451,-657.924 457.299,-660.402 464.024,-662.64 470.763,-664.638"/>
<polygon fill="midnightblue" stroke="midnightblue" points="470.026,-668.066 480.6,-667.391 471.913,-661.325 470.026,-668.066"/>
</g>
<!-- Node17 -->
<g id="node17" class="node"><title>Node17</title>
<g id="a_node17"><a xlink:href="a00326.html#a86ac92bd8a3c61a413d27150ec9bc202" target="_top" xlink:title="Read a data file, passing the data through iconv(). ">
<polygon fill="white" stroke="black" points="485,-705.424 485,-724.424 569,-724.424 569,-705.424 485,-705.424"/>
<text text-anchor="middle" x="527" y="-712.424" font-family="Helvetica,sans-Serif" font-size="10.00">tds_bcp_fread</text>
</a>
</g>
</g>
<!-- Node15&#45;&gt;Node17 -->
<g id="edge28" class="edge"><title>Node15&#45;&gt;Node17</title>
<path fill="none" stroke="midnightblue" d="M354.75,-610.683C370.651,-630.025 409.018,-673.307 451,-695.924 458.479,-699.954 466.841,-703.152 475.193,-705.684"/>
<polygon fill="midnightblue" stroke="midnightblue" points="474.369,-709.087 484.939,-708.359 476.222,-702.337 474.369,-709.087"/>
</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="459,-629.424 459,-648.424 595,-648.424 595,-629.424 459,-629.424"/>
<text text-anchor="middle" x="527" y="-636.424" font-family="Helvetica,sans-Serif" font-size="10.00">tds_get_conversion_type</text>
</a>
</g>
</g>
<!-- Node15&#45;&gt;Node23 -->
<g id="edge35" class="edge"><title>Node15&#45;&gt;Node23</title>
<path fill="none" stroke="midnightblue" d="M392.169,-610.513C416.216,-615.618 445.974,-621.936 471.319,-627.316"/>
<polygon fill="midnightblue" stroke="midnightblue" points="470.647,-630.751 481.156,-629.404 472.1,-623.904 470.647,-630.751"/>
</g>
<!-- Node24 -->
<g id="node24" class="node"><title>Node24</title>
<g id="a_node24"><a xlink:href="a00375.html#ga4d5be57b25a0654e2170fd656dc35489" target="_top" xlink:title="trim a string of trailing blanks ">
<polygon fill="white" stroke="black" points="508,-591.424 508,-610.424 546,-610.424 546,-591.424 508,-591.424"/>
<text text-anchor="middle" x="527" y="-598.424" font-family="Helvetica,sans-Serif" font-size="10.00">rtrim</text>
</a>
</g>
</g>
<!-- Node15&#45;&gt;Node24 -->
<g id="edge36" class="edge"><title>Node15&#45;&gt;Node24</title>
<path fill="none" stroke="midnightblue" d="M399.738,-600.924C431.824,-600.924 471.539,-600.924 497.763,-600.924"/>
<polygon fill="midnightblue" stroke="midnightblue" points="497.779,-604.425 507.779,-600.924 497.779,-597.425 497.779,-604.425"/>
</g>
<!-- Node18 -->
<g id="node18" class="node"><title>Node18</title>
<g id="a_node18"><a xlink:href="a00326.html#a1b83c9db016b481aa1fa0352f976d50d" target="_top" xlink:title="Reads a chunk of data from file stream checking for terminator. ">
<polygon fill="white" stroke="black" points="656,-686.424 656,-705.424 772,-705.424 772,-686.424 656,-686.424"/>
<text text-anchor="middle" x="714" y="-693.424" font-family="Helvetica,sans-Serif" font-size="10.00">tds_file_stream_read</text>
</a>
</g>
</g>
<!-- Node17&#45;&gt;Node18 -->
<g id="edge29" class="edge"><title>Node17&#45;&gt;Node18</title>
<path fill="none" stroke="midnightblue" d="M569.057,-710.708C591.612,-708.391 620.149,-705.46 645.855,-702.82"/>
<polygon fill="midnightblue" stroke="midnightblue" points="646.331,-706.29 655.921,-701.787 645.616,-699.327 646.331,-706.29"/>
</g>
<!-- Node19 -->
<g id="node19" class="node"><title>Node19</title>
<g id="a_node19"><a xlink:href="a00294.html#a4f9e40da6941cb9407d0da5bc3030517" target="_top" xlink:title="Initialize a dynamic output stream. ">
<polygon fill="white" stroke="red" points="647,-648.424 647,-667.424 781,-667.424 781,-648.424 647,-648.424"/>
<text text-anchor="middle" x="714" y="-655.424" font-family="Helvetica,sans-Serif" font-size="10.00">tds_dynamic_stream_init</text>
</a>
</g>
</g>
<!-- Node17&#45;&gt;Node19 -->
<g id="edge30" class="edge"><title>Node17&#45;&gt;Node19</title>
<path fill="none" stroke="midnightblue" d="M569.029,-706.398C580.215,-703.572 592.217,-700.068 603,-695.924 619.888,-689.435 622.123,-683.441 639,-676.924 645.318,-674.485 652.06,-672.263 658.805,-670.268"/>
<polygon fill="midnightblue" stroke="midnightblue" points="659.958,-673.58 668.641,-667.51 658.067,-666.84 659.958,-673.58"/>
</g>
<!-- Node20 -->
<g id="node20" class="node"><title>Node20</title>
<g id="a_node20"><a xlink:href="a00294.html#a2b8e3379c38cd2bce28b90cb199c2aa9" target="_top" xlink:title="Reads and writes from a stream to another. ">
<polygon fill="white" stroke="black" points="665,-610.424 665,-629.424 763,-629.424 763,-610.424 665,-610.424"/>
<text text-anchor="middle" x="714" y="-617.424" font-family="Helvetica,sans-Serif" font-size="10.00">tds_copy_stream</text>
</a>
</g>
</g>
<!-- Node17&#45;&gt;Node20 -->
<g id="edge31" class="edge"><title>Node17&#45;&gt;Node20</title>
<path fill="none" stroke="midnightblue" d="M569.367,-710.275C581.042,-707.481 593.216,-703.025 603,-695.924 627.25,-678.325 614.779,-656.562 639,-638.924 643.877,-635.373 649.357,-632.484 655.072,-630.134"/>
<polygon fill="midnightblue" stroke="midnightblue" points="656.592,-633.308 664.846,-626.665 654.251,-626.711 656.592,-633.308"/>
</g>
<!-- Node21 -->
<g id="node21" class="node"><title>Node21</title>
<g id="a_node21"><a xlink:href="a00294.html#a9d8eb43a81ff58ab423dce0ce95b9564" target="_top" xlink:title="Reads and writes from a stream converting characters. ">
<polygon fill="white" stroke="red" points="659,-724.424 659,-743.424 769,-743.424 769,-724.424 659,-724.424"/>
<text text-anchor="middle" x="714" y="-731.424" font-family="Helvetica,sans-Serif" font-size="10.00">tds_convert_stream</text>
</a>
</g>
</g>
<!-- Node17&#45;&gt;Node21 -->
<g id="edge32" class="edge"><title>Node17&#45;&gt;Node21</title>
<path fill="none" stroke="midnightblue" d="M569.057,-719.141C592.363,-721.535 622.058,-724.584 648.415,-727.291"/>
<polygon fill="midnightblue" stroke="midnightblue" points="648.407,-730.809 658.713,-728.349 649.123,-723.846 648.407,-730.809"/>
</g>
<!-- Node21&#45;&gt;Node2 -->
<g id="edge33" class="edge"><title>Node21&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M769.106,-727.746C776.572,-724.832 783.538,-720.713 789,-714.924 846.185,-654.315 808.303,-612.563 825,-530.924 842.233,-446.663 864.022,-346.456 873.159,-304.706"/>
<polygon fill="midnightblue" stroke="midnightblue" points="876.618,-305.272 875.339,-294.755 869.78,-303.774 876.618,-305.272"/>
</g>
<!-- Node22 -->
<g id="node22" class="node"><title>Node22</title>
<g id="a_node22"><a xlink:href="a00217.html#a79449d2f35a8acc8ed0585044f75524d" target="_top" xlink:title="Dump the contents of data into the log file in a human readable format. ">
<polygon fill="white" stroke="black" points="825,-540.424 825,-559.424 932,-559.424 932,-540.424 825,-540.424"/>
<text text-anchor="middle" x="878.5" y="-547.424" font-family="Helvetica,sans-Serif" font-size="10.00">tdsdump_dump_buf</text>
</a>
</g>
</g>
<!-- Node21&#45;&gt;Node22 -->
<g id="edge34" class="edge"><title>Node21&#45;&gt;Node22</title>
<path fill="none" stroke="midnightblue" d="M769.223,-725.646C776.325,-722.994 783.155,-719.507 789,-714.924 837.706,-676.739 862.916,-604.086 872.639,-569.356"/>
<polygon fill="midnightblue" stroke="midnightblue" points="876.071,-570.068 875.261,-559.504 869.306,-568.267 876.071,-570.068"/>
</g>
<!-- Node25&#45;&gt;Node2 -->
<g id="edge38" class="edge"><title>Node25&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M571.398,-47.357C627.25,-37.6616 724.728,-29.8986 789,-75.9244 852.681,-121.527 870.826,-222.318 875.757,-265.1"/>
<polygon fill="midnightblue" stroke="midnightblue" points="872.302,-265.726 876.804,-275.317 879.266,-265.012 872.302,-265.726"/>
</g>
<!-- Node25&#45;&gt;Node12 -->
<g id="edge39" class="edge"><title>Node25&#45;&gt;Node12</title>
<path fill="none" stroke="midnightblue" d="M585.329,-66.5633C591.612,-69.0123 597.657,-72.0807 603,-75.9244 631.529,-96.4488 682.229,-188.503 703.349,-228.393"/>
<polygon fill="midnightblue" stroke="midnightblue" points="700.298,-230.112 708.049,-237.335 706.494,-226.855 700.298,-230.112"/>
</g>
<!-- Node26 -->
<g id="node26" class="node"><title>Node26</title>
<g id="a_node26"><a xlink:href="a00326.html#a6d1e3ee3ba4ddeac7d5c9b5e30b185f1" target="_top" xlink:title="Add fixed size columns to the row. ">
<polygon fill="white" stroke="black" points="639,-85.4244 639,-104.424 789,-104.424 789,-85.4244 639,-85.4244"/>
<text text-anchor="middle" x="714" y="-92.4244" font-family="Helvetica,sans-Serif" font-size="10.00">tds_bcp_add_fixed_columns</text>
</a>
</g>
</g>
<!-- Node25&#45;&gt;Node26 -->
<g id="edge40" class="edge"><title>Node25&#45;&gt;Node26</title>
<path fill="none" stroke="midnightblue" d="M574.683,-66.5134C599.646,-71.6409 630.564,-77.9917 656.834,-83.3876"/>
<polygon fill="midnightblue" stroke="midnightblue" points="656.153,-86.8207 666.652,-85.4044 657.561,-79.9638 656.153,-86.8207"/>
</g>
<!-- Node27 -->
<g id="node27" class="node"><title>Node27</title>
<g id="a_node27"><a xlink:href="a00326.html#a0184a0b53bd92aeca39b136542238dd4" target="_top" xlink:title="Add variable size columns to the row. ">
<polygon fill="white" stroke="black" points="654,-351.924 654,-381.924 774,-381.924 774,-351.924 654,-351.924"/>
<text text-anchor="start" x="662" y="-369.924" font-family="Helvetica,sans-Serif" font-size="10.00">tds_bcp_add_variable</text>
<text text-anchor="middle" x="714" y="-358.924" font-family="Helvetica,sans-Serif" font-size="10.00">_columns</text>
</a>
</g>
</g>
<!-- Node25&#45;&gt;Node27 -->
<g id="edge42" class="edge"><title>Node25&#45;&gt;Node27</title>
<path fill="none" stroke="midnightblue" d="M586.594,-64.5315C592.732,-67.3277 598.398,-71.0331 603,-75.9244 661.896,-138.519 604.758,-187.093 639,-265.924 651.883,-295.582 674.778,-324.874 691.701,-344.213"/>
<polygon fill="midnightblue" stroke="midnightblue" points="689.267,-346.741 698.542,-351.863 694.486,-342.075 689.267,-346.741"/>
</g>
<!-- Node26&#45;&gt;Node2 -->
<g id="edge41" class="edge"><title>Node26&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M762.794,-104.477C772.177,-107.921 781.442,-112.593 789,-118.924 836.441,-158.665 862.139,-230.525 872.29,-265.181"/>
<polygon fill="midnightblue" stroke="midnightblue" points="868.983,-266.35 875.047,-275.037 875.724,-264.464 868.983,-266.35"/>
</g>
<!-- Node27&#45;&gt;Node2 -->
<g id="edge43" class="edge"><title>Node27&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M755.412,-351.783C766.448,-347.314 778.308,-342.198 789,-336.924 811.865,-325.647 836.813,-310.735 854.375,-299.772"/>
<polygon fill="midnightblue" stroke="midnightblue" points="856.242,-302.732 862.835,-294.439 852.509,-296.811 856.242,-302.732"/>
</g>
<!-- Node27&#45;&gt;Node22 -->
<g id="edge44" class="edge"><title>Node27&#45;&gt;Node22</title>
<path fill="none" stroke="midnightblue" d="M735.262,-382.094C750.791,-394.197 772.315,-412.032 789,-429.924 820.015,-463.184 850.14,-507.308 865.99,-531.721"/>
<polygon fill="midnightblue" stroke="midnightblue" points="863.169,-533.805 871.517,-540.33 869.06,-530.024 863.169,-533.805"/>
</g>
<!-- Node28&#45;&gt;Node2 -->
<g id="edge46" class="edge"><title>Node28&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M387.591,-130.671C483.47,-126.047 721.01,-118.889 789,-156.924 832.258,-181.124 858.968,-236.381 870.63,-265.75"/>
<polygon fill="midnightblue" stroke="midnightblue" points="867.431,-267.184 874.249,-275.293 873.976,-264.702 867.431,-267.184"/>
</g>
<!-- Node28&#45;&gt;Node11 -->
<g id="edge49" class="edge"><title>Node28&#45;&gt;Node11</title>
<path fill="none" stroke="midnightblue" d="M355.908,-142.516C372.921,-160.378 411.843,-199.082 451,-222.924 457.423,-226.835 464.446,-230.424 471.536,-233.655"/>
<polygon fill="midnightblue" stroke="midnightblue" points="470.628,-237.075 481.196,-237.833 473.407,-230.65 470.628,-237.075"/>
</g>
<!-- Node28&#45;&gt;Node12 -->
<g id="edge47" class="edge"><title>Node28&#45;&gt;Node12</title>
<path fill="none" stroke="midnightblue" d="M377.575,-142.448C443.375,-162.943 598.417,-211.235 672.374,-234.271"/>
<polygon fill="midnightblue" stroke="midnightblue" points="671.666,-237.716 682.254,-237.348 673.747,-231.032 671.666,-237.716"/>
</g>
<!-- Node29 -->
<g id="node29" class="node"><title>Node29</title>
<g id="a_node29"><a xlink:href="a00388.html#ga5feb53554e8917a81bbbc332163a61fb" target="_top" xlink:title="Flush packet to server. ">
<polygon fill="white" stroke="black" points="479,-85.4244 479,-104.424 575,-104.424 575,-85.4244 479,-85.4244"/>
<text text-anchor="middle" x="527" y="-92.4244" font-family="Helvetica,sans-Serif" font-size="10.00">tds_flush_packet</text>
</a>
</g>
</g>
<!-- Node28&#45;&gt;Node29 -->
<g id="edge48" class="edge"><title>Node28&#45;&gt;Node29</title>
<path fill="none" stroke="midnightblue" d="M387.618,-124.302C412.313,-119.059 444.171,-112.296 471.093,-106.581"/>
<polygon fill="midnightblue" stroke="midnightblue" points="472.09,-109.947 481.145,-104.447 470.636,-103.1 472.09,-109.947"/>
</g>
</g>
</svg>