--- /srv/reproducible-results/rbuild-debian/r-b-build.kTyLfMv7/b1/freetds_1.3.17+ds-2_i386.changes +++ /srv/reproducible-results/rbuild-debian/r-b-build.kTyLfMv7/b2/freetds_1.3.17+ds-2_i386.changes ├── Files │ @@ -1,12 +1,12 @@ │ │ 417d1d3774176c81bc19f18f16169bc2 777720 debug optional freetds-bin-dbgsym_1.3.17+ds-2_i386.deb │ 0ffaf8838ffa342e3a2c36404ce03b81 232844 database optional freetds-bin_1.3.17+ds-2_i386.deb │ cf0b6f1497041544e07c2811f436184c 28856 libs optional freetds-common_1.3.17+ds-2_all.deb │ 47197e192ac3490df4d98c7fa74ae56c 303868 devel optional freetds-dev_1.3.17+ds-2_i386.deb │ - 5db1ccfe74efec9bbc69568c40c341cb 765016 doc optional freetds-doc_1.3.17+ds-2_all.deb │ + 1b1149bb425871151f89c920f9c34e97 765400 doc optional freetds-doc_1.3.17+ds-2_all.deb │ a2656bc81216dcc5d3a7e373f39c6dc8 393092 debug optional libct4-dbgsym_1.3.17+ds-2_i386.deb │ 7432fc8f1e6f90092e178952f0c11616 174204 libs optional libct4_1.3.17+ds-2_i386.deb │ 94f900aa009a094e1c39aae9e3282f87 446588 debug optional libsybdb5-dbgsym_1.3.17+ds-2_i386.deb │ c80b2c08b79b077149c6d5c0f4ac7790 204032 libs optional libsybdb5_1.3.17+ds-2_i386.deb │ 4bd7db5f0e6ff5d9fd26a62ab86d0da3 495252 debug optional tdsodbc-dbgsym_1.3.17+ds-2_i386.deb │ bfb362e0ca1c270b3e95e119e320936e 211412 libs optional tdsodbc_1.3.17+ds-2_i386.deb ├── freetds-doc_1.3.17+ds-2_all.deb │ ├── file list │ │ @@ -1,3 +1,3 @@ │ │ -rw-r--r-- 0 0 0 4 2023-01-27 00:59:14.000000 debian-binary │ │ --rw-r--r-- 0 0 0 31668 2023-01-27 00:59:14.000000 control.tar.xz │ │ --rw-r--r-- 0 0 0 733156 2023-01-27 00:59:14.000000 data.tar.xz │ │ +-rw-r--r-- 0 0 0 31696 2023-01-27 00:59:14.000000 control.tar.xz │ │ +-rw-r--r-- 0 0 0 733512 2023-01-27 00:59:14.000000 data.tar.xz │ ├── control.tar.xz │ │ ├── control.tar │ │ │ ├── ./md5sums │ │ │ │ ├── ./md5sums │ │ │ │ │┄ Files differ │ │ │ │ ├── line order │ │ │ │ │ @@ -12,137 +12,137 @@ │ │ │ │ │ usr/share/doc/freetds-doc/images/callouts/8.gif │ │ │ │ │ usr/share/doc/freetds-doc/images/callouts/9.gif │ │ │ │ │ usr/share/doc/freetds-doc/images/caution.gif │ │ │ │ │ usr/share/doc/freetds-doc/images/important.gif │ │ │ │ │ usr/share/doc/freetds-doc/images/note.gif │ │ │ │ │ usr/share/doc/freetds-doc/images/tip.gif │ │ │ │ │ usr/share/doc/freetds-doc/images/warning.gif │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00005_source.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00023_source.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00038_source.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00041_source.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00044_source.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00020_source.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00026_source.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00038.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00039.dot.gz │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00050.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00050_a4f9e40da6941cb9407d0da5bc3030517_cgraph.dot │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00050_a9d8eb43a81ff58ab423dce0ce95b9564_icgraph.dot │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00050_a9fe0d3799d2e3bde49b614c9d0c3785d_icgraph.dot │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00050_aa038a9125979f8f0915dbd53cbf27e5a_cgraph.dot │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00050_abc3a77c8aa28842e7f28583cbabc1415_cgraph.dot │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00050_abc3a77c8aa28842e7f28583cbabc1415_icgraph.dot │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00051.dot.gz │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00056_source.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00074_source.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00077.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00078.dot.gz │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00095_source.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00098_source.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00104.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00104_a1b83c9db016b481aa1fa0352f976d50d_icgraph.dot │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00104_a3118c7232bc9c3e47f8ba872bb39e967_cgraph.dot │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00104_a4daaa551e54dbd978650e2eef89e09ff_cgraph.dot │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00104_a5eec23828b0610c58de248c4edb53879_cgraph.dot │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00104_a7711612cc544a7da2c7aa212b870acb2_cgraph.dot │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00104_a8208eef2a3974ae1f0cf3c8c8ab011ce_cgraph.dot │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00104_a86ac92bd8a3c61a413d27150ec9bc202_cgraph.dot │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00104_ab68dead99a2ebec55895a10cd3db5202_cgraph.dot │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00104_ac1e460551f1188620ea478238864ac4b_cgraph.dot │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00104_ade7df2db455b61edc83819ad60edb339_cgraph.dot │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00105.dot.gz │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00110.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00111.dot.gz │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00113.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00113_a84e17808683ba2dd956e811a42e23176_cgraph.dot │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00113_aabd0e5f15615b5c141c525b76e746520_cgraph.dot │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00114.dot.gz │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00122_source.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00158_source.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00176_source.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00179_source.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00185_source.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00263_source.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00281.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00281_a9b73fd1afa2c3ccfca481635212d2e43_cgraph.dot │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00282.dot.gz │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00329_source.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00335_source.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00059.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00060.dot.gz │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00062.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00062_a1b83c9db016b481aa1fa0352f976d50d_icgraph.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00062_a3118c7232bc9c3e47f8ba872bb39e967_cgraph.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00062_a4daaa551e54dbd978650e2eef89e09ff_cgraph.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00062_a5eec23828b0610c58de248c4edb53879_cgraph.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00062_a7711612cc544a7da2c7aa212b870acb2_cgraph.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00062_a8208eef2a3974ae1f0cf3c8c8ab011ce_cgraph.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00062_a86ac92bd8a3c61a413d27150ec9bc202_cgraph.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00062_ab68dead99a2ebec55895a10cd3db5202_cgraph.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00062_ac1e460551f1188620ea478238864ac4b_cgraph.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00062_ade7df2db455b61edc83819ad60edb339_cgraph.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00063.dot.gz │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00077_source.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00092.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00092_a84e17808683ba2dd956e811a42e23176_cgraph.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00092_aabd0e5f15615b5c141c525b76e746520_cgraph.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00093.dot.gz │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00101_source.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00107_source.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00131_source.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00146_source.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00152_source.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00155_source.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00161_source.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00173_source.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00176.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00176_a9b73fd1afa2c3ccfca481635212d2e43_cgraph.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00177.dot.gz │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00194_source.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00206_source.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00224_source.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00242_source.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00245_source.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00299_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00344_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00347_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00350_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00353_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00356_source.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00359.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00359_a9b73fd1afa2c3ccfca481635212d2e43_cgraph.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00359_af2b7a0ebad53fe7e4e0eda3bbdb89de3_cgraph.dot │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00359_source.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00360.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00361.dot │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00362_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00365_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00368_source.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00371.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00371_a0383d5dcb629582266a442f0f0dbd13a_icgraph.dot │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00371_a16db200d2281f76fe46fc1cbe37ca9df_cgraph.dot │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00371_a16db200d2281f76fe46fc1cbe37ca9df_icgraph.dot │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00371_a24471508ddfde7cc0f8577801e70c42f_icgraph.dot │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00371_a3ab8874994a0776acdaff797afdb710a_cgraph.dot │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00371_a5eec23828b0610c58de248c4edb53879_cgraph.dot │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00371_a7711612cc544a7da2c7aa212b870acb2_cgraph.dot │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00371_a8184311543c685f2ee0bcccfb725ca02_cgraph.dot │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00371_a8208eef2a3974ae1f0cf3c8c8ab011ce_cgraph.dot │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00371_ab68dead99a2ebec55895a10cd3db5202_cgraph.dot │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00371_ac1e460551f1188620ea478238864ac4b_cgraph.dot │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00371_ade7df2db455b61edc83819ad60edb339_cgraph.dot │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00371_source.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00372.dot.gz │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00373.dot │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00374_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00377_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00380_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00383_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00386_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00389_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00392_source.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00398_source.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00395_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00401_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00404_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00407_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00410_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00413_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00416_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00419_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00422_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00425_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00428_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00431_source.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00434.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00434_source.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00435.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00436.dot.gz │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00437_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00440_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00443_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00446_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00449_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00452_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00455_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00458_source.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00461.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00461_source.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00462.dot │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00463.dot.gz │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00464_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00467_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00470_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00473_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00476_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00479_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00482.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00482_a9b73fd1afa2c3ccfca481635212d2e43_cgraph.dot │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00482_af2b7a0ebad53fe7e4e0eda3bbdb89de3_cgraph.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00482_a0383d5dcb629582266a442f0f0dbd13a_icgraph.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00482_a16db200d2281f76fe46fc1cbe37ca9df_cgraph.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00482_a16db200d2281f76fe46fc1cbe37ca9df_icgraph.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00482_a24471508ddfde7cc0f8577801e70c42f_icgraph.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00482_a3ab8874994a0776acdaff797afdb710a_cgraph.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00482_a5eec23828b0610c58de248c4edb53879_cgraph.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00482_a7711612cc544a7da2c7aa212b870acb2_cgraph.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00482_a8184311543c685f2ee0bcccfb725ca02_cgraph.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00482_a8208eef2a3974ae1f0cf3c8c8ab011ce_cgraph.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00482_ab68dead99a2ebec55895a10cd3db5202_cgraph.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00482_ac1e460551f1188620ea478238864ac4b_cgraph.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00482_ade7df2db455b61edc83819ad60edb339_cgraph.dot │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00482_source.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00483.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00483.dot.gz │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00484.dot │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00485_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00488_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00491_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00494_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00497_source.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a00509_source.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a00503_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00518_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00524.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00525.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00526.dot │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00526.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00527.dot │ │ │ │ │ usr/share/doc/freetds-doc/reference/a00527.html │ │ │ │ │ @@ -892,17 +892,17 @@ │ │ │ │ │ usr/share/doc/freetds-doc/reference/a01323.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a01326.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a01327.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a01330.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a01331.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a01332_source.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a01335_source.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a01344.html │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a01344_a230fa5b56ae4e3509a69bd266495732b_cgraph.dot │ │ │ │ │ -usr/share/doc/freetds-doc/reference/a01345.dot.gz │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a01353.html │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a01353_a230fa5b56ae4e3509a69bd266495732b_cgraph.dot │ │ │ │ │ +usr/share/doc/freetds-doc/reference/a01354.dot.gz │ │ │ │ │ usr/share/doc/freetds-doc/reference/a01365.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a01366.dot.gz │ │ │ │ │ usr/share/doc/freetds-doc/reference/a01368.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/a01369.dot.gz │ │ │ │ │ usr/share/doc/freetds-doc/reference/all_0.html │ │ │ │ │ usr/share/doc/freetds-doc/reference/all_0.js │ │ │ │ │ usr/share/doc/freetds-doc/reference/all_1.html │ ├── data.tar.xz │ │ ├── data.tar │ │ │ ├── file list │ │ │ │ @@ -20,137 +20,137 @@ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 927 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/images/callouts/9.gif │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1039 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/images/caution.gif │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1081 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/images/important.gif │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1070 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/images/note.gif │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1029 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/images/tip.gif │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1052 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/images/warning.gif │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/ │ │ │ │ --rw-r--r-- 0 root (0) root (0) 12752 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00005_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 6602 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00023_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 7768 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00038_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 6858 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00041_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 7898 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00044_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 55026 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00020_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 58485 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00026_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 42810 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00038.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 936 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00039.dot.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 25055 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00050.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 712 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00050_a4f9e40da6941cb9407d0da5bc3030517_cgraph.dot │ │ │ │ -rw-r--r-- 0 root (0) root (0) 784 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00050_a9d8eb43a81ff58ab423dce0ce95b9564_icgraph.dot │ │ │ │ -rw-r--r-- 0 root (0) root (0) 814 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00050_a9fe0d3799d2e3bde49b614c9d0c3785d_icgraph.dot │ │ │ │ -rw-r--r-- 0 root (0) root (0) 708 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00050_aa038a9125979f8f0915dbd53cbf27e5a_cgraph.dot │ │ │ │ -rw-r--r-- 0 root (0) root (0) 701 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00050_abc3a77c8aa28842e7f28583cbabc1415_cgraph.dot │ │ │ │ -rw-r--r-- 0 root (0) root (0) 770 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00050_abc3a77c8aa28842e7f28583cbabc1415_icgraph.dot │ │ │ │ -rw-r--r-- 0 root (0) root (0) 812 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00051.dot.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 41083 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00056_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 55026 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00074_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 42810 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00077.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 938 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00078.dot.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 173048 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00095_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 15684 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00098_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 49648 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00104.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 741 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00104_a1b83c9db016b481aa1fa0352f976d50d_icgraph.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 702 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00104_a3118c7232bc9c3e47f8ba872bb39e967_cgraph.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 685 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00104_a4daaa551e54dbd978650e2eef89e09ff_cgraph.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 675 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00104_a5eec23828b0610c58de248c4edb53879_cgraph.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 677 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00104_a7711612cc544a7da2c7aa212b870acb2_cgraph.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 666 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00104_a8208eef2a3974ae1f0cf3c8c8ab011ce_cgraph.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 723 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00104_a86ac92bd8a3c61a413d27150ec9bc202_cgraph.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1034 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00104_ab68dead99a2ebec55895a10cd3db5202_cgraph.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 983 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00104_ac1e460551f1188620ea478238864ac4b_cgraph.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 675 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00104_ade7df2db455b61edc83819ad60edb339_cgraph.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 857 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00105.dot.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 12068 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00110.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 863 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00111.dot.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 42234 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00113.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 656 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00113_a84e17808683ba2dd956e811a42e23176_cgraph.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 677 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00113_aabd0e5f15615b5c141c525b76e746520_cgraph.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 941 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00114.dot.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 58485 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00122_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 7330 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00158_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 184187 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00176_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 28846 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00179_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 6554 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00185_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 79337 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00263_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 135952 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00281.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 711 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00281_a9b73fd1afa2c3ccfca481635212d2e43_cgraph.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 959 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00282.dot.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 11873 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00329_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 32043 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00335_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 12068 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00059.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 863 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00060.dot.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 49648 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00062.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 741 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00062_a1b83c9db016b481aa1fa0352f976d50d_icgraph.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 702 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00062_a3118c7232bc9c3e47f8ba872bb39e967_cgraph.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 685 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00062_a4daaa551e54dbd978650e2eef89e09ff_cgraph.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 675 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00062_a5eec23828b0610c58de248c4edb53879_cgraph.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 677 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00062_a7711612cc544a7da2c7aa212b870acb2_cgraph.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 666 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00062_a8208eef2a3974ae1f0cf3c8c8ab011ce_cgraph.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 723 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00062_a86ac92bd8a3c61a413d27150ec9bc202_cgraph.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1034 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00062_ab68dead99a2ebec55895a10cd3db5202_cgraph.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 983 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00062_ac1e460551f1188620ea478238864ac4b_cgraph.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 675 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00062_ade7df2db455b61edc83819ad60edb339_cgraph.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 856 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00063.dot.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 15684 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00077_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 42234 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00092.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 656 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00092_a84e17808683ba2dd956e811a42e23176_cgraph.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 677 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00092_aabd0e5f15615b5c141c525b76e746520_cgraph.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 947 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00093.dot.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 41083 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00101_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 173048 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00107_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 7768 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00131_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 6602 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00146_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 6858 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00152_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 7898 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00155_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 12752 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00161_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 79337 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00173_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 135952 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00176.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 711 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00176_a9b73fd1afa2c3ccfca481635212d2e43_cgraph.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 961 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00177.dot.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 32043 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00194_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 184187 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00206_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 28846 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00224_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 7330 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00242_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 6554 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00245_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 11873 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00299_source.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 15127 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00344_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 30585 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00347_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 3612 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00350_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 7986 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00353_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 24177 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00356_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 45413 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00359_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 43874 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00362_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 22517 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00365_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 7030 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00368_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 320376 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00371.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 808 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00371_a0383d5dcb629582266a442f0f0dbd13a_icgraph.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 688 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00371_a16db200d2281f76fe46fc1cbe37ca9df_cgraph.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1944 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00371_a16db200d2281f76fe46fc1cbe37ca9df_icgraph.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 988 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00371_a24471508ddfde7cc0f8577801e70c42f_icgraph.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 678 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00371_a3ab8874994a0776acdaff797afdb710a_cgraph.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 675 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00371_a5eec23828b0610c58de248c4edb53879_cgraph.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 677 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00371_a7711612cc544a7da2c7aa212b870acb2_cgraph.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 723 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00371_a8184311543c685f2ee0bcccfb725ca02_cgraph.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 666 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00371_a8208eef2a3974ae1f0cf3c8c8ab011ce_cgraph.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1034 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00371_ab68dead99a2ebec55895a10cd3db5202_cgraph.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 983 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00371_ac1e460551f1188620ea478238864ac4b_cgraph.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 675 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00371_ade7df2db455b61edc83819ad60edb339_cgraph.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 379014 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00371_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 718 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00372.dot.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 3579 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00373.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 101025 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00374_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 260381 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00377_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 129107 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00380_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 84767 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00383_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 34662 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00386_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 11756 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00389_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 114448 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00347_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 30585 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00350_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 13504 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00353_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 9884 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00356_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 420536 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00359.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 711 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00359_a9b73fd1afa2c3ccfca481635212d2e43_cgraph.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1248 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00359_af2b7a0ebad53fe7e4e0eda3bbdb89de3_cgraph.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 344064 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00359_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 815 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00360.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1873 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00361.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 29352 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00362_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 25590 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00365_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 39464 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00368_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 11050 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00371_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 36623 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00374_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 50961 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00377_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 7030 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00380_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 65724 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00383_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 17342 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00386_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 84767 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00389_source.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 22213 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00392_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 16926 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00398_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 65724 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00401_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 27251 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00404_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 4633 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00407_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 10164 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00410_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 18492 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00413_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 26909 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00416_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 9364 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00419_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 7649 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00422_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 21071 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00425_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 7977 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00428_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 23944 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00431_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 10309 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00434_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 10062 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00437_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 8322 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00440_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 10037 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00443_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 10798 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00446_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 17342 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00449_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 3623 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00452_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 15015 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00455_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 13903 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00458_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 11925 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00461.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 15602 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00461_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1102 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00462.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 779 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00463.dot.gz │ │ │ │ --rw-r--r-- 0 root (0) root (0) 9884 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00464_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 60999 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00467_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 29352 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00470_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 36623 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00473_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 39464 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00476_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 50961 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00479_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 420536 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00482.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 711 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00482_a9b73fd1afa2c3ccfca481635212d2e43_cgraph.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1248 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00482_af2b7a0ebad53fe7e4e0eda3bbdb89de3_cgraph.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 344064 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00482_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 815 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00483.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 1873 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00484.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 25590 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00485_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 114448 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00488_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 119900 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00491_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 13504 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00494_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 11050 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00497_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 13558 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00509_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 9364 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00395_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 3612 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00401_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 7986 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00404_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 26909 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00407_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 7649 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00410_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 101025 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00413_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 24177 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00416_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 22517 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00419_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 11756 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00422_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 43874 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00425_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 3623 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00428_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 13903 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00431_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 11925 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00434.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 15602 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00434_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1102 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00435.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 778 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00436.dot.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 129107 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00437_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 260381 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00440_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 18492 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00443_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 10164 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00446_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 4633 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00449_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 16926 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00452_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 34662 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00455_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 10062 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00458_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 7977 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00461_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 10309 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00464_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 8322 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00467_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 10037 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00470_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 21071 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00473_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 10798 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00476_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 23944 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00479_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 320376 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00482.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 808 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00482_a0383d5dcb629582266a442f0f0dbd13a_icgraph.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 688 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00482_a16db200d2281f76fe46fc1cbe37ca9df_cgraph.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1944 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00482_a16db200d2281f76fe46fc1cbe37ca9df_icgraph.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 988 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00482_a24471508ddfde7cc0f8577801e70c42f_icgraph.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 678 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00482_a3ab8874994a0776acdaff797afdb710a_cgraph.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 675 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00482_a5eec23828b0610c58de248c4edb53879_cgraph.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 677 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00482_a7711612cc544a7da2c7aa212b870acb2_cgraph.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 723 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00482_a8184311543c685f2ee0bcccfb725ca02_cgraph.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 666 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00482_a8208eef2a3974ae1f0cf3c8c8ab011ce_cgraph.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 1034 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00482_ab68dead99a2ebec55895a10cd3db5202_cgraph.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 983 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00482_ac1e460551f1188620ea478238864ac4b_cgraph.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 675 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00482_ade7df2db455b61edc83819ad60edb339_cgraph.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 379014 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00482_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 718 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00483.dot.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 3579 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00484.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 27251 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00485_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 45413 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00488_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 15015 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00491_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 119900 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00494_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 60999 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00497_source.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 13558 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00503_source.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3160 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00518_source.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 8229 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00524.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3217 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00525.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 2103 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00526.dot │ │ │ │ -rw-r--r-- 0 root (0) root (0) 6628 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00526.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 615 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00527.dot │ │ │ │ -rw-r--r-- 0 root (0) root (0) 286605 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a00527.html │ │ │ │ @@ -900,19 +900,19 @@ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 6128 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a01323.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 7927 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a01326.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 6084 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a01327.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 7955 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a01330.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 13634 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a01331.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3307 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a01332_source.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 3293 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a01335_source.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 33879 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a01344.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 790 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a01344_a230fa5b56ae4e3509a69bd266495732b_cgraph.dot │ │ │ │ --rw-r--r-- 0 root (0) root (0) 979 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a01345.dot.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 33879 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a01353.html │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 790 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a01353_a230fa5b56ae4e3509a69bd266495732b_cgraph.dot │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 980 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a01354.dot.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 16726 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a01365.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 880 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a01366.dot.gz │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 882 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a01366.dot.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 22987 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a01368.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 868 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/a01369.dot.gz │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1435 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/all_0.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 4541 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/all_0.js │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1435 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/all_1.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 467 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/all_1.js │ │ │ │ -rw-r--r-- 0 root (0) root (0) 1436 2023-01-27 00:59:14.000000 ./usr/share/doc/freetds-doc/reference/all_10.html │ │ │ ├── ./usr/share/doc/freetds-doc/reference/a00050.html │ │ │ │ @@ -72,15 +72,15 @@ │ │ │ │ │ │ │ │
Handle stream of data. │ │ │ │ More...
│ │ │ │#include <config.h>
#include <assert.h>
#include <freetds/tds.h>
#include <freetds/tds.h>
#include <freetds/iconv.h>
#include <freetds/stream.h>
Primary include file for db-lib applications. │ │ │ │ +
Main include file for libtds. │ │ │ │ More...
│ │ │ │ -#include "tds_sysdep_public.h"
#include <stdarg.h>
#include <stdio.h>
#include <time.h>
#include <freetds/version.h>
#include <freetds/sysdep_private.h>
#include <freetds/thread.h>
#include <freetds/bool.h>
#include <freetds/macros.h>
#include <freetds/utils/string.h>
#include <freetds/replacements.h>
#include <freetds/pushvis.h>
#include <freetds/proto.h>
#include <freetds/popvis.h>
Go to the source code of this file.
│ │ │ ││ │ │ │ Classes | |
struct | DBCOL |
union | tds_align_struct |
struct | DBCOL2 |
struct | tds_authentication |
struct | DBDATETIME |
struct | tds_bcpcoldata |
struct | DBDATETIME4 |
struct | tds_bcpinfo |
struct | DBDATETIMEALL |
struct | tds_blob |
Information about blobs (e.g. More... | |
struct | DBMONEY |
struct | tds_capabilities |
struct | DBMONEY4 |
struct | tds_capability_type |
struct | DBNUMERIC |
struct | tds_column |
Metadata about columns in regular and compute rows. More... | |
struct | dbstring |
struct | tds_column_funcs |
struct | dbtypeinfo |
struct | tds_compiletime_settings |
A structure to hold all the compile-time settings. More... | |
struct | DBVARYBIN |
struct | tds_connection |
struct | DBVARYCHAR |
struct | tds_context |
struct | tds_microsoft_dbdaterec |
struct | tds_cursor |
Holds informations about a cursor. More... | |
struct | tds_microsoft_dbdaterec2 |
struct | tds_cursor_status |
struct | tds_sybase_dbdaterec |
struct | TDS_DATETIMEALL |
this structure is not directed connected to a TDS protocol but keeps any DATE/TIME information. More... | |
struct | tds_sybase_dbdaterec2 |
struct | tds_dynamic |
Holds information for a dynamic (also called prepared) query. More... | |
struct | tds_encoding |
Information relevant to libiconv. More... | |
struct | tds_env |
Current environment as reported by the server. More... | |
struct | tds_freeze |
struct | tds_headers |
struct | tds_locale |
struct | tds_login |
struct | tds_message |
struct | tds_multiple |
union | tds_option_arg |
struct | tds_packet |
struct | tds_poll_wakeup |
struct | tds_result_info |
Hold information for any results. More... | |
struct | tds_socket |
Information for a server connection. More... | |
struct | tds_upd_col |
struct | tds_variant |
Store variant informations. More... | |
struct | tdsdaterec |
Used by tds_datecrack. More... | |
struct | tdsdump_off_item |
│ │ │ │ Macros | |
│ │ │ │ -#define | BCP_SETL(x, y) dbsetlbool((x), (y), DBSETBCP) |
│ │ │ │ -#define | BCP_SETLABELED(x, y) dbsetlbool((x), (y), DBSETLABELED) |
│ │ │ │ -#define | BCPBATCH 4 |
│ │ │ │ -#define | BCPFIRST 2 |
│ │ │ │ -#define | BCPHINTS 6 |
│ │ │ │ -#define | BCPKEEPIDENTITY 8 |
│ │ │ │ -#define | BCPLABELED 5 |
│ │ │ │ -#define | BCPLAST 3 |
│ │ │ │ -#define | BCPMAXERRS 1 |
│ │ │ │ -#define | BIGDATETIMEBIND 23 |
│ │ │ │ -#define | BIGINTBIND 30 |
│ │ │ │ -#define | BIGTIMEBIND 24 |
│ │ │ │ -#define | BINARYBIND 15 |
│ │ │ │ -#define | BITBIND 16 |
│ │ │ │ -#define | BUF_FULL -3 |
│ │ │ │ -#define | CHARBIND 0 |
│ │ │ │ -#define | DATEBIND 21 |
│ │ │ │ -#define | DATETIME2BIND 31 |
│ │ │ │ -#define | DATETIMEBIND 11 |
│ │ │ │ -#define | DB_IN 1 |
│ │ │ │ -#define | DB_OUT 2 |
│ │ │ │ -#define | DB_QUERYOUT 3 |
│ │ │ │ -#define | DBARITHABORT 6 |
│ │ │ │ -#define | DBARITHIGNORE 4 |
│ │ │ │ -#define | DBAUTH 29 |
│ │ │ │ -#define | DBBOTH 2 |
│ │ │ │ -#define | DBBROWSE 8 |
│ │ │ │ -#define | DBBUFFER 14 |
│ │ │ │ -#define | DBCHAINXACTS 26 |
│ │ │ │ -#define | DBCLIENTCURSORS 33 |
│ │ │ │ -#define | DBCMDNONE 0 |
│ │ │ │ -#define | DBCMDPEND 1 |
│ │ │ │ -#define | DBCMDROW(x) dbcmdrow((x)) |
│ │ │ │ -#define | DBCMDSENT 2 |
│ │ │ │ -#define | DBCONFIRM 12 |
│ │ │ │ -#define | DBCOUNT(x) dbcount((x)) |
│ │ │ │ -#define | DBCURCMD(x) dbcurcmd((x)) |
│ │ │ │ -#define | DBCURROW(x) dbcurrow((x)) |
│ │ │ │ -#define | DBDATEFIRST 25 |
│ │ │ │ -#define | DBDATEFORMAT 19 |
│ │ │ │ -#define | DBDATESHORT 32 |
│ │ │ │ -#define | DBDEAD(x) dbdead((x)) |
│ │ │ │ -#define | DBDOUBLE 1 |
│ │ │ │ -#define | DBERRLVL 11 |
│ │ │ │ -#define | DBESTIMATE 1 |
│ │ │ │ -#define | DBFIPSFLAG 27 |
│ │ │ │ -#define | DBFIRSTROW(x) dbfirstrow((x)) |
│ │ │ │ -#define | DBGETTIME dbgettime |
│ │ │ │ -#define | DBIDENTITY 30 |
│ │ │ │ -#define | DBINTERRUPT 4 |
│ │ │ │ -#define | DBIORDESC(x) dbiordesc((x)) |
│ │ │ │ -#define | DBIOWDESC(x) dbiowdesc((x)) |
│ │ │ │ -#define | DBISAVAIL(x) dbisavail((x)) |
│ │ │ │ -#define | DBISOLATION 28 |
│ │ │ │ -#define | DBLASTROW(x) dblastrow((x)) |
│ │ │ │ -#define | DBLFCONVERT 24 |
│ │ │ │ -#define | DBMAXNAME 128 |
│ │ │ │ -#define | DBMAXNUMLEN 33 |
│ │ │ │ -#define | DBMORECMDS(x) dbmorecmds((x)) |
│ │ │ │ -#define | DBNATLANG 18 |
│ │ │ │ -#define | DBNOAUTOFREE 15 |
│ │ │ │ -#define | DBNOCOUNT 5 |
│ │ │ │ -#define | DBNOERR -1 |
│ │ │ │ -#define | DBNOEXEC 3 |
│ │ │ │ -#define | DBNOIDCOL 31 |
│ │ │ │ -#define | DBNOSAVE 0 |
│ │ │ │ -#define | DBNOTIFICATION 2 |
│ │ │ │ -#define | DBNUMOPTIONS 36 |
│ │ │ │ -#define | DBOFFSET 9 |
│ │ │ │ -#define | dbopen(x, y) tdsdbopen((x),(y), 0) |
│ │ │ │ -#define | DBPADOFF 0 |
│ │ │ │ -#define | DBPADON 1 |
│ │ │ │ -#define | DBPARSEONLY 0 |
│ │ │ │ -#define | DBPRCOLSEP 21 |
│ │ │ │ -#define | DBPRCOLSEP 21 |
│ │ │ │ -#define | DBPRLINELEN 22 |
│ │ │ │ -#define | DBPRLINELEN 22 |
│ │ │ │ -#define | DBPRLINESEP 23 |
│ │ │ │ -#define | DBPRPAD 20 |
│ │ │ │ -#define | DBQUOTEDIDENT 35 |
│ │ │ │ -#define | DBRESULT 1 |
│ │ │ │ -#define | DBROWCOUNT 16 |
│ │ │ │ -#define | DBROWS(x) dbrows((x)) |
│ │ │ │ -#define | DBROWTYPE(x) dbrowtype((x)) |
│ │ │ │ -#define | DBRPCCURSOR TDS_STATIC_CAST(DBSMALLINT, 0x0008) |
│ │ │ │ -#define | DBRPCDEFAULT 2 |
│ │ │ │ -#define | DBRPCNORETURN 0 |
│ │ │ │ -#define | DBRPCRECOMPILE TDS_STATIC_CAST(DBSMALLINT, 0x0001) |
│ │ │ │ -#define | DBRPCRESET TDS_STATIC_CAST(DBSMALLINT, 0x0002) |
│ │ │ │ -#define | DBRPCRETURN 1 |
│ │ │ │ -#define | DBSAVE 1 |
│ │ │ │ -#define | DBSETAPP 5 |
│ │ │ │ -#define | DBSETBCP 6 |
│ │ │ │ -#define | DBSETCHARSET 10 |
│ │ │ │ -#define | DBSETDBNAME 14 |
│ │ │ │ -#define | DBSETDELEGATION 1004 |
│ │ │ │ -#define | DBSETENCRYPT 12 |
│ │ │ │ -#define | DBSETHOST 1 |
│ │ │ │ -#define | DBSETLABELED 13 |
│ │ │ │ -#define | DBSETLAPP(x, y) dbsetlname((x), (y), DBSETAPP) |
│ │ │ │ -#define | dbsetlapp(x, y) dbsetlname((x), (y), DBSETAPP) |
│ │ │ │ -#define | DBSETLCHARSET(x, y) dbsetlname((x), (y), DBSETCHARSET) |
│ │ │ │ -#define | DBSETLDBNAME(x, y) dbsetlname((x), (y), DBSETDBNAME) |
│ │ │ │ -#define | DBSETLDELEGATION(x, y) dbsetlbool((x), (y), DBSETDELEGATION) |
│ │ │ │ -#define | DBSETLENCRYPT(x, y) dbsetlbool((x), (y), DBSETENCRYPT) |
│ │ │ │ -#define | DBSETLHOST(x, y) dbsetlname((x), (y), DBSETHOST) |
│ │ │ │ -#define | dbsetlhost(x, y) dbsetlname((x), (y), DBSETHOST) |
│ │ │ │ -#define | DBSETLLABELED(x, y) dbsetlbool((x), (y), DBSETLABELED) |
│ │ │ │ -#define | DBSETLMUTUALAUTH(x, y) dbsetlbool((x), (y), DBSETMUTUALAUTH) |
│ │ │ │ -#define | DBSETLNATLANG(x, y) dbsetlname((x), (y), DBSETNATLANG) |
│ │ │ │ -#define | dbsetlnatlang(x, y) dbsetlname((x), (y), DBSETNATLANG) |
│ │ │ │ -#define | DBSETLNETWORKAUTH(x, y) dbsetlbool((x), (y), DBSETNETWORKAUTH) |
│ │ │ │ -#define | DBSETLNTLMV2(x, y) dbsetlbool((x), (y), DBSETNTLMV2) |
│ │ │ │ -#define | DBSETLPACKET(x, y) dbsetllong((x), (y), DBSETPACKET) |
│ │ │ │ -#define | dbsetlpacket(x, y) dbsetllong((x), (y), DBSETPACKET) |
│ │ │ │ -#define | DBSETLPWD(x, y) dbsetlname((x), (y), DBSETPWD) |
│ │ │ │ -#define | dbsetlpwd(x, y) dbsetlname((x), (y), DBSETPWD) |
│ │ │ │ -#define | DBSETLREADONLY(x, y) dbsetlbool((x), (y), DBSETREADONLY) |
│ │ │ │ -#define | DBSETLSECURE(x) dbsetlbool((x), (1), DBSETBCP) |
│ │ │ │ -#define | DBSETLSERVERPRINCIPAL(x, y) dbsetlname((x), (y), DBSETSERVERPRINCIPAL) |
│ │ │ │ -#define | DBSETLUSER(x, y) dbsetlname((x), (y), DBSETUSER) |
│ │ │ │ -#define | dbsetluser(x, y) dbsetlname((x), (y), DBSETUSER) |
│ │ │ │ -#define | DBSETLUTF16(x, y) dbsetlbool((x), (y), DBSETUTF16) |
│ │ │ │ -#define | DBSETLVERSION(login, version) dbsetlversion((login), (version)) |
│ │ │ │ -#define | DBSETMUTUALAUTH 102 |
│ │ │ │ -#define | DBSETNATLANG 7 |
│ │ │ │ -#define | DBSETNETWORKAUTH 101 |
│ │ │ │ -#define | DBSETNTLMV2 1002 |
│ │ │ │ -#define | DBSETPACKET 11 |
│ │ │ │ -#define | DBSETPWD 3 |
│ │ │ │ -#define | DBSETREADONLY 1003 |
│ │ │ │ -#define | DBSETSERVERPRINCIPAL 103 |
│ │ │ │ -#define | DBSETTIME 34 |
│ │ │ │ -#define | DBSETUSER 2 |
│ │ │ │ -#define | DBSETUTF16 1001 |
│ │ │ │ -#define | DBSHOWPLAN 2 |
│ │ │ │ -#define | DBSINGLE 0 |
│ │ │ │ -#define | DBSTAT 10 |
│ │ │ │ -#define | DBSTORPROCID 13 |
│ │ │ │ -#define | DBTDS(a) dbtds(a) |
│ │ │ │ -#define | DBTDS_2_0 1 /* pre 4.0 SQL Server */ |
│ │ │ │ -#define | DBTDS_3_4 2 /* Microsoft SQL Server (3.0) */ |
│ │ │ │ -#define | DBTDS_4_0 3 /* 4.0 SQL Server */ |
│ │ │ │ -#define | DBTDS_4_2 4 /* 4.2 SQL Server */ |
│ │ │ │ -#define | DBTDS_4_6 5 /* 2.0 OpenServer and 4.6 SQL Server. */ |
│ │ │ │ -#define | DBTDS_4_9_5 6 /* 4.9.5 (NCR) SQL Server */ |
│ │ │ │ -#define | DBTDS_5_0 7 /* 5.0 SQL Server */ |
│ │ │ │ -#define | DBTDS_7_0 8 /* Microsoft SQL Server 7.0 */ |
│ │ │ │ -#define | DBTDS_7_1 9 /* Microsoft SQL Server 2000 */ |
│ │ │ │ -#define | DBTDS_7_2 10 /* Microsoft SQL Server 2005 */ |
│ │ │ │ -#define | DBTDS_7_3 11 /* Microsoft SQL Server 2008 */ |
│ │ │ │ -#define | DBTDS_7_4 12 /* Microsoft SQL Server 2012/2014 */ |
│ │ │ │ -#define | DBTDS_8_0 9 /* Microsoft SQL Server 2000 */ |
│ │ │ │ -#define | DBTDS_9_0 10 /* Microsoft SQL Server 2005 */ |
#define | DBTDS_UNKNOWN 0 |
DBTDS_xxx are returned by DBTDS() The integer values of the constants are poorly chosen. More... | |
│ │ │ │ -#define | DBTEXTLIMIT 7 |
│ │ │ │ -#define | DBTEXTSIZE 17 |
│ │ │ │ -#define | DBTIMEOUT 3 |
│ │ │ │ -#define | DBTXPLEN 16 |
│ │ │ │ -#define | DBTXTSLEN 8 |
│ │ │ │ -#define | DBVER42 DBVERSION_42 |
│ │ │ │ -#define | DBVER60 DBVERSION_70 /* our best approximation */ |
│ │ │ │ -#define | DBVERSION_100 2 |
│ │ │ │ -#define | DBVERSION_42 3 |
│ │ │ │ -#define | DBVERSION_46 1 |
│ │ │ │ -#define | DBVERSION_70 4 |
│ │ │ │ -#define | DBVERSION_71 5 |
│ │ │ │ -#define | DBVERSION_72 6 |
│ │ │ │ -#define | DBVERSION_73 7 |
│ │ │ │ -#define | DBVERSION_74 8 |
│ │ │ │ -#define | DBVERSION_UNKNOWN 0 |
DBVERSION_xxx are used with dbsetversion() | |
│ │ │ │ -#define | DECIMALBIND 18 |
│ │ │ │ -#define | FAIL 0 |
│ │ │ │ -#define | FALSE 0 |
│ │ │ │ -#define | FLT8BIND 9 |
│ │ │ │ -#define | INT_CANCEL 2 |
│ │ │ │ -#define | INT_CONTINUE 1 |
│ │ │ │ -#define | INT_EXIT 0 |
│ │ │ │ -#define | INT_TIMEOUT 3 |
│ │ │ │ -#define | INTBIND 8 |
│ │ │ │ -#define | MAXBINDTYPES 32 /* keep last */ |
│ │ │ │ -#define | MAXOPTTEXT 32 |
│ │ │ │ -#define | MONEYBIND 13 |
│ │ │ │ -#define | MORE_ROWS -1 |
│ │ │ │ -#define | NO_MORE_RESULTS 2 |
│ │ │ │ -#define | NO_MORE_ROWS -2 |
│ │ │ │ -#define | NOSUCHOPTION 2 |
│ │ │ │ -#define | NTBSTRINGBIND 2 |
│ │ │ │ -#define | NUMERICBIND 17 |
│ │ │ │ -#define | OFF 0 |
│ │ │ │ -#define | ON 1 |
│ │ │ │ -#define | REALBIND 10 |
│ │ │ │ -#define | REG_ROW -1 |
│ │ │ │ -#define | SMALLBIND 7 |
│ │ │ │ -#define | SMALLDATETIMEBIND 12 |
│ │ │ │ -#define | SMALLMONEYBIND 14 |
│ │ │ │ -#define | SRCDECIMALBIND 20 |
│ │ │ │ -#define | SRCNUMERICBIND 19 |
│ │ │ │ -#define | STRINGBIND 1 |
│ │ │ │ -#define | SUCCEED 1 |
│ │ │ │ -#define | SYBAOPAVG 0x4f |
│ │ │ │ -#define | SYBAOPAVGU 0x50 |
│ │ │ │ -#define | SYBAOPCHECKSUM_AGG 0x72 |
│ │ │ │ -#define | SYBAOPCNT 0x4b |
│ │ │ │ -#define | SYBAOPCNT_BIG 0x09 |
│ │ │ │ -#define | SYBAOPCNTU 0x4c |
│ │ │ │ -#define | SYBAOPMAX 0x52 |
│ │ │ │ -#define | SYBAOPMIN 0x51 |
│ │ │ │ -#define | SYBAOPSTDEV 0x30 |
│ │ │ │ -#define | SYBAOPSTDEVP 0x31 |
│ │ │ │ -#define | SYBAOPSUM 0x4d |
│ │ │ │ -#define | SYBAOPSUMU 0x4e |
│ │ │ │ -#define | SYBAOPVAR 0x32 |
│ │ │ │ -#define | SYBAOPVARP 0x33 |
│ │ │ │ -#define | SYBBIGDATETIME SYBBIGDATETIME |
│ │ │ │ -#define | SYBBIGTIME SYBBIGTIME |
│ │ │ │ -#define | SYBBINARY SYBBINARY |
│ │ │ │ -#define | SYBBIT SYBBIT |
│ │ │ │ -#define | SYBBITN SYBBITN |
│ │ │ │ -#define | SYBCHAR SYBCHAR |
│ │ │ │ -#define | SYBDATE SYBDATE |
│ │ │ │ -#define | SYBDATETIME SYBDATETIME |
│ │ │ │ -#define | SYBDATETIME4 SYBDATETIME4 |
│ │ │ │ -#define | SYBDATETIMN SYBDATETIMN |
│ │ │ │ -#define | SYBDECIMAL SYBDECIMAL |
│ │ │ │ -#define | SYBEAAMT 20035 /* User attempted a dbaltbind() with mismatched column and variable types. */ |
│ │ │ │ -#define | SYBEABMT 20033 /* User attempted a dbbind() with mismatched column and variable types. */ |
│ │ │ │ -#define | SYBEABNC 20032 /* Attempt to bind to a non-existent column. */ |
│ │ │ │ -#define | SYBEABNP 20034 /* Attempt to bind using NULL pointers. */ |
│ │ │ │ -#define | SYBEABNV 20046 /* Attempt to bind to a NULL program variable. */ |
│ │ │ │ -#define | SYBEACNV 20148 /* Attemp to do conversion with NULL destination variable. */ |
│ │ │ │ -#define | SYBEADST 20128 /* Error in attempting to determine the size of a pair of translation tables. */ |
│ │ │ │ -#define | SYBEAICF 20127 /* Error in attempting to install custom format. */ |
│ │ │ │ -#define | SYBEALTT 20129 /* Error in attempting to load a pair of translation tables. */ |
│ │ │ │ -#define | SYBEAOLF 20133 /* Error in attempting to open a localization file. */ |
│ │ │ │ -#define | SYBEAPCT 20130 /* Error in attempting to perform a character-set translation. */ |
│ │ │ │ -#define | SYBEAPUT 20040 /* Attempt to print unknown token. */ |
│ │ │ │ -#define | SYBEARDI 20134 /* Error in attempting to read datetime information from a localization file. */ |
│ │ │ │ -#define | SYBEARDL 20136 /* Error in attempting to read the dblib.loc localization file. */ |
│ │ │ │ -#define | SYBEASEC 20091 /* Attempt to send an empty command buffer to the SQL Server. */ |
│ │ │ │ -#define | SYBEASNL 20041 /* Attempt to set fields in a null loginrec. */ |
│ │ │ │ -#define | SYBEASTF 20089 /* VMS: Unable to setmode for control_c ast. */ |
│ │ │ │ -#define | SYBEASTL 20197 /* Synchronous I/O attempted at AST level. */ |
│ │ │ │ -#define | SYBEASUL 20043 /* Attempt to set unknown loginrec field. */ |
│ │ │ │ -#define | SYBEATTNACK 20296 /* Timed out waiting for server to acknowledge attention." */ |
│ │ │ │ -#define | SYBEAUTN 20062 /* Attempt to update the timestamp of a table which has no timestamp column. */ |
│ │ │ │ -#define | SYBEBADPK 20201 /* Packet size of %1! not supported. -- size of %2! used instead. */ |
│ │ │ │ -#define | SYBEBADTYPE 20254 /* Illegal value for type parameter given to %1!. */ |
│ │ │ │ -#define | SYBEBBCI 20068 /* Batch successfully bulk-copied to SQL Server. */ |
│ │ │ │ -#define | SYBEBBFL 20297 /* -001- Batch failed in bulk-copy to SQL Server */ |
│ │ │ │ -#define | SYBEBBL 20215 /* Bad bindlen parameter passed to dbsetnull() */ |
│ │ │ │ -#define | SYBEBCBC 20081 /* bcp_columns() must be called before bcp_colfmt() and bcp_colfmt_ps(). */ |
│ │ │ │ -#define | SYBEBCBNPR 20230 /* bcp_bind(): if varaddr is NULL, prefixlen must be 0 and no terminator should be specified. */ |
│ │ │ │ -#define | SYBEBCBNTYP 20231 /* bcp_bind(): if varaddr is NULL and varlen greater than 0, the table column type must be SYBTEXT or SYBIMAGE and the program variable type must be SYBTEXT, SYBCHAR, SYBIMAGE or SYBBINARY. */ |
│ │ │ │ -#define | SYBEBCBPREF 20236 /* Illegal prefix length. Legal values are 0, 1, 2 or 4. */ |
│ │ │ │ -#define | SYBEBCFO 20082 /* Bcp host-files must contain at least one column. */ |
│ │ │ │ -#define | SYBEBCHLEN 20235 /* host_collen should be greater than or equal to -1. */ |
│ │ │ │ -#define | SYBEBCIS 20075 /* Attempt to bulk-copy an illegally-sized column value to the SQL Server. */ |
│ │ │ │ -#define | SYBEBCIT 20107 /* It's illegal to use BCP terminators with program variables other than SYBCHAR, SYBBINARY, SYBTEXT, or SYBIMAGE. */ |
│ │ │ │ -#define | SYBEBCITBLEN 20239 /* bcp_init(): tblname parameter is too long. */ |
│ │ │ │ -#define | SYBEBCITBNM 20238 /* bcp_init(): tblname parameter cannot be NULL. */ |
│ │ │ │ -#define | SYBEBCMTXT 20228 /* bcp_moretext() may be used only when there is at least one text or image column in the server table. */ |
│ │ │ │ -#define | SYBEBCNL 20105 /* Negative length-prefix found in BCP data-file. */ |
│ │ │ │ -#define | SYBEBCNN 20073 /* Attempt to bulk-copy a NULL value into Server column %d, which does not accept NULL values. */ |
│ │ │ │ -#define | SYBEBCNT 20064 /* Attempt to use Bulk Copy with a non-existent Server table. */ |
│ │ │ │ -#define | SYBEBCOR 20074 /* Attempt to bulk-copy an oversized row to the SQL Server. */ |
│ │ │ │ -#define | SYBEBCPB 20078 /* bcp_bind(), bcp_moretext() and bcp_sendrow() may NOT be used after bcp_init() has been passed a non-NULL input file name. */ |
│ │ │ │ -#define | SYBEBCPCTYP 20233 /* bcp_colfmt(): If table_colnum is 0, host_type cannot be 0. */ |
│ │ │ │ -#define | SYBEBCPI 20076 /* bcp_init() must be called before any other bcp routines. */ |
│ │ │ │ -#define | SYBEBCPN 20077 /* bcp_bind(), bcp_collen(), bcp_colptr(), bcp_moretext() and bcp_sendrow() may be used only after bcp_init() has been called with the copy direction set to DB_IN. */ |
│ │ │ │ -#define | SYBEBCPOPT 20294 /* The option cannot be called while a bulk copy operation is progress. */ |
│ │ │ │ -#define | SYBEBCPREC 20229 /* Column %1!: Illegal precision value encountered. */ |
│ │ │ │ -#define | SYBEBCPREF 20237 /* Illegal prefix length. Legal values are -1, 0, 1, 2 or 4. */ |
│ │ │ │ -#define | SYBEBCRE 20070 /* I/O error while reading bcp data-file. */ |
│ │ │ │ -#define | SYBEBCRO 20111 /* The BCP hostfile '%s' contains only %ld rows. It was impossible to read the requested %ld rows. */ |
│ │ │ │ -#define | SYBEBCSA 20108 /* The BCP hostfile '%s' contains only %ld rows. Skipping all of these rows is not allowed. */ |
│ │ │ │ -#define | SYBEBCSET 20221 /* Unknown character-set encountered." */ |
│ │ │ │ -#define | SYBEBCSI 20106 /* Host-file columns may be skipped only when copying INto the Server. */ |
│ │ │ │ -#define | SYBEBCSNDROW 20240 /* bcp_sendrow() may NOT be called unless all text data for the previous row has been sent using bcp_moretext(). */ |
│ │ │ │ -#define | SYBEBCSNTYP 20232 /* column number %1!: if varaddr is NULL and varlen greater than 0, the table column type must be SYBTEXT or SYBIMAGE and the program variable type must be SYBTEXT, SYBCHAR, SYBIMAGE or SYBBINARY. */ |
│ │ │ │ -#define | SYBEBCUC 20085 /* Bcp: Unable to close host data-file. */ |
│ │ │ │ -#define | SYBEBCUO 20084 /* Bcp: Unable to open host data-file. */ |
│ │ │ │ -#define | SYBEBCVH 20083 /* bcp_exec() may be called only after bcp_init() has been passed a valid host file. */ |
│ │ │ │ -#define | SYBEBCVLEN 20234 /* varlen should be greater than or equal to -1. */ |
│ │ │ │ -#define | SYBEBCWE 20072 /* I/O error while writing bcp data-file. */ |
│ │ │ │ -#define | SYBEBDIO 20063 /* Bad bulk-copy direction. Must be either IN or OUT. */ |
│ │ │ │ -#define | SYBEBEOF 20104 /* Unexpected EOF encountered in BCP data-file. */ |
│ │ │ │ -#define | SYBEBIHC 20103 /* Incorrect host-column number found in bcp format-file. */ |
│ │ │ │ -#define | SYBEBIVI 20080 /* bcp_columns(), bcp_colfmt() and bcp_colfmt_ps() may be used only after bcp_init() has been passed a valid input file. */ |
│ │ │ │ -#define | SYBEBNCR 20024 /* Attempt to bind user variable to a non-existent compute row. */ |
│ │ │ │ -#define | SYBEBNUM 20214 /* Bad numbytes parameter passed to dbstrcpy() */ |
│ │ │ │ -#define | SYBEBOOL 20293 /* Boolean parameters must be TRUE or FALSE. */ |
│ │ │ │ -#define | SYBEBPKS 20193 /* In DBSETLPACKET(), the packet size parameter must be between 0 and 999999. */ |
│ │ │ │ -#define | SYBEBPREC 20216 /* Illegal precision specified */ |
│ │ │ │ -#define | SYBEBPROBADDEF 20249 /* bcp protocol error: illegal default column id received. */ |
│ │ │ │ -#define | SYBEBPROBADLEN 20251 /* bcp protocol error: illegal datatype length received. */ |
│ │ │ │ -#define | SYBEBPROBADPREC 20252 /* bcp protocol error: illegal precision value received. */ |
│ │ │ │ -#define | SYBEBPROBADSCL 20253 /* bcp protocol error: illegal scale value received. */ |
│ │ │ │ -#define | SYBEBPROBADTYP 20250 /* bcp protocol error: unknown column datatype. */ |
│ │ │ │ -#define | SYBEBPROCOL 20241 /* bcp protocol error: returned column count differs from the actual number of columns received. */ |
│ │ │ │ -#define | SYBEBPRODEF 20242 /* bcp protocol error: expected default information and got none. */ |
│ │ │ │ -#define | SYBEBPRODEFID 20244 /* bcp protocol error: default column id and actual column id are not same */ |
│ │ │ │ -#define | SYBEBPRODEFTYP 20246 /* bcp protocol error: default value datatype differs from column datatype. */ |
│ │ │ │ -#define | SYBEBPROEXTDEF 20247 /* bcp protocol error: more than one row of default information received. */ |
│ │ │ │ -#define | SYBEBPROEXTRES 20248 /* bcp protocol error: unexpected set of results received. */ |
│ │ │ │ -#define | SYBEBPRONODEF 20245 /* bcp protocol error: default value received for column that does not have default. */ |
│ │ │ │ -#define | SYBEBPRONUMDEF 20243 /* bcp protocol error: expected number of defaults differs from the actual number of defaults received. */ |
│ │ │ │ -#define | SYBEBRFF 20100 /* I/O error while reading bcp format-file. */ |
│ │ │ │ -#define | SYBEBSCALE 20217 /* Illegal scale specified */ |
│ │ │ │ -#define | SYBEBTMT 20095 /* Attempt to send too much TEXT data via the bcp_moretext() call. */ |
│ │ │ │ -#define | SYBEBTOK 20020 /* Bad token from SQL Server: Data-stream processing out of sync. */ |
│ │ │ │ -#define | SYBEBTYP 20023 /* Unknown bind type passed to DB-LIBRARY function. */ |
│ │ │ │ -#define | SYBEBTYPSRV 20220 /* Datatype is not supported by the server. */ |
│ │ │ │ -#define | SYBEBUCE 20087 /* Bcp: Unable to close error-file. */ |
│ │ │ │ -#define | SYBEBUCF 20099 /* Bcp: Unable to close format-file. */ |
│ │ │ │ -#define | SYBEBUDF 20102 /* Bcp: Unrecognized datatype found in format-file. */ |
│ │ │ │ -#define | SYBEBUFF 20147 /* Bcp: Unable to create format-file. */ |
│ │ │ │ -#define | SYBEBUFL 20005 /* DB-LIBRARY internal error - send buffer length corrupted. */ |
│ │ │ │ -#define | SYBEBULKINSERT 20599 /* cannot build bulk insert statement */ |
│ │ │ │ -#define | SYBEBUOE 20086 /* Bcp: Unable to open error-file. */ |
│ │ │ │ -#define | SYBEBUOF 20098 /* Bcp: Unable to open format-file. */ |
│ │ │ │ -#define | SYBEBWEF 20088 /* I/O error while writing bcp error-file. */ |
│ │ │ │ -#define | SYBEBWFF 20101 /* I/O error while writing bcp format-file. */ |
│ │ │ │ -#define | SYBECAP 20203 /* DB-Library capabilities not accepted by the Server. */ |
│ │ │ │ -#define | SYBECAPTYP 20213 /* Unexpected capability type in CAPABILITY datastream. */ |
│ │ │ │ -#define | SYBECDNS 20031 /* Datastream indicates that a compute column is derived from a non-existent select-list member. */ |
│ │ │ │ -#define | SYBECDOMAIN 20218 /* Source field value is not within the domain of legal values. */ |
│ │ │ │ -#define | SYBECINTERNAL 20219 /* Internal Conversion error. */ |
│ │ │ │ -#define | SYBECLOS 20056 /* Error in closing network connection. */ |
│ │ │ │ -#define | SYBECLOSEIN 20292 /* Unable to close interface file. */ |
│ │ │ │ -#define | SYBECLPR 20051 /* Data-conversion resulted in loss of precision. */ |
│ │ │ │ -#define | SYBECNOR 20026 /* Column number out of range. */ |
│ │ │ │ -#define | SYBECNOV 20052 /* Attempt to set variable to NULL resulted in overflow. */ |
│ │ │ │ -#define | SYBECOFL 20049 /* Data-conversion resulted in overflow. */ |
│ │ │ │ -#define | SYBECOLSIZE 22000 /* Invalid column information structure size */ |
│ │ │ │ -#define | SYBECONN 20009 /* Unable to connect socket -- SQL Server is unavailable or does not exist. */ |
│ │ │ │ -#define | SYBECRNC 20116 /* The current row is not a result of compute clause %d, so it is illegal to attempt to extract that data from this row. */ |
│ │ │ │ -#define | SYBECRSAGR 20263 /* Aggregate functions are not allowed in a cursor statement. */ |
│ │ │ │ -#define | SYBECRSBROL 20266 /* Backward scrolling cannot be used in a forward scrolling cursor. */ |
│ │ │ │ -#define | SYBECRSBSKEY 20268 /* Keyset cannot be scrolled backward in mixed cursors with a previous fetch type. */ |
│ │ │ │ -#define | SYBECRSBUFR 20260 /* Row buffering should not be turned on when using cursor APIs. */ |
│ │ │ │ -#define | SYBECRSDIS 20262 /* Cursor statement contains one of the disallowed phrases 'compute', 'union', 'for browse', or 'select into'. */ |
│ │ │ │ -#define | SYBECRSFLAST 20265 /* Fetch type LAST requires fully keyset driven cursors. */ |
│ │ │ │ -#define | SYBECRSFRAND 20264 /* Fetch types RANDOM and RELATIVE can only be used within the keyset of keyset driven cursors. */ |
│ │ │ │ -#define | SYBECRSFROWN 20267 /* Row number to be fetched is outside valid range. */ |
│ │ │ │ -#define | SYBECRSFTYPE 20280 /* Unknown fetch type. */ |
│ │ │ │ -#define | SYBECRSINV 20277 /* Invalid cursor statement. */ |
│ │ │ │ -#define | SYBECRSINVALID 20281 /* The cursor handle is invalid. */ |
│ │ │ │ -#define | SYBECRSMROWS 20282 /* Multiple rows are returned, only one is expected. */ |
│ │ │ │ -#define | SYBECRSNOBIND 20279 /* Cursor bind must be called prior to updating cursor */ |
│ │ │ │ -#define | SYBECRSNOCOUNT 20270 /* The DBNOCOUNT option should not be turned on when doing updates or deletes with dbcursor(). */ |
│ │ │ │ -#define | SYBECRSNOFREE 20261 /* The DBNOAUTOFREE option should not be turned on when using cursor APIs. */ |
│ │ │ │ -#define | SYBECRSNOIND 20256 /* One of the tables involved in the cursor statement does not have a unique index. */ |
│ │ │ │ -#define | SYBECRSNOKEYS 20278 /* The entire keyset must be defined for KEYSET cursors. */ |
│ │ │ │ -#define | SYBECRSNOLEN 20284 /* No unique index found. */ |
│ │ │ │ -#define | SYBECRSNOPTCC 20285 /* No OPTCC was found. */ |
│ │ │ │ -#define | SYBECRSNORDER 20286 /* The order of clauses must be from, where, and order by. */ |
│ │ │ │ -#define | SYBECRSNORES 20255 /* Cursor statement generated no results. */ |
│ │ │ │ -#define | SYBECRSNOTABLE 20287 /* Table name is NULL. */ |
│ │ │ │ -#define | SYBECRSNOUPD 20276 /* Update or delete operation did not affect any rows. */ |
│ │ │ │ -#define | SYBECRSNOWHERE 20273 /* A WHERE clause is not allowed in a cursor update or insert. */ |
│ │ │ │ -#define | SYBECRSNROWS 20283 /* No rows returned, at least one is expected. */ |
│ │ │ │ -#define | SYBECRSNUNIQUE 20288 /* No unique keys associated with this view. */ |
│ │ │ │ -#define | SYBECRSORD 20259 /* Only fully keyset driven cursors can have 'order by', ' group by', or 'having' phrases. */ |
│ │ │ │ -#define | SYBECRSRO 20269 /* Data locking or modifications cannot be made in a READONLY cursor. */ |
│ │ │ │ -#define | SYBECRSSET 20274 /* A SET clause is required for a cursor update or insert. */ |
│ │ │ │ -#define | SYBECRSTAB 20271 /* Table name must be determined in operations involving data locking or modifications. */ |
│ │ │ │ -#define | SYBECRSUPDNB 20272 /* Update or insert operations cannot use bind variables when binding type is NOBIND. */ |
│ │ │ │ -#define | SYBECRSUPDTAB 20275 /* Update or insert operations using bind variables require single table cursors. */ |
│ │ │ │ -#define | SYBECRSVAR 20289 /* There is no valid address associated with this bind. */ |
│ │ │ │ -#define | SYBECRSVIEW 20257 /* A view cannot be joined with another table or a view in a cursor statement. */ |
│ │ │ │ -#define | SYBECRSVIIND 20258 /* The view used in the cursor statement does not include all the unique index columns of the underlying tables. */ |
│ │ │ │ -#define | SYBECS 20299 /* -004- cs context Error */ |
│ │ │ │ -#define | SYBECSYN 20050 /* Attempt to convert data stopped by syntax error in source field. */ |
│ │ │ │ -#define | SYBECUFL 20048 /* Data-conversion resulted in underflow. */ |
│ │ │ │ -#define | SYBECWLL 20123 /* Attempt to set column width less than 1. */ |
│ │ │ │ -#define | SYBEDBPS 20011 /* Maximum number of DBPROCESSes already allocated. */ |
│ │ │ │ -#define | SYBEDCL 20298 /* -004- DCL Error */ |
│ │ │ │ -#define | SYBEDDNE 20047 /* DBPROCESS is dead or not enabled. */ |
│ │ │ │ -#define | SYBEDIVZ 20196 /* Attempt to divide by $0.00 in function %1!. */ |
│ │ │ │ -#define | SYBEDNTI 20094 /* Attempt to use dbtxtsput() to put a new text-timestamp into a column whose datatype is neither SYBTEXT nor SYBIMAGE. */ |
│ │ │ │ -#define | SYBEDPOR 20149 /* Out-of-range datepart constant. */ |
│ │ │ │ -#define | SYBEDVOR 20152 /* Day values must be between 1 and 7. */ |
│ │ │ │ -#define | SYBEECAN 20184 /* Attempted to cancel unrequested event notification. */ |
│ │ │ │ -#define | SYBEECRT 20183 /* Must call dbregdefine() before dbregcreate(). */ |
│ │ │ │ -#define | SYBEEINI 20182 /* Must call dbreginit() before dbregraise(). */ |
│ │ │ │ -#define | SYBEEQVA 20059 /* Error in queueing VMS AST routine. */ |
│ │ │ │ -#define | SYBEERRLABEL 20295 /* An illegal value was returned from the security label handler. */ |
│ │ │ │ -#define | SYBEESSL 20172 /* Login security level entered does not agree with operating system level */ |
│ │ │ │ -#define | SYBEETD 20164 /* Failure to send the expected amount of TEXT or IMAGE data via dbmoretext(). */ |
│ │ │ │ -#define | SYBEEUNR 20185 /* Unsolicited event notification received. */ |
│ │ │ │ -#define | SYBEEVOP 20178 /* Called dbregwatch() with a bad options parameter. */ |
│ │ │ │ -#define | SYBEEVST 20181 /* Must initiate a transaction before calling dbregparam(). */ |
│ │ │ │ -#define | SYBEFCON 20002 /* SQL Server connection failed. */ |
│ │ │ │ -#define | SYBEFENC 20222 /* Password Encryption failed." */ |
│ │ │ │ -#define | SYBEFGTL 20122 /* Bcp: Row number of the first row to be copied cannot be greater than the row number for the last row to be copied. */ |
│ │ │ │ -#define | SYBEFMODE 20167 /* Read/Write/Append mode denied on file. */ |
│ │ │ │ -#define | SYBEFRES 20223 /* Challenge-Response function failed.", */ |
│ │ │ │ -#define | SYBEFSHD 20132 /* Error in attempting to find the Sybase home directory. */ |
│ │ │ │ -#define | SYBEFUNC 20204 /* Functionality not supported at the specified version level. */ |
│ │ │ │ -#define | SYBEGENOS 20161 /* General Operating System Error. */ |
│ │ │ │ -#define | SYBEICN 20038 /* Invalid computeid or compute column number. */ |
│ │ │ │ -#define | SYBEICONV2BIG 2404 /* Buffer overflow converting characters from client into server's character set.*/ |
│ │ │ │ -#define | SYBEICONVAVAIL 2401 /* Character set conversion is not available between client character set '%.*s' and server character set '%.*s'.*/ |
│ │ │ │ -#define | SYBEICONVI 2403 /* Some character(s) could not be converted into client's character set. Unconverted bytes were changed to question marks ('?').*/ |
│ │ │ │ -#define | SYBEICONVIU 2400 /* Some character(s) could not be converted into client's character set. */ |
│ │ │ │ -#define | SYBEICONVO 2402 /* Error converting characters into server's character set. Some character(s) could not be converted.*/ |
│ │ │ │ -#define | SYBEIDCL 20143 /* Illegal datetime column length returned by DataServer. Legal datetime lengths are 4 and 8 bytes. */ |
│ │ │ │ -#define | SYBEIDECCL 20227 /* Invalid decimal column length returned by the server. */ |
│ │ │ │ -#define | SYBEIFCL 20145 /* Illegal floating-point column length returned by DataServer. Legal floating-point lengths are 4 and 8 bytes. */ |
│ │ │ │ -#define | SYBEIFNB 20065 /* Illegal field number passed to bcp_control(). */ |
│ │ │ │ -#define | SYBEIICL 20025 /* Illegal integer column length returned by SQL Server. Legal integer lengths are 1, 2, and 4 bytes. */ |
│ │ │ │ -#define | SYBEIMCL 20144 /* Illegal money column length returned by DataServer. Legal money lengths are 4 and 8 bytes. */ |
│ │ │ │ -#define | SYBEINLN 20016 /* Interface file: unexpected end-of-line. */ |
│ │ │ │ -#define | SYBEINTF 20012 /* Server name not found in interface file */ |
│ │ │ │ -#define | SYBEINUMCL 20226 /* Invalid numeric column length returned by the server. */ |
│ │ │ │ -#define | SYBEIPV 20194 /* %1! is an illegal value for the %2! parameter of %3!. */ |
│ │ │ │ -#define | SYBEISOI 20142 /* Invalid sort-order information found. */ |
│ │ │ │ -#define | SYBEISRVPREC 20224 /* Illegal precision value returned by the server. */ |
│ │ │ │ -#define | SYBEISRVSCL 20225 /* Illegal scale value returned by the server. */ |
│ │ │ │ -#define | SYBEITIM 20021 /* Illegal timeout value specified. */ |
│ │ │ │ -#define | SYBEIVERS 20206 /* Illegal version level specified. */ |
│ │ │ │ -#define | SYBEKBCI 20069 /* Bcp: 1000 rows sent to SQL Server. */ |
│ │ │ │ -#define | SYBEKBCO 20067 /* 1000 rows successfully bulk-copied to host-file. */ |
│ │ │ │ -#define | SYBELBLEN 20211 /* Security labels should be less than 256 characters long. */ |
│ │ │ │ -#define | SYBEMEM 20010 /* Unable to allocate sufficient memory */ |
│ │ │ │ -#define | SYBEMOV 20195 /* Money arithmetic resulted in overflow in function %1!. */ |
│ │ │ │ -#define | SYBEMPLL 20112 /* Attempt to set maximum number of DBPROCESSes lower than 1. */ |
│ │ │ │ -#define | SYBEMVOR 20151 /* Month values must be between 1 and 12. */ |
│ │ │ │ -#define | SYBENBUF 20175 /* called dbsendpassthru() with a NULL buf pointer. */ |
│ │ │ │ -#define | SYBENBVP 20153 /* Cannot pass dbsetnull() a NULL bindval pointer. */ |
│ │ │ │ -#define | SYBENDC 20150 /* Cannot have negative component in date in numeric form. */ |
│ │ │ │ -#define | SYBENDTP 20155 /* Called dbdatecrack() with a NULL datetime parameter. */ |
│ │ │ │ -#define | SYBENEG 20210 /* Negotiated login attempt failed. */ |
│ │ │ │ -#define | SYBENEHA 20179 /* Called dbreghandle() with a NULL handler parameter. */ |
│ │ │ │ -#define | SYBENHAN 20174 /* called dbrecvpassthru() with a NULL handler parameter. */ |
│ │ │ │ -#define | SYBENLNL 20173 /* Program not linked with specified network library. */ |
│ │ │ │ -#define | SYBENMOB 20039 /* No such member of 'order by' clause. */ |
│ │ │ │ -#define | SYBENOEV 20200 /* dbpoll() cannot be called if registered procedure notifications have been disabled. */ |
│ │ │ │ -#define | SYBENOTI 20177 /* No event handler installed. */ |
│ │ │ │ -#define | SYBENOVALUE 20290 /* Security labels require both a name and a value */ |
│ │ │ │ -#define | SYBENPRM 20027 /* NULL parameter not allowed for this dboption. */ |
│ │ │ │ -#define | SYBENSIP 20045 /* Negative starting index passed to dbstrcpy(). */ |
│ │ │ │ -#define | SYBENTLL 20042 /* Name too long for loginrec field. */ |
│ │ │ │ -#define | SYBENTST 20170 /* The file being opened must be a stream_lf. */ |
│ │ │ │ -#define | SYBENTTN 20093 /* Attempt to use dbtxtsput() to put a new text-timestamp into a non-existent data row. */ |
│ │ │ │ -#define | SYBENULL 20109 /* NULL DBPROCESS pointer passed to DB-Library. */ |
│ │ │ │ -#define | SYBENULP 20176 /* Called %s with a NULL %s parameter. */ |
│ │ │ │ -#define | SYBENUM 20159 /* Incorrect number of arguments given to DB-Library. */ |
│ │ │ │ -#define | SYBENXID 20036 /* The Server did not grant us a distributed-transaction ID. */ |
│ │ │ │ -#define | SYBEONCE 20207 /* Function can be called only once. */ |
│ │ │ │ -#define | SYBEOOB 20022 /* Error in sending out-of-band data to SQL Server. */ |
│ │ │ │ -#define | SYBEOPIN 20015 /* Could not open interface file. */ |
│ │ │ │ -#define | SYBEOPNA 20121 /* The text/image facility is available only when using a SQL Server whose version number is 4.0 or greater. */ |
│ │ │ │ -#define | SYBEOPTNO 20163 /* Option is not allowed or is unreconized */ |
│ │ │ │ -#define | SYBEOREN 20141 /* Warning: an out-of-range error-number was encountered in dblib.loc. The maximum permissible error-number is defined as DBERRCOUNT in sybdb.h. */ |
│ │ │ │ -#define | SYBEORPF 20096 /* Attempt to set remote password would overflow the login-record's remote-password field. */ |
│ │ │ │ -#define | SYBEOSSL 20171 /* Operating system login level not in range of Secure SQL Server */ |
│ │ │ │ -#define | SYBEPAGE 20162 /* wrong resource type or length given for dbpage() operation. */ |
│ │ │ │ -#define | SYBEPOLL 20199 /* Only one dbpoll() can be active at a time. */ |
│ │ │ │ -#define | SYBEPORT 2500 /* Both port and instance specified */ |
│ │ │ │ -#define | SYBEPRTF 20191 /* dbtracestring() may only be called from a printfunc(). */ |
│ │ │ │ -#define | SYBEPWD 20014 /* Incorrect password. */ |
│ │ │ │ -#define | SYBERDCN 20053 /* Requested data-conversion does not exist. */ |
│ │ │ │ -#define | SYBERDNR 20044 /* Attempt to retrieve data from a non-existent row. */ |
│ │ │ │ -#define | SYBEREAD 20004 /* Read from SQL Server failed. */ |
│ │ │ │ -#define | SYBERESP 20205 /* Response function address passed to dbresponse() must be non-NULL. */ |
│ │ │ │ -#define | SYBERFILE 20166 /* "Can not open resource file." */ |
│ │ │ │ -#define | SYBERPCS 20186 /* Must call dbrpcinit() before dbrpcparam(). */ |
│ │ │ │ -#define | SYBERPIL 20113 /* It is illegal to pass -1 to dbrpcparam() for the datalen of parameters which are of type SYBCHAR, SYBVARCHAR, SYBBINARY, or SYBVARBINARY. */ |
│ │ │ │ -#define | SYBERPNA 20120 /* The RPC facility is available only when using a SQL Server whose version number is 4.0 or greater. */ |
│ │ │ │ -#define | SYBERPND 20019 /* Attempt to initiate a new SQL Server operation with results pending. */ |
│ │ │ │ -#define | SYBERPNULL 20208 /* value parameter for dbprcparam() can be NULL, only if the datalen parameter is 0 */ |
│ │ │ │ -#define | SYBERPTXTIM 20209 /* RPC parameters cannot be of type Text/Image. */ |
│ │ │ │ -#define | SYBERPUL 20114 /* When passing a SYBINTN, SYBDATETIMN, SYBMONEYN, or SYBFLTN parameter via dbrpcparam(), it's necessary to specify the parameter's maximum or actual length, so that DB-Library can recognize it as a SYBINT1, SYBINT2, SYBINT4, SYBMONEY, or SYBMONEY4, etc. */ |
│ │ │ │ -#define | SYBERTCC 20117 /* dbreadtext() may not be used to receive the results of a query which contains a COMPUTE clause. */ |
│ │ │ │ -#define | SYBERTSC 20118 /* dbreadtext() may only be used to receive the results of a query which contains a single result column. */ |
│ │ │ │ -#define | SYBERTYPE 20165 /* Invalid resource type given to DB-Library. */ |
│ │ │ │ -#define | SYBERXID 20037 /* The Server did not recognize our distributed-transaction ID. */ |
│ │ │ │ -#define | SYBESECURE 20202 /* Secure Server function not supported in this version. */ |
│ │ │ │ -#define | SYBESEFA 20198 /* DBSETNOTIFS cannot be called if connections are present. */ |
│ │ │ │ -#define | SYBESEOF 20017 /* Unexpected EOF from SQL Server. */ |
│ │ │ │ -#define | SYBESFOV 20054 /* dbsafestr() overflowed its destination buffer. */ |
│ │ │ │ -#define | SYBESLCT 20168 /* Could not select or copy field specified */ |
│ │ │ │ -#define | SYBESMSG 20018 /* General SQL Server error: Check messages from the SQL Server. */ |
│ │ │ │ -#define | SYBESOCK 20008 /* Unable to open socket */ |
│ │ │ │ -#define | SYBESPID 20154 /* Called dbspid() with a NULL dbproc. */ |
│ │ │ │ -#define | SYBESYNC 20001 /* Read attempted while out of synchronization with SQL Server. */ |
│ │ │ │ -#define | SYBETDSVER 2410 /* Cannot bcp with TDSVER < 5.0 */ |
│ │ │ │ -#define | SYBETEXS 20188 /* Called dbmoretext() with a bad size parameter. */ |
│ │ │ │ -#define | SYBETIME 20003 /* SQL Server connection timed out. */ |
│ │ │ │ -#define | SYBETMCF 20126 /* Attempt to install too many custom formats via dbfmtinstall(). */ |
│ │ │ │ -#define | SYBETMTD 20092 /* Attempt to send too much TEXT data via the dbmoretext() call. */ |
│ │ │ │ -#define | SYBETPAR 20187 /* No SYBTEXT or SYBIMAGE parameters were defined. */ |
│ │ │ │ -#define | SYBETPTN 20071 /* Syntax error: only two periods are permitted in table names. */ |
│ │ │ │ -#define | SYBETRAC 20189 /* Attempted to turn off a trace flag that was not on. */ |
│ │ │ │ -#define | SYBETRAN 20180 /* DBPROCESS is being used for another transaction. */ |
│ │ │ │ -#define | SYBETRAS 20190 /* DB-Library internal error - trace structure not found. */ |
│ │ │ │ -#define | SYBETRSN 20192 /* Bad numbytes parameter passed to dbtracestring(). */ |
│ │ │ │ -#define | SYBETSIT 20061 /* Attempt to call dbtsput() with an invalid timestamp. */ |
│ │ │ │ -#define | SYBETTS 20066 /* The table which bulk-copy is attempting to copy to a host-file is shorter than the number of rows which bulk-copy was instructed to skip. */ |
│ │ │ │ -#define | SYBETYPE 20160 /* Invalid argument type given to DB-Library. */ |
│ │ │ │ -#define | SYBEUACS 20090 /* VMS: Unable to assign channel to sys$command. */ |
│ │ │ │ -#define | SYBEUAVE 20057 /* Unable to allocate VMS event flag. */ |
│ │ │ │ -#define | SYBEUCPT 20125 /* Unrecognized custom-format parameter-type encountered in dbstrbuild(). */ |
│ │ │ │ -#define | SYBEUCRR 20119 /* Internal software error: Unknown connection result reported by * dbpasswd(). */ |
│ │ │ │ -#define | SYBEUDTY 20060 /* Unknown datatype encountered. */ |
│ │ │ │ -#define | SYBEUFDS 20124 /* Unrecognized format encountered in dbstrbuild(). */ |
│ │ │ │ -#define | SYBEUFDT 20029 /* Unknown fixed-length datatype encountered. */ |
│ │ │ │ -#define | SYBEUHST 20013 /* Unknown host machine name */ |
│ │ │ │ -#define | SYBEUMSG 20212 /* Unknown message-id in MSG datastream. */ |
│ │ │ │ -#define | SYBEUNAM 20110 /* Unable to get current username from operating system. */ |
│ │ │ │ -#define | SYBEUNOP 20115 /* Unknown option passed to dbsetopt(). */ |
│ │ │ │ -#define | SYBEUNT 20055 /* Unknown network type found in interface file. */ |
│ │ │ │ -#define | SYBEURCI 20135 /* Unable to read copyright information from the dblib localization file. */ |
│ │ │ │ -#define | SYBEUREI 20140 /* Unable to read error information from the dblib localization file. */ |
│ │ │ │ -#define | SYBEUREM 20138 /* Unable to read error mnemonic from the dblib localization file. */ |
│ │ │ │ -#define | SYBEURES 20139 /* Unable to read error string from the dblib localization file. */ |
│ │ │ │ -#define | SYBEURMI 20137 /* Unable to read money-format information from the dblib localization file. */ |
│ │ │ │ -#define | SYBEUSCT 20058 /* Unable to set communications timer. */ |
│ │ │ │ -#define | SYBEUTDS 20146 /* Unrecognized TDS version received from SQL Server. */ |
│ │ │ │ -#define | SYBEUVBF 20097 /* Attempt to read an unknown version of BCP format-file. */ |
│ │ │ │ -#define | SYBEUVDT 20028 /* Unknown variable-length datatype encountered. */ |
│ │ │ │ -#define | SYBEVDPT 20079 /* For bulk copy, all variable-length data must have either a length-prefix or a terminator specified. */ |
│ │ │ │ -#define | SYBEVERDOWN 100 /* TDS version downgraded . */ |
│ │ │ │ -#define | SYBEVMS 20007 /* Sendflush: VMS I/O error. */ |
│ │ │ │ -#define | SYBEVOIDRET 20291 /* Parameter of type SYBVOID cannot be a return parameter. */ |
│ │ │ │ -#define | SYBEWAID 20030 /* DB-LIBRARY internal error: ALTFMT following ALTNAME has wrong id. */ |
│ │ │ │ -#define | SYBEWRIT 20006 /* Write to SQL Server failed. */ |
│ │ │ │ -#define | SYBEXOCI 20131 /* A character-set translation overflowed its destination buffer while using bcp to copy data from a host-file to the SQL Server. */ |
│ │ │ │ -#define | SYBEXTDN 20157 /* Warning: the xlt_todisp parameter to dbfree_xlate() was NULL. The space associated with the xlt_tosrv parameter has been freed. */ |
│ │ │ │ -#define | SYBEXTN 20156 /* The xlt_todisp and xlt_tosrv parameters to dbfree_xlate() were NULL. */ |
│ │ │ │ -#define | SYBEXTSN 20158 /* Warning: the xlt_tosrv parameter to dbfree_xlate() was NULL. The space associated with the xlt_todisp parameter has been freed. */ |
│ │ │ │ -#define | SYBEZTXT 20169 /* Attempt to send zero length TEXT or IMAGE to dataserver via dbwritetext(). */ |
│ │ │ │ -#define | SYBFLT8 SYBFLT8 |
│ │ │ │ -#define | SYBFLTN SYBFLTN |
│ │ │ │ -#define | SYBIMAGE SYBIMAGE |
│ │ │ │ -#define | SYBINT1 SYBINT1 |
│ │ │ │ -#define | SYBINT2 SYBINT2 |
│ │ │ │ -#define | SYBINT4 SYBINT4 |
│ │ │ │ -#define | SYBINT8 SYBINT8 |
│ │ │ │ -#define | SYBINTN SYBINTN |
│ │ │ │ -#define | SYBMONEY SYBMONEY |
│ │ │ │ -#define | SYBMONEY4 SYBMONEY4 |
│ │ │ │ -#define | SYBMONEYN SYBMONEYN |
│ │ │ │ -#define | SYBMSDATE SYBMSDATE |
│ │ │ │ -#define | SYBMSDATETIME2 SYBMSDATETIME2 |
│ │ │ │ -#define | SYBMSDATETIMEOFFSET SYBMSDATETIMEOFFSET |
│ │ │ │ -#define | SYBMSTIME SYBMSTIME |
│ │ │ │ -#define | SYBNTEXT SYBNTEXT |
│ │ │ │ -#define | SYBNUMERIC SYBNUMERIC |
│ │ │ │ -#define | SYBNVARCHAR SYBNVARCHAR |
│ │ │ │ -#define | SYBREAL SYBREAL |
│ │ │ │ -#define | SYBTEXT SYBTEXT |
│ │ │ │ -#define | SYBTIME SYBTIME |
│ │ │ │ -#define | SYBVARBINARY SYBVARBINARY |
│ │ │ │ -#define | SYBVARCHAR SYBVARCHAR |
│ │ │ │ -#define | SYBVOID SYBVOID |
│ │ │ │ -#define | TDS_STATIC_CAST(type, a) ((type)(a)) |
│ │ │ │ -#define | TIMEBIND 22 |
│ │ │ │ -#define | TINYBIND 6 |
│ │ │ │ -#define | TRUE 1 |
│ │ │ │ -#define | VARYBINBIND 4 |
│ │ │ │ -#define | VARYCHARBIND 3 |
│ │ │ │ +#define | is_ascii_type(x) ((tds_type_flags_ms[x] & TDS_TYPEFLAG_ASCII) != 0) |
│ │ │ │ +#define | is_binary_type(x) ((tds_type_flags_ms[x] & TDS_TYPEFLAG_BINARY) != 0) |
│ │ │ │ +#define | is_blob_col(x) ((x)->column_varint_size > 2) |
│ │ │ │ +#define | is_blob_type(x) ((x)==SYBTEXT || (x)==SYBIMAGE || (x)==SYBNTEXT) |
│ │ │ │ +#define | is_char_type(x) ((tds_type_flags_ms[x] & (TDS_TYPEFLAG_ASCII|TDS_TYPEFLAG_UNICODE)) != 0) |
│ │ │ │ +#define | is_collate_type(x) ((tds_type_flags_ms[x] & TDS_TYPEFLAG_COLLATE) != 0) |
│ │ │ │ +#define | is_datetime_type(x) ((tds_type_flags_ms[x] & TDS_TYPEFLAG_DATETIME) != 0) |
return true if type is a datetime (but not date or time) | |
│ │ │ │ +#define | is_end_token(x) ((x) >= TDS_DONE_TOKEN && (x) <= TDS_DONEINPROC_TOKEN) |
│ │ │ │ +#define | is_fixed_type(x) ((tds_type_flags_ms[x] & TDS_TYPEFLAG_FIXED) != 0) |
│ │ │ │ +#define | is_nullable_type(x) ((tds_type_flags_ms[x] & TDS_TYPEFLAG_NULLABLE) != 0) |
│ │ │ │ +#define | is_numeric_type(x) ((x)==SYBNUMERIC || (x)==SYBDECIMAL) |
│ │ │ │ +#define | is_similar_type(x, y) (is_char_type(x) && is_char_type(y)) |
│ │ │ │ +#define | IS_TDS42(x) (x->tds_version==0x402) |
│ │ │ │ +#define | IS_TDS46(x) (x->tds_version==0x406) |
│ │ │ │ +#define | IS_TDS50(x) (x->tds_version==0x500) |
│ │ │ │ +#define | IS_TDS50_PLUS(x) ((x)->tds_version>=0x500) |
│ │ │ │ +#define | IS_TDS70(x) (x->tds_version==0x700) |
│ │ │ │ +#define | IS_TDS71(x) (x->tds_version==0x701) |
│ │ │ │ +#define | IS_TDS71_PLUS(x) ((x)->tds_version>=0x701) |
│ │ │ │ +#define | IS_TDS72(x) (x->tds_version==0x702) |
│ │ │ │ +#define | IS_TDS72_PLUS(x) ((x)->tds_version>=0x702) |
│ │ │ │ +#define | IS_TDS73(x) (x->tds_version==0x703) |
│ │ │ │ +#define | IS_TDS73_PLUS(x) ((x)->tds_version>=0x703) |
│ │ │ │ +#define | IS_TDS74_PLUS(x) ((x)->tds_version>=0x704) |
│ │ │ │ +#define | IS_TDS7_PLUS(x) ((x)->tds_version>=0x700) |
│ │ │ │ +#define | IS_TDSDEAD(x) (((x) == NULL) || (x)->state == TDS_DEAD) |
│ │ │ │ +#define | is_unicode_type(x) ((tds_type_flags_ms[x] & TDS_TYPEFLAG_UNICODE) != 0) |
│ │ │ │ +#define | is_variable_type(x) ((tds_type_flags_ms[x] & TDS_TYPEFLAG_VARIABLE) != 0) |
│ │ │ │ +#define | is_variant_inner_type(x) ((tds_type_flags_ms[x] & TDS_TYPEFLAG_VARIANT) != 0) |
│ │ │ │ +#define | MAXPRECISION 77 |
│ │ │ │ +#define | TDS_ALIGN_SIZE sizeof(tds_align_struct) |
#define | TDS_BYTE_SWAP16(value) |
#define | TDS_BYTE_SWAP32(value) |
│ │ │ │ +#define | TDS_CANCELLED ((TDSRET)-2) |
│ │ │ │ +#define | tds_capability_has_req(conn, cap) tds_capability_enabled(&conn->capabilities.types[0], cap) |
│ │ │ │ +#define | tds_capability_has_res(conn, cap) tds_capability_enabled(&conn->capabilities.types[1], cap) |
│ │ │ │ +#define | TDS_CMD_DONE 4046 |
│ │ │ │ +#define | TDS_CMD_FAIL 4048 |
│ │ │ │ +#define | TDS_CMD_SUCCEED 4047 |
│ │ │ │ +#define | TDS_COMPUTE_RESULT 4045 |
│ │ │ │ +#define | TDS_COMPUTEFMT_RESULT 4050 |
│ │ │ │ +#define | tds_convert_string_free(original, converted) do { if (original != converted) free((char*) converted); } while(0) |
│ │ │ │ +#define | TDS_DBG_ERROR __FILE__, ((__LINE__ << 4) | 2) |
│ │ │ │ +#define | TDS_DBG_FUNC __FILE__, ((__LINE__ << 4) | 7) |
│ │ │ │ +#define | TDS_DBG_HEADER __FILE__, ((__LINE__ << 4) | 10) |
│ │ │ │ +#define | TDS_DBG_INFO1 __FILE__, ((__LINE__ << 4) | 5) |
│ │ │ │ +#define | TDS_DBG_INFO2 __FILE__, ((__LINE__ << 4) | 6) |
│ │ │ │ +#define | TDS_DBG_LOGIN __FILE__, ((__LINE__ << 4) | 11) |
│ │ │ │ +#define | TDS_DBG_NETWORK __FILE__, ((__LINE__ << 4) | 4) |
│ │ │ │ +#define | TDS_DBG_SEVERE __FILE__, ((__LINE__ << 4) | 1) |
│ │ │ │ +#define | TDS_DBG_WARN __FILE__, ((__LINE__ << 4) | 3) |
│ │ │ │ +#define | TDS_DBGFLAG_ALL 0xfff |
│ │ │ │ +#define | TDS_DBGFLAG_ERROR 0x04 |
│ │ │ │ +#define | TDS_DBGFLAG_FUNC 0x80 |
│ │ │ │ +#define | TDS_DBGFLAG_HEADER 0x0400 |
│ │ │ │ +#define | TDS_DBGFLAG_INFO1 0x20 |
│ │ │ │ +#define | TDS_DBGFLAG_INFO2 0x40 |
│ │ │ │ +#define | TDS_DBGFLAG_LOGIN 0x0800 |
│ │ │ │ +#define | TDS_DBGFLAG_NETWORK 0x10 |
│ │ │ │ +#define | TDS_DBGFLAG_PID 0x1000 |
│ │ │ │ +#define | TDS_DBGFLAG_SEVERE 0x02 |
│ │ │ │ +#define | TDS_DBGFLAG_SOURCE 0x4000 |
│ │ │ │ +#define | TDS_DBGFLAG_THREAD 0x8000 |
│ │ │ │ +#define | TDS_DBGFLAG_TIME 0x2000 |
│ │ │ │ +#define | TDS_DBGFLAG_WARN 0x08 |
│ │ │ │ +#define | TDS_DEF_BLKSZ 512 |
│ │ │ │ +#define | TDS_DEF_CHARSET "iso_1" |
│ │ │ │ +#define | TDS_DEF_LANG "us_english" |
│ │ │ │ +#define | TDS_DEF_PORT 1433 |
│ │ │ │ +#define | TDS_DEF_SERVER "SYBASE" |
│ │ │ │ +#define | TDS_DEFAULT_VERSION 0x000 |
│ │ │ │ +#define | TDS_DESCRIBE_RESULT 4051 |
│ │ │ │ +#define | TDS_DONE_RESULT 4052 |
│ │ │ │ +#define | TDS_DONEINPROC_RESULT 4054 |
│ │ │ │ +#define | TDS_DONEPROC_RESULT 4053 |
│ │ │ │ +#define | TDS_END_LEN while(0); } while(tds_freeze_close(current_freeze), 0); } while(0); |
│ │ │ │ +#define | TDS_FAIL ((TDSRET)-1) |
│ │ │ │ +#define | TDS_FAILED(rc) ((rc)<0) |
│ │ │ │ +#define | tds_get_ctx(tds) ((tds)->conn->tds_ctx) |
│ │ │ │ +#define | tds_get_int(tds) ((TDS_INT) tds_get_uint(tds)) |
│ │ │ │ +#define | tds_get_int8(tds) ((TDS_INT8) tds_get_uint8(tds)) |
│ │ │ │ +#define | tds_get_parent(tds) ((tds)->parent) |
│ │ │ │ +#define | tds_get_s(tds) ((tds)->conn->s) |
│ │ │ │ +#define | tds_get_smallint(tds) ((TDS_SMALLINT) tds_get_usmallint(tds)) |
│ │ │ │ +#define | TDS_GSSAPI_DELEGATION "enable gssapi delegation" |
│ │ │ │ +#define | TDS_INT_CANCEL 2 |
│ │ │ │ +#define | TDS_INT_CONTINUE 1 |
│ │ │ │ +#define | TDS_INT_TIMEOUT 3 |
│ │ │ │ +#define | TDS_INVALID_TYPE ((TDS_SERVER_TYPE) 0) |
#define | TDS_IS_MSSQL(x) (((x)->conn->product_version & 0x80000000u)!=0) |
Check if product is Microsft SQL Server. More... | |
#define | TDS_IS_SYBASE(x) (!((x)->conn->product_version & 0x80000000u)) |
Check if product is Sybase (such as Adaptive Server Enterrprice). More... | |
│ │ │ │ +#define | TDS_MAJOR(x) ((x)->tds_version >> 8) |
│ │ │ │ +#define | TDS_MAX_CAPABILITY 32 |
│ │ │ │ +#define | TDS_MAX_CONN 4096 |
│ │ │ │ +#define | TDS_MAX_DYNID_LEN 30 |
│ │ │ │ +#define | TDS_MAX_LOGIN_STR_SZ 128 |
│ │ │ │ +#define | TDS_MINOR(x) ((x)->tds_version & 0xff) |
#define | TDS_MS_VER(maj, min, x) (0x80000000u|((maj)<<24)|((min)<<16)|(x)) |
Calc a version number for mssql. More... | |
│ │ │ │ +#define | TDS_MSG_RESULT 4044 |
│ │ │ │ +#define | tds_new(type, n) ((type *) malloc(sizeof(type) * (n))) |
│ │ │ │ +#define | tds_new0(type, n) ((type *) calloc(n, sizeof(type))) |
│ │ │ │ +#define | TDS_NO_COUNT -1 |
│ │ │ │ +#define | TDS_NO_MORE_RESULTS ((TDSRET)1) |
│ │ │ │ +#define | TDS_NULLTERM -9 |
│ │ │ │ +#define | TDS_OTHERS_RESULT 4055 |
│ │ │ │ +#define | tds_packet_get_data_start(pkt) 0 |
│ │ │ │ +#define | tds_packet_zero_data_start(pkt) do { } while(0) |
│ │ │ │ +#define | TDS_PARAM_RESULT 4042 |
│ │ │ │ +#define | TDS_PROPAGATE(rc) do { TDSRET _tds_ret = (rc); if (TDS_FAILED(_tds_ret)) return _tds_ret; } while(0) |
│ │ │ │ +#define | TDS_PUT_BYTE(tds, v) tds_put_byte((tds), ((unsigned char)(v))) |
│ │ │ │ +#define | TDS_PUT_INT(tds, v) tds_put_int((tds), ((TDS_INT)(v))) |
│ │ │ │ +#define | TDS_PUT_SMALLINT(tds, v) tds_put_smallint((tds), ((TDS_SMALLINT)(v))) |
│ │ │ │ +#define | tds_put_tinyint(tds, ti) tds_put_byte(tds,ti) |
Output a tinyint value. | |
│ │ │ │ +#define | TDS_RESIZE(p, n_elem) tds_realloc((void **) &(p), sizeof(*(p)) * (size_t) (n_elem)) |
│ │ │ │ +#define | TDS_ROW_RESULT 4040 |
│ │ │ │ +#define | TDS_ROWFMT_RESULT 4049 |
│ │ │ │ +#define | tds_set_ctx(tds, val) do { ((tds)->conn->tds_ctx) = (val); } while(0) |
│ │ │ │ +#define | tds_set_parent(tds, val) do { ((tds)->parent) = (val); } while(0) |
│ │ │ │ +#define | tds_set_s(tds, val) do { ((tds)->conn->s) = (val); } while(0) |
#define | TDS_START_LEN_GENERIC(tds_socket, len) |
│ │ │ │ +#define | TDS_START_LEN_TINYINT(tds_socket) TDS_START_LEN_GENERIC(tds_socket, 1) |
│ │ │ │ +#define | TDS_START_LEN_UINT(tds_socket) TDS_START_LEN_GENERIC(tds_socket, 4) |
│ │ │ │ +#define | TDS_START_LEN_USMALLINT(tds_socket) TDS_START_LEN_GENERIC(tds_socket, 2) |
│ │ │ │ +#define | TDS_STATUS_RESULT 4043 |
│ │ │ │ +#define | TDS_STR_APPENDMODE "dump file append" |
│ │ │ │ +#define | TDS_STR_ASA_DATABASE "asa database" |
│ │ │ │ +#define | TDS_STR_BLKSZ "initial block size" |
│ │ │ │ +#define | TDS_STR_CAFILE "ca file" |
│ │ │ │ +#define | TDS_STR_CHARSET "charset" |
│ │ │ │ +#define | TDS_STR_CHECKSSLHOSTNAME "check certificate hostname" |
│ │ │ │ +#define | TDS_STR_CLCHARSET "client charset" |
│ │ │ │ +#define | TDS_STR_CONNTIMEOUT "connect timeout" |
│ │ │ │ +#define | TDS_STR_CRLFILE "crl file" |
│ │ │ │ +#define | TDS_STR_DATABASE "database" |
│ │ │ │ +#define | TDS_STR_DATEFMT "date format" |
│ │ │ │ +#define | TDS_STR_DBFILENAME "database filename" |
│ │ │ │ +#define | TDS_STR_DEBUGFLAGS "debug flags" |
│ │ │ │ +#define | TDS_STR_DEBUGLVL "debug level" |
│ │ │ │ +#define | TDS_STR_DUMPFILE "dump file" |
│ │ │ │ +#define | TDS_STR_EMUL_LE "emulate little endian" |
│ │ │ │ +#define | TDS_STR_ENABLE_TLS_V1 "enable tls v1" |
│ │ │ │ +#define | TDS_STR_ENCRYPTION "encryption" |
│ │ │ │ +#define | TDS_STR_ENCRYPTION_OFF "off" |
│ │ │ │ +#define | TDS_STR_ENCRYPTION_REQUEST "request" |
│ │ │ │ +#define | TDS_STR_ENCRYPTION_REQUIRE "require" |
│ │ │ │ +#define | TDS_STR_HOST "host" |
│ │ │ │ +#define | TDS_STR_HOSTNAME "hostname" |
│ │ │ │ +#define | TDS_STR_INSTANCE "instance" |
│ │ │ │ +#define | TDS_STR_LANGUAGE "language" |
│ │ │ │ +#define | TDS_STR_MUTUAL_AUTHENTICATION "mutual authentication" |
│ │ │ │ +#define | TDS_STR_PORT "port" |
│ │ │ │ +#define | TDS_STR_QUERY_TIMEOUT "query timeout" |
│ │ │ │ +#define | TDS_STR_READONLY_INTENT "read-only intent" |
│ │ │ │ +#define | TDS_STR_REALM "realm" |
│ │ │ │ +#define | TDS_STR_SPN "spn" |
│ │ │ │ +#define | TDS_STR_SWAPDT "swap broken dates" |
│ │ │ │ +#define | TDS_STR_TEXTSZ "text size" |
│ │ │ │ +#define | TDS_STR_TIMEOUT "timeout" |
│ │ │ │ +#define | TDS_STR_USE_UTF_16 "use utf-16" |
│ │ │ │ +#define | TDS_STR_USELANMAN "use lanman" |
│ │ │ │ +#define | TDS_STR_USENTLMV2 "use ntlmv2" |
│ │ │ │ +#define | TDS_STR_VERSION "tds version" |
│ │ │ │ +#define | TDS_SUCCEED(rc) ((rc)>=0) |
│ │ │ │ +#define | TDS_SUCCESS ((TDSRET)0) |
│ │ │ │ +#define | TDS_SYB_VER(maj, min, x) (((maj)<<24)|((min)<<16)|(x)<<8) |
Calc a version number for Sybase. | |
│ │ │ │ +#define | TDS_TOKEN_FLAG(flag) TDS_RETURN_##flag = (1 << (TDS_TOKEN_RES_##flag*2)), TDS_STOPAT_##flag = (2 << (TDS_TOKEN_RES_##flag*2)) |
│ │ │ │ +#define | TDSDUMP_BUF_FAST if (TDS_UNLIKELY(tds_write_dump)) tdsdump_dump_buf |
│ │ │ │ +#define | tdsdump_dump_buf TDSDUMP_BUF_FAST |
│ │ │ │ +#define | tdsdump_log TDSDUMP_LOG_FAST |
│ │ │ │ +#define | TDSDUMP_LOG_FAST if (TDS_UNLIKELY(tds_write_dump)) tdsdump_log |
│ │ │ │ +#define | TDSSELREAD POLLIN |
│ │ │ │ +#define | TDSSELWRITE POLLOUT |
│ │ │ │ +#define | TLS_STR_OPENSSL_CIPHERS "openssl ciphers" |
│ │ │ │ Typedefs | |
│ │ │ │ -typedef int | BOOL |
│ │ │ │ -typedef unsigned char | BYTE |
│ │ │ │ -typedef DBWAITFUNC(* | DB_DBBUSY_FUNC) (void *dbproc) |
│ │ │ │ -typedef int(* | DB_DBCHKINTR_FUNC) (void *dbproc) |
│ │ │ │ -typedef int(* | DB_DBHNDLINTR_FUNC) (void *dbproc) |
│ │ │ │ -typedef void(* | DB_DBIDLE_FUNC) (DBWAITFUNC dfunc, void *dbproc) |
│ │ │ │ -typedef int64_t | DBBIGINT |
│ │ │ │ -typedef unsigned char | DBBINARY |
│ │ │ │ -typedef unsigned char | DBBIT |
│ │ │ │ -typedef unsigned char | DBBOOL |
│ │ │ │ -typedef char | DBCHAR |
│ │ │ │ -typedef void | DBCURSOR |
│ │ │ │ -typedef struct tds_sybase_dbdaterec | DBDATEREC |
│ │ │ │ -typedef struct tds_sybase_dbdaterec2 | DBDATEREC2 |
│ │ │ │ -typedef DBNUMERIC | DBDECIMAL |
│ │ │ │ -typedef tds_sysdep_real64_type | DBFLT8 |
│ │ │ │ -typedef int32_t | DBINT |
│ │ │ │ -typedef void | DBLOGINFO |
│ │ │ │ -typedef void(* | DBPIVOT_FUNC) (struct col_t *output, const struct col_t *input) |
│ │ │ │ -typedef struct tds_dblib_dbprocess | DBPROCESS |
│ │ │ │ -typedef tds_sysdep_real32_type | DBREAL |
│ │ │ │ -typedef int16_t | DBSMALLINT |
│ │ │ │ -typedef void | DBSORTORDER |
│ │ │ │ -typedef struct dbstring | DBSTRING |
│ │ │ │ -typedef unsigned char | DBTINYINT |
│ │ │ │ -typedef struct dbtypeinfo | DBTYPEINFO |
│ │ │ │ -typedef uint64_t | DBUBIGINT |
│ │ │ │ -typedef uint32_t | DBUINT |
│ │ │ │ -typedef uint16_t | DBUSMALLINT |
│ │ │ │ -typedef void * | DBVOIDPTR |
│ │ │ │ -typedef int(* | DBWAITFUNC) (void) |
│ │ │ │ -typedef void | DBXLATE |
│ │ │ │ -typedef int(* | EHANDLEFUNC) (DBPROCESS *dbproc, int severity, int dberr, int oserr, char *dberrstr, char *oserrstr) |
│ │ │ │ -typedef int(* | INTFUNCPTR) (void *,...) |
│ │ │ │ -typedef struct tds_dblib_loginrec | LOGINREC |
│ │ │ │ -typedef int(* | MHANDLEFUNC) (DBPROCESS *dbproc, DBINT msgno, int msgstate, int severity, char *msgtext, char *srvname, char *proc, int line) |
│ │ │ │ -typedef int | RETCODE |
│ │ │ │ -typedef short | SHORT |
│ │ │ │ -typedef int | STATUS |
│ │ │ │ -typedef unsigned short | USHORT |
│ │ │ │ +typedef struct tds_bcpcoldata | BCPCOLDATA |
│ │ │ │ +typedef int(* | err_handler_t) (const TDSCONTEXT *, TDSSOCKET *, TDSMESSAGE *) |
│ │ │ │ +typedef TDSRET(* | tds_bcp_get_col_data) (TDSBCPINFO *bulk, TDSCOLUMN *bcpcol, int offset) |
│ │ │ │ +typedef void(* | tds_bcp_null_error) (TDSBCPINFO *bulk, int index, int offset) |
│ │ │ │ +typedef struct tds_capabilities | TDS_CAPABILITIES |
│ │ │ │ +typedef struct tds_capability_type | TDS_CAPABILITY_TYPE |
│ │ │ │ +typedef char | TDS_CHAR |
typedef struct tds_compiletime_settings | TDS_COMPILETIME_SETTINGS |
A structure to hold all the compile-time settings. More... | |
│ │ │ │ +typedef enum tds_cursor_fetch | TDS_CURSOR_FETCH |
│ │ │ │ +typedef enum tds_cursor_operation | TDS_CURSOR_OPERATION |
│ │ │ │ +typedef struct tds_cursor_status | TDS_CURSOR_STATUS |
typedef struct tds_encoding | TDS_ENCODING |
Information relevant to libiconv. More... | |
│ │ │ │ +typedef enum tds_encryption_level | TDS_ENCRYPTION_LEVEL |
│ │ │ │ +typedef tds_sysdep_real64_type | TDS_FLOAT |
│ │ │ │ +typedef int | tds_func_check(const TDSCOLUMN *col) |
│ │ │ │ +typedef TDSRET | tds_func_get_data(TDSSOCKET *tds, TDSCOLUMN *col) |
│ │ │ │ +typedef TDSRET | tds_func_get_info(TDSSOCKET *tds, TDSCOLUMN *col) |
│ │ │ │ +typedef TDSRET | tds_func_put_data(TDSSOCKET *tds, TDSCOLUMN *col, int bcp7) |
│ │ │ │ +typedef TDSRET | tds_func_put_info(TDSSOCKET *tds, TDSCOLUMN *col) |
│ │ │ │ +typedef TDS_INT | tds_func_row_len(TDSCOLUMN *col) |
│ │ │ │ +typedef int32_t | TDS_INT |
│ │ │ │ +typedef int64_t | TDS_INT8 |
│ │ │ │ +typedef intptr_t | TDS_INTPTR |
│ │ │ │ +typedef enum tds_operations | TDS_OPERATION |
│ │ │ │ +typedef union tds_option_arg | TDS_OPTION_ARG |
│ │ │ │ +typedef tds_sysdep_real32_type | TDS_REAL |
│ │ │ │ +typedef int16_t | TDS_SMALLINT |
│ │ │ │ +typedef enum tds_states | TDS_STATE |
values for tds->state | |
│ │ │ │ +typedef uint8_t | TDS_TINYINT |
│ │ │ │ +typedef uint8_t | TDS_UCHAR |
│ │ │ │ +typedef uint32_t | TDS_UINT |
│ │ │ │ +typedef uint64_t | TDS_UINT8 |
│ │ │ │ +typedef uintptr_t | TDS_UINTPTR |
│ │ │ │ +typedef uint16_t | TDS_USMALLINT |
│ │ │ │ +typedef struct tds_authentication | TDSAUTHENTICATION |
│ │ │ │ +typedef struct tds_bcpinfo | TDSBCPINFO |
typedef struct tds_blob | TDSBLOB |
Information about blobs (e.g. More... | |
│ │ │ │ +typedef struct tds_column | TDSCOLUMN |
│ │ │ │ +typedef struct tds_column_funcs | TDSCOLUMNFUNCS |
│ │ │ │ +typedef struct tds_result_info | TDSCOMPUTEINFO |
│ │ │ │ +typedef void(* | TDSCONFPARSE) (const char *option, const char *value, void *param) |
│ │ │ │ +typedef struct tds_connection | TDSCONNECTION |
│ │ │ │ +typedef struct tds_context | TDSCONTEXT |
│ │ │ │ +typedef struct tds_cursor | TDSCURSOR |
Holds informations about a cursor. | |
│ │ │ │ +typedef struct tdsdaterec | TDSDATEREC |
Used by tds_datecrack. | |
│ │ │ │ +typedef struct tdsdump_off_item | TDSDUMP_OFF_ITEM |
│ │ │ │ +typedef struct tds_dynamic | TDSDYNAMIC |
Holds information for a dynamic (also called prepared) query. | |
│ │ │ │ +typedef struct tds_env | TDSENV |
Current environment as reported by the server. | |
│ │ │ │ +typedef struct tds_freeze | TDSFREEZE |
│ │ │ │ +typedef struct tds_headers | TDSHEADERS |
│ │ │ │ +typedef struct tdsiconvinfo | TDSICONV |
│ │ │ │ +typedef struct tds_locale | TDSLOCALE |
│ │ │ │ +typedef struct tds_login | TDSLOGIN |
│ │ │ │ +typedef struct tds_message | TDSMESSAGE |
│ │ │ │ +typedef struct tds_multiple | TDSMULTIPLE |
│ │ │ │ +typedef struct tds_packet | TDSPACKET |
│ │ │ │ +typedef TDSRESULTINFO | TDSPARAMINFO |
│ │ │ │ +typedef struct tds_poll_wakeup | TDSPOLLWAKEUP |
│ │ │ │ +typedef struct tds_result_info | TDSRESULTINFO |
Hold information for any results. | |
│ │ │ │ +typedef int | TDSRET |
│ │ │ │ +typedef struct tds_socket | TDSSOCKET |
│ │ │ │ +typedef struct tds_upd_col | TDSUPDCOL |
│ │ │ │ +typedef struct tds_variant | TDSVARIANT |
Store variant informations. | |
│ │ │ │ Enumerations | |
enum | { │ │ │ │ - SYBCHAR = 47 │ │ │ │ -, SYBCHAR = 47 │ │ │ │ -, SYBVARCHAR = 39 │ │ │ │ -, SYBVARCHAR = 39 │ │ │ │ -, │ │ │ │ - SYBINTN = 38 │ │ │ │ -, SYBINTN = 38 │ │ │ │ -, SYBINT1 = 48 │ │ │ │ -, SYBINT1 = 48 │ │ │ │ -, │ │ │ │ - SYBINT2 = 52 │ │ │ │ -, SYBINT2 = 52 │ │ │ │ -, SYBINT4 = 56 │ │ │ │ -, SYBINT4 = 56 │ │ │ │ -, │ │ │ │ - SYBINT8 = 127 │ │ │ │ -, SYBINT8 = 127 │ │ │ │ -, SYBFLT8 = 62 │ │ │ │ -, SYBFLT8 = 62 │ │ │ │ -, │ │ │ │ - SYBDATETIME = 61 │ │ │ │ -, SYBDATETIME = 61 │ │ │ │ -, SYBBIT = 50 │ │ │ │ -, SYBBIT = 50 │ │ │ │ -, │ │ │ │ - SYBBITN = 104 │ │ │ │ -, SYBBITN = 104 │ │ │ │ -, SYBTEXT = 35 │ │ │ │ -, SYBTEXT = 35 │ │ │ │ -, │ │ │ │ - SYBNTEXT = 99 │ │ │ │ -, SYBNTEXT = 99 │ │ │ │ -, SYBIMAGE = 34 │ │ │ │ -, SYBIMAGE = 34 │ │ │ │ -, │ │ │ │ - SYBMONEY4 = 122 │ │ │ │ -, SYBMONEY4 = 122 │ │ │ │ -, SYBMONEY = 60 │ │ │ │ -, SYBMONEY = 60 │ │ │ │ -, │ │ │ │ - SYBDATETIME4 = 58 │ │ │ │ -, SYBDATETIME4 = 58 │ │ │ │ -, SYBREAL = 59 │ │ │ │ -, SYBREAL = 59 │ │ │ │ -, │ │ │ │ - SYBBINARY = 45 │ │ │ │ -, SYBBINARY = 45 │ │ │ │ -, SYBVOID = 31 │ │ │ │ -, SYBVOID = 31 │ │ │ │ -, │ │ │ │ - SYBVARBINARY = 37 │ │ │ │ -, SYBVARBINARY = 37 │ │ │ │ -, SYBNUMERIC = 108 │ │ │ │ -, SYBNUMERIC = 108 │ │ │ │ -, │ │ │ │ - SYBDECIMAL = 106 │ │ │ │ -, SYBDECIMAL = 106 │ │ │ │ -, SYBFLTN = 109 │ │ │ │ -, SYBFLTN = 109 │ │ │ │ -, │ │ │ │ - SYBMONEYN = 110 │ │ │ │ -, SYBMONEYN = 110 │ │ │ │ -, SYBDATETIMN = 111 │ │ │ │ -, SYBDATETIMN = 111 │ │ │ │ -, │ │ │ │ - SYBNVARCHAR = 103 │ │ │ │ -, SYBNVARCHAR = 103 │ │ │ │ -, SYBDATE = 49 │ │ │ │ -, SYBDATE = 49 │ │ │ │ -, │ │ │ │ - SYBTIME = 51 │ │ │ │ -, SYBTIME = 51 │ │ │ │ -, SYBBIGDATETIME = 187 │ │ │ │ -, SYBBIGDATETIME = 187 │ │ │ │ -, │ │ │ │ - SYBBIGTIME = 188 │ │ │ │ -, SYBBIGTIME = 188 │ │ │ │ -, SYBMSDATE = 40 │ │ │ │ -, SYBMSDATE = 40 │ │ │ │ -, │ │ │ │ - SYBMSTIME = 41 │ │ │ │ -, SYBMSTIME = 41 │ │ │ │ -, SYBMSDATETIME2 = 42 │ │ │ │ -, SYBMSDATETIME2 = 42 │ │ │ │ + |
enum | { │ │ │ │ + TDS_CUR_ISTAT_UNUSED = 0x00 │ │ │ │ +, TDS_CUR_ISTAT_DECLARED = 0x01 │ │ │ │ +, TDS_CUR_ISTAT_OPEN = 0x02 │ │ │ │ +, TDS_CUR_ISTAT_CLOSED = 0x04 │ │ │ │ +, │ │ │ │ + TDS_CUR_ISTAT_RDONLY = 0x08 │ │ │ │ +, TDS_CUR_ISTAT_UPDATABLE = 0x10 │ │ │ │ +, TDS_CUR_ISTAT_ROWCNT = 0x20 │ │ │ │ +, TDS_CUR_ISTAT_DEALLOC = 0x40 │ │ │ │ + │ │ │ │ + } |
enum | { │ │ │ │ + TDS_TYPEFLAG_INVALID = 0 │ │ │ │ +, TDS_TYPEFLAG_NULLABLE = 1 │ │ │ │ +, TDS_TYPEFLAG_FIXED = 2 │ │ │ │ +, TDS_TYPEFLAG_VARIABLE = 4 │ │ │ │ +, │ │ │ │ + TDS_TYPEFLAG_COLLATE = 8 │ │ │ │ +, TDS_TYPEFLAG_ASCII = 16 │ │ │ │ +, TDS_TYPEFLAG_UNICODE = 32 │ │ │ │ +, TDS_TYPEFLAG_BINARY = 64 │ │ │ │ , │ │ │ │ - SYBMSDATETIMEOFFSET = 43 │ │ │ │ -, SYBMSDATETIMEOFFSET = 43 │ │ │ │ + TDS_TYPEFLAG_DATETIME = 128 │ │ │ │ +, TDS_TYPEFLAG_NUMERIC = 256 │ │ │ │ +, TDS_TYPEFLAG_VARIANT = 512 │ │ │ │ │ │ │ │ } |
enum | { MAXCOLNAMELEN = 512 │ │ │ │ + |
enum | tds_bcp_directions { TDS_BCP_IN = 1 │ │ │ │ +, TDS_BCP_OUT = 2 │ │ │ │ +, TDS_BCP_QUERYOUT = 3 │ │ │ │ } |
enum | CI_TYPE { CI_REGULAR =1 │ │ │ │ -, CI_ALTERNATE =2 │ │ │ │ -, CI_CURSOR =3 │ │ │ │ + |
bcp direction | |
enum | tds_cursor_fetch { │ │ │ │ + TDS_CURSOR_FETCH_NEXT = 1 │ │ │ │ +, TDS_CURSOR_FETCH_PREV │ │ │ │ +, TDS_CURSOR_FETCH_FIRST │ │ │ │ +, TDS_CURSOR_FETCH_LAST │ │ │ │ +, │ │ │ │ + TDS_CURSOR_FETCH_ABSOLUTE │ │ │ │ +, TDS_CURSOR_FETCH_RELATIVE │ │ │ │ + │ │ │ │ + } |
enum | tds_cursor_operation { TDS_CURSOR_POSITION = 0 │ │ │ │ +, TDS_CURSOR_UPDATE = 1 │ │ │ │ +, TDS_CURSOR_DELETE = 2 │ │ │ │ +, TDS_CURSOR_INSERT = 4 │ │ │ │ + } |
enum | TDS_CURSOR_STATE { TDS_CURSOR_STATE_UNACTIONED = 0 │ │ │ │ +, TDS_CURSOR_STATE_REQUESTED = 1 │ │ │ │ +, TDS_CURSOR_STATE_SENT = 2 │ │ │ │ +, TDS_CURSOR_STATE_ACTIONED = 3 │ │ │ │ } |
enum | tds_encryption_level { TDS_ENCRYPTION_DEFAULT │ │ │ │ +, TDS_ENCRYPTION_OFF │ │ │ │ +, TDS_ENCRYPTION_REQUEST │ │ │ │ +, TDS_ENCRYPTION_REQUIRE │ │ │ │ + } |
enum | tds_end { │ │ │ │ + TDS_DONE_FINAL = 0x00 │ │ │ │ +, TDS_DONE_MORE_RESULTS = 0x01 │ │ │ │ +, TDS_DONE_ERROR = 0x02 │ │ │ │ +, TDS_DONE_INXACT = 0x04 │ │ │ │ +, │ │ │ │ + TDS_DONE_PROC = 0x08 │ │ │ │ +, TDS_DONE_COUNT = 0x10 │ │ │ │ +, TDS_DONE_CANCELLED = 0x20 │ │ │ │ +, TDS_DONE_EVENT = 0x40 │ │ │ │ +, │ │ │ │ + TDS_DONE_SRVERROR = 0x100 │ │ │ │ +, TDS_DONE_NO_TRAN = 0 │ │ │ │ +, TDS_DONE_TRAN_SUCCEED = 1 │ │ │ │ +, TDS_DONE_TRAN_PROGRESS = 2 │ │ │ │ +, │ │ │ │ + TDS_DONE_STMT_ABORT = 3 │ │ │ │ +, TDS_DONE_TRAN_ABORT = 4 │ │ │ │ + │ │ │ │ + } |
Flags returned in TDS_DONE token. More... | |
enum | TDS_ICONV_ENTRY { client2ucs2 │ │ │ │ +, client2server_chardata │ │ │ │ +, initial_char_conv_count │ │ │ │ + } |
enum | TDS_MULTIPLE_TYPE { TDS_MULTIPLE_QUERY │ │ │ │ +, TDS_MULTIPLE_EXECUTE │ │ │ │ +, TDS_MULTIPLE_RPC │ │ │ │ + } |
enum | tds_operations { │ │ │ │ + TDS_OP_NONE = 0 │ │ │ │ +, TDS_OP_CURSOR = TDS_SP_CURSOR │ │ │ │ +, TDS_OP_CURSOROPEN = TDS_SP_CURSOROPEN │ │ │ │ +, TDS_OP_CURSORPREPARE = TDS_SP_CURSORPREPARE │ │ │ │ +, │ │ │ │ + TDS_OP_CURSOREXECUTE = TDS_SP_CURSOREXECUTE │ │ │ │ +, TDS_OP_CURSORPREPEXEC = TDS_SP_CURSORPREPEXEC │ │ │ │ +, TDS_OP_CURSORUNPREPARE = TDS_SP_CURSORUNPREPARE │ │ │ │ +, TDS_OP_CURSORFETCH = TDS_SP_CURSORFETCH │ │ │ │ +, │ │ │ │ + TDS_OP_CURSOROPTION = TDS_SP_CURSOROPTION │ │ │ │ +, TDS_OP_CURSORCLOSE = TDS_SP_CURSORCLOSE │ │ │ │ +, TDS_OP_EXECUTESQL = TDS_SP_EXECUTESQL │ │ │ │ +, TDS_OP_PREPARE = TDS_SP_PREPARE │ │ │ │ +, │ │ │ │ + TDS_OP_EXECUTE = TDS_SP_EXECUTE │ │ │ │ +, TDS_OP_PREPEXEC = TDS_SP_PREPEXEC │ │ │ │ +, TDS_OP_PREPEXECRPC = TDS_SP_PREPEXECRPC │ │ │ │ +, TDS_OP_UNPREPARE = TDS_SP_UNPREPARE │ │ │ │ +, │ │ │ │ + TDS_OP_DYN_DEALLOC = 100 │ │ │ │ + │ │ │ │ + } |
enum | tds_states { │ │ │ │ + TDS_IDLE │ │ │ │ +, TDS_WRITING │ │ │ │ +, TDS_SENDING │ │ │ │ +, TDS_PENDING │ │ │ │ +, │ │ │ │ + TDS_READING │ │ │ │ +, TDS_DEAD │ │ │ │ + │ │ │ │ + } |
values for tds->state More... | |
enum | tds_token_flags { │ │ │ │ + TDS_HANDLE_ALL = 0 │ │ │ │ +, TDS_TOKEN_FLAG =(OTHERS) │ │ │ │ +, TDS_TOKEN_FLAG =(OTHERS) │ │ │ │ +, TDS_TOKEN_FLAG =(OTHERS) │ │ │ │ +, │ │ │ │ + TDS_TOKEN_FLAG =(OTHERS) │ │ │ │ +, TDS_TOKEN_FLAG =(OTHERS) │ │ │ │ +, TDS_TOKEN_FLAG =(OTHERS) │ │ │ │ +, TDS_TOKEN_FLAG =(OTHERS) │ │ │ │ +, │ │ │ │ + TDS_TOKEN_FLAG =(OTHERS) │ │ │ │ +, TDS_TOKEN_FLAG =(OTHERS) │ │ │ │ +, TDS_TOKEN_FLAG =(OTHERS) │ │ │ │ +, TDS_TOKEN_RESULTS = TDS_RETURN_ROWFMT|TDS_RETURN_COMPUTEFMT|TDS_RETURN_DONE|TDS_STOPAT_ROW|TDS_STOPAT_COMPUTE|TDS_RETURN_PROC │ │ │ │ +, │ │ │ │ + TDS_TOKEN_TRAILING = TDS_STOPAT_ROWFMT|TDS_STOPAT_COMPUTEFMT|TDS_STOPAT_ROW|TDS_STOPAT_COMPUTE|TDS_STOPAT_MSG|TDS_STOPAT_OTHERS │ │ │ │ + │ │ │ │ + } |
enum | tds_token_results { │ │ │ │ + TDS_TOKEN_RES_OTHERS │ │ │ │ +, TDS_TOKEN_RES_ROWFMT │ │ │ │ +, TDS_TOKEN_RES_COMPUTEFMT │ │ │ │ +, TDS_TOKEN_RES_PARAMFMT │ │ │ │ +, │ │ │ │ + TDS_TOKEN_RES_DONE │ │ │ │ +, TDS_TOKEN_RES_ROW │ │ │ │ +, TDS_TOKEN_RES_COMPUTE │ │ │ │ +, TDS_TOKEN_RES_PROC │ │ │ │ +, │ │ │ │ + TDS_TOKEN_RES_MSG │ │ │ │ +, TDS_TOKEN_RES_ENV │ │ │ │ + │ │ │ │ + } |
enum | TDSERRNO { │ │ │ │ + TDSEOK = TDS_SUCCESS │ │ │ │ +, TDSEVERDOWN = 100 │ │ │ │ +, TDSEINPROGRESS │ │ │ │ +, TDSEICONVIU = 2400 │ │ │ │ +, │ │ │ │ + TDSEICONVAVAIL = 2401 │ │ │ │ +, TDSEICONVO = 2402 │ │ │ │ +, TDSEICONVI = 2403 │ │ │ │ +, TDSEICONV2BIG = 2404 │ │ │ │ +, │ │ │ │ + TDSEPORTINSTANCE = 2500 │ │ │ │ +, TDSESYNC = 20001 │ │ │ │ +, TDSEFCON = 20002 │ │ │ │ +, TDSETIME = 20003 │ │ │ │ +, │ │ │ │ + TDSEREAD = 20004 │ │ │ │ +, TDSEWRIT = 20006 │ │ │ │ +, TDSESOCK = 20008 │ │ │ │ +, TDSECONN = 20009 │ │ │ │ +, │ │ │ │ + TDSEMEM = 20010 │ │ │ │ +, TDSEINTF = 20012 │ │ │ │ +, TDSEUHST = 20013 │ │ │ │ +, TDSEPWD = 20014 │ │ │ │ +, │ │ │ │ + TDSESEOF = 20017 │ │ │ │ +, TDSERPND = 20019 │ │ │ │ +, TDSEBTOK = 20020 │ │ │ │ +, TDSEOOB = 20022 │ │ │ │ +, │ │ │ │ + TDSECLOS = 20056 │ │ │ │ +, TDSEUSCT = 20058 │ │ │ │ +, TDSEUTDS = 20146 │ │ │ │ +, TDSEEUNR = 20185 │ │ │ │ +, │ │ │ │ + TDSECAP = 20203 │ │ │ │ +, TDSENEG = 20210 │ │ │ │ +, TDSEUMSG = 20212 │ │ │ │ +, TDSECAPTYP = 20213 │ │ │ │ +, │ │ │ │ + TDSECONF = 20214 │ │ │ │ +, TDSEBPROBADTYP = 20250 │ │ │ │ +, TDSECLOSEIN = 20292 │ │ │ │ + │ │ │ │ + } |
│ │ │ │ Functions | |
DBINT | bcp_batch (DBPROCESS *dbproc) |
Commit a set of rows to the table. More... | |
RETCODE | bcp_bind (DBPROCESS *dbproc, BYTE *varaddr, int prefixlen, DBINT varlen, BYTE *terminator, int termlen, int type, int table_column) |
Bind a program host variable to a database column. More... | |
RETCODE | bcp_colfmt (DBPROCESS *dbproc, int host_column, int host_type, int host_prefixlen, DBINT host_collen, const BYTE *host_term, int host_termlen, int colnum) |
Specify the format of a datafile prior to writing to a table. More... | |
RETCODE | bcp_colfmt_ps (DBPROCESS *dbproc, int host_column, int host_type, int host_prefixlen, DBINT host_collen, BYTE *host_term, int host_termlen, int colnum, DBTYPEINFO *typeinfo) |
Specify the format of a host file for bulk copy purposes, with precision and scale support for numeric and decimal columns. More... | |
RETCODE | bcp_collen (DBPROCESS *dbproc, DBINT varlen, int table_column) |
Set the length of a host variable to be written to a table. More... | |
RETCODE | bcp_colptr (DBPROCESS *dbproc, BYTE *colptr, int table_column) |
Override bcp_bind() by pointing to a different host variable. More... | |
RETCODE | bcp_columns (DBPROCESS *dbproc, int host_colcount) |
Indicate how many columns are to be found in the datafile. More... | |
RETCODE | bcp_control (DBPROCESS *dbproc, int field, DBINT value) |
Set BCP options for uploading a datafile. More... | |
DBINT | bcp_done (DBPROCESS *dbproc) |
Conclude the transfer of data from program variables. More... | |
RETCODE | bcp_exec (DBPROCESS *dbproc, DBINT *rows_copied) |
Write a datafile to a table. More... | |
│ │ │ │ -int | bcp_getbatchsize (DBPROCESS *dbproc) |
DBBOOL | bcp_getl (LOGINREC *login) |
See if BCP_SETL() was used to set the LOGINREC for BCP work. More... | |
RETCODE | bcp_init (DBPROCESS *dbproc, const char *tblname, const char *hfile, const char *errfile, int direction) |
Prepare for bulk copy operation on a table. More... | |
RETCODE | bcp_options (DBPROCESS *dbproc, int option, BYTE *value, int valuelen) |
Set "hints" for uploading a file. More... | |
RETCODE | bcp_readfmt (DBPROCESS *dbproc, const char filename[]) |
Read a format definition file. More... | |
RETCODE | bcp_sendrow (DBPROCESS *dbproc) |
Write data in host variables to the table. More... | |
const char * | dbacolname (DBPROCESS *dbproc, int computeid, int column) |
Return name of a computed result column. More... | |
BYTE * | dbadata (DBPROCESS *dbproc, int computeid, int column) |
Get address of compute column data. More... | |
DBINT | dbadlen (DBPROCESS *dbproc, int computeid, int column) |
Get size of data in a compute column. More... | |
RETCODE | dbaltbind (DBPROCESS *dbprocess, int computeid, int column, int vartype, DBINT varlen, BYTE *varaddr) |
Bind a compute column to a program variable. More... | |
│ │ │ │ -RETCODE | dbaltbind_ps (DBPROCESS *dbprocess, int computeid, int column, int vartype, DBINT varlen, BYTE *varaddr, DBTYPEINFO *typeinfo) |
int | dbaltcolid (DBPROCESS *dbproc, int computeid, int column) |
Get column ID of a compute column. More... | |
DBINT | dbaltlen (DBPROCESS *dbproc, int computeid, int column) |
Get size of data in compute column. More... | |
int | dbaltop (DBPROCESS *dbproc, int computeid, int column) |
Get aggregation operator for a compute column. More... | |
int | dbalttype (DBPROCESS *dbproc, int computeid, int column) |
Get datatype for a compute column. More... | |
DBINT | dbaltutype (DBPROCESS *dbproc, int computeid, int column) |
Get user-defined datatype of a compute column. More... | |
RETCODE | dbanullbind (DBPROCESS *dbprocess, int computeid, int column, DBINT *indicator) |
Tie a null-indicator to a compute result column. More... | |
RETCODE | dbanydatecrack (DBPROCESS *dbproc, DBDATEREC2 *di, int type, const void *data) |
Break any kind of date or time value into useful pieces. More... | |
RETCODE | dbbind (DBPROCESS *dbproc, int column, int vartype, DBINT varlen, BYTE *varaddr) |
Tie a host variable to a resultset column. More... | |
│ │ │ │ -RETCODE | dbbind_ps (DBPROCESS *dbprocess, int column, int vartype, DBINT varlen, BYTE *varaddr, DBTYPEINFO *typeinfo) |
│ │ │ │ -int | dbbufsize (DBPROCESS *dbprocess) |
BYTE * | dbbylist (DBPROCESS *dbproc, int computeid, int *size) |
Get bylist for a compute row. More... | |
RETCODE | dbcancel (DBPROCESS *dbproc) |
Cancel the current command batch. More... | |
RETCODE | dbcanquery (DBPROCESS *dbproc) |
Cancel the query currently being retrieved, discarding all pending rows. More... | |
char * | dbchange (DBPROCESS *dbprocess) |
See if a command caused the current database to change. More... | |
│ │ │ │ -DBBOOL | dbcharsetconv (DBPROCESS *dbprocess) |
void | dbclose (DBPROCESS *dbproc) |
Close a connection to the server and free associated resources. More... | |
void | dbclrbuf (DBPROCESS *dbproc, DBINT n) |
Clear n rows from the row buffer. More... | |
RETCODE | dbclropt (DBPROCESS *dbproc, int option, const char param[]) |
Reset an option. More... | |
RETCODE | dbcmd (DBPROCESS *dbproc, const char cmdstring[]) |
Append SQL to the command buffer. More... | |
RETCODE | dbcmdrow (DBPROCESS *dbproc) |
See if the current command can return rows. More... | |
RETCODE | dbcolinfo (DBPROCESS *dbproc, CI_TYPE type, DBINT column, DBINT computeid, DBCOL *pdbcol) |
Get a bunch of column attributes with a single call (Microsoft-compatibility feature). More... | |
DBINT | dbcollen (DBPROCESS *dbproc, int column) |
Get size of a regular result column. More... | |
char * | dbcolname (DBPROCESS *dbproc, int column) |
Return name of a regular result column. More... | |
char * | dbcolsource (DBPROCESS *dbproc, int colnum) |
Get base database column name for a result set column. More... | |
int | dbcoltype (DBPROCESS *dbproc, int column) |
Get the datatype of a regular result set column. More... | |
DBTYPEINFO * | dbcoltypeinfo (DBPROCESS *dbproc, int column) |
Get precision and scale information for a regular result column. More... | |
DBINT | dbcolutype (DBPROCESS *dbprocess, int column) |
Get user-defined datatype of a regular result column. More... | |
DBINT | dbconvert (DBPROCESS *dbproc, int srctype, const BYTE *src, DBINT srclen, int desttype, BYTE *dest, DBINT destlen) |
cf. More... | |
DBINT | dbconvert_ps (DBPROCESS *dbprocess, int srctype, const BYTE *src, DBINT srclen, int desttype, BYTE *dest, DBINT destlen, DBTYPEINFO *typeinfo) |
Convert one datatype to another. More... | |
DBINT | dbcount (DBPROCESS *dbproc) |
Get count of rows processed. More... | |
int | dbcurcmd (DBPROCESS *dbproc) |
Get number of the row just returned. More... | |
DBINT | dbcurrow (DBPROCESS *dbproc) |
Get number of the row currently being read. More... | |
BYTE * | dbdata (DBPROCESS *dbproc, int column) |
Get address of data in a regular result column. More... | |
int | dbdatecmp (DBPROCESS *dbproc, DBDATETIME *d1, DBDATETIME *d2) |
Compare DBDATETIME values, similar to strcmp(3). More... | |
RETCODE | dbdatecrack (DBPROCESS *dbproc, DBDATEREC *di, DBDATETIME *dt) |
Break a DBDATETIME value into useful pieces. More... | |
DBINT | dbdatlen (DBPROCESS *dbproc, int column) |
Get size of current row's data in a regular result column. More... | |
DBBOOL | dbdead (DBPROCESS *dbproc) |
Check if dbproc is an ex-parrot. │ │ │ │ - More... | |
EHANDLEFUNC | dberrhandle (EHANDLEFUNC handler) |
Set an error handler, for messages from db-lib. More... | |
void | dbexit (void) |
Close server connections and free all related structures. More... | |
RETCODE | dbfcmd (DBPROCESS *dbproc, const char *fmt,...) |
printf-like way to form SQL to send to the server. More... | |
DBINT | dbfirstrow (DBPROCESS *dbproc) |
See if a server response has arrived. More... | |
void | dbfreebuf (DBPROCESS *dbproc) |
Erase the command buffer, in case DBNOAUTOFREE was set with dbsetopt(). More... | |
char * | dbgetchar (DBPROCESS *dbprocess, int n) |
Get address of a position in the command buffer. More... | |
│ │ │ │ -char * | dbgetcharset (DBPROCESS *dbprocess) |
│ │ │ │ -int | dbgetlusername (LOGINREC *login, BYTE *name_buffer, int buffer_len) |
int | dbgetmaxprocs (void) |
get maximum simultaneous connections db-lib will open to the server. More... | |
│ │ │ │ -char * | dbgetnatlanf (DBPROCESS *dbprocess) |
int | dbgetpacket (DBPROCESS *dbproc) |
Get TDS packet size for the connection. More... | |
RETCODE | dbgetrow (DBPROCESS *dbproc, DBINT row) |
Read a row from the row buffer. More... | |
int | dbgettime (void) |
Get maximum seconds db-lib waits for a server response to query. More... | |
BYTE * | dbgetuserdata (DBPROCESS *dbproc) |
Get address of user-allocated data from a DBPROCESS . More... | |
DBBOOL | dbhasretstat (DBPROCESS *dbproc) |
Determine if query generated a return status number. More... | |
RETCODE | dbinit (void) |
Initialize db-lib. More... | |
int | dbiordesc (DBPROCESS *dbproc) |
Get file descriptor of the socket used by a DBPROCESS to read data coming from the server. (!) More... | |
int | dbiowdesc (DBPROCESS *dbproc) |
Get file descriptor of the socket used by a DBPROCESS to write data coming to the server. (!) More... | |
│ │ │ │ -DBBOOL | dbisavail (DBPROCESS *dbprocess) |
BOOL | dbiscount (DBPROCESS *dbproc) |
Indicates whether or not the count returned by dbcount is real (Microsoft-compatibility feature). More... | |
DBBOOL | dbisopt (DBPROCESS *dbproc, int option, const char param[]) |
Get value of an option. More... | |
DBINT | dblastrow (DBPROCESS *dbproc) |
Get number of the last row in the row buffer. More... | |
LOGINREC * | dblogin (void) |
Allocate a LOGINREC structure. More... | |
│ │ │ │ -void | dbloginfree (LOGINREC *login) |
free the LOGINREC | |
RETCODE | dbmny4add (DBPROCESS *dbproc, DBMONEY4 *m1, DBMONEY4 *m2, DBMONEY4 *sum) |
Add two DBMONEY4 values. More... | |
int | dbmny4cmp (DBPROCESS *dbproc, DBMONEY4 *m1, DBMONEY4 *m2) |
Compare two DBMONEY4 values. More... | |
RETCODE | dbmny4copy (DBPROCESS *dbprocess, DBMONEY4 *m1, DBMONEY4 *m2) |
Copy a DBMONEY4 value. More... | |
RETCODE | dbmny4minus (DBPROCESS *dbproc, DBMONEY4 *src, DBMONEY4 *dest) |
Negate a DBMONEY4 value. More... | |
RETCODE | dbmny4sub (DBPROCESS *dbproc, DBMONEY4 *m1, DBMONEY4 *m2, DBMONEY4 *diff) |
Subtract two DBMONEY4 values. More... | |
RETCODE | dbmny4zero (DBPROCESS *dbproc, DBMONEY4 *dest) |
Zero a DBMONEY4 value. More... | |
int | dbmnycmp (DBPROCESS *dbproc, DBMONEY *m1, DBMONEY *m2) |
Compare two DBMONEY values. More... | |
RETCODE | dbmnycopy (DBPROCESS *dbproc, DBMONEY *src, DBMONEY *dest) |
Copy a DBMONEY value. More... | |
RETCODE | dbmnydec (DBPROCESS *dbproc, DBMONEY *mnyptr) |
Subtract $0.0001 from a DBMONEY value. More... | |
RETCODE | dbmnyinc (DBPROCESS *dbproc, DBMONEY *mnyptr) |
Add $0.0001 to a DBMONEY value. More... | |
RETCODE | dbmnymaxneg (DBPROCESS *dbproc, DBMONEY *dest) |
Get maximum negative DBMONEY value supported. More... | |
RETCODE | dbmnymaxpos (DBPROCESS *dbproc, DBMONEY *dest) |
Get maximum positive DBMONEY value supported. More... | |
RETCODE | dbmnyminus (DBPROCESS *dbproc, DBMONEY *src, DBMONEY *dest) |
Negate a DBMONEY value. More... | |
│ │ │ │ -RETCODE | dbmnysub (DBPROCESS *dbproc, DBMONEY *m1, DBMONEY *m2, DBMONEY *diff) |
RETCODE | dbmnyzero (DBPROCESS *dbproc, DBMONEY *dest) |
Set a DBMONEY value to zero. More... | |
const char * | dbmonthname (DBPROCESS *dbproc, char *language, int monthnum, DBBOOL shortform) |
Get name of a month, in some human language. More... | |
RETCODE | dbmorecmds (DBPROCESS *dbproc) |
See if more commands are to be processed. More... | |
RETCODE | dbmoretext (DBPROCESS *dbproc, DBINT size, const BYTE text[]) |
Send chunk of a text/image value to the server. More... | |
MHANDLEFUNC | dbmsghandle (MHANDLEFUNC handler) |
Set a message handler, for messages from the server. More... | |
char * | dbname (DBPROCESS *dbproc) |
Get name of current database. More... | |
│ │ │ │ -STATUS | dbnextrow (DBPROCESS *dbproc) |
│ │ │ │ -STATUS | dbnextrow_pivoted (DBPROCESS *dbproc, struct pivot_t *pp) |
RETCODE | dbnullbind (DBPROCESS *dbproc, int column, DBINT *indicator) |
Tie a null-indicator to a regular result column. More... | |
int | dbnumalts (DBPROCESS *dbproc, int computeid) |
Get count of columns in a compute row. More... | |
int | dbnumcols (DBPROCESS *dbproc) |
Return number of regular columns in a result set. More... | |
int | dbnumcompute (DBPROCESS *dbprocess) |
Get count of COMPUTE clauses for a result set. More... | |
int | dbnumrets (DBPROCESS *dbproc) |
Get count of output parameters filled by a stored procedure. More... | |
DBPROCESS * | dbopen (LOGINREC *login, const char *server) |
Normally not used. More... | |
RETCODE | dbpivot (DBPROCESS *dbproc, int nkeys, int *keys, int ncols, int *cols, DBPIVOT_FUNC func, int val) |
Pivot the rows, creating a new resultset. More... | |
│ │ │ │ -void | dbpivot_count (struct col_t *output, const struct col_t *input) |
│ │ │ │ -DBPIVOT_FUNC | dbpivot_lookup_name (const char name[]) |
│ │ │ │ -void | dbpivot_max (struct col_t *output, const struct col_t *input) |
│ │ │ │ -void | dbpivot_min (struct col_t *output, const struct col_t *input) |
│ │ │ │ -void | dbpivot_sum (struct col_t *output, const struct col_t *input) |
DBINT | dbprcollen (DBPROCESS *dbproc, int column) |
Get size of a result column needed to print column. More... | |
void | dbprhead (DBPROCESS *dbproc) |
Print result set headings to stdout. More... | |
RETCODE | dbprrow (DBPROCESS *dbproc) |
Print a result set to stdout. More... | |
const char * | dbprtype (int token) |
Print a token value's name to a buffer. More... | |
STATUS | dbreadtext (DBPROCESS *dbproc, void *buf, DBINT bufsize) |
Fetch part of a text or image value from the server. More... | |
void | dbrecftos (const char filename[]) |
Record to a file all SQL commands sent to the server. More... | |
RETCODE | dbresults (DBPROCESS *dbproc) |
Set up query results. More... | |
│ │ │ │ -RETCODE | dbresults_r (DBPROCESS *dbproc, int recursive) |
BYTE * | dbretdata (DBPROCESS *dbproc, int retnum) |
Get value of an output parameter filled by a stored procedure. More... | |
int | dbretlen (DBPROCESS *dbproc, int retnum) |
Get size of an output parameter filled by a stored procedure. More... | |
char * | dbretname (DBPROCESS *dbproc, int retnum) |
Get name of an output parameter filled by a stored procedure. More... | |
DBINT | dbretstatus (DBPROCESS *dbproc) |
Fetch status value returned by query or remote procedure call. More... | |
int | dbrettype (DBPROCESS *dbproc, int retnum) |
Get datatype of a stored procedure's return parameter. More... | |
RETCODE | dbrows (DBPROCESS *dbproc) |
Indicate whether a query returned rows. More... | |
│ │ │ │ -struct pivot_t * | dbrows_pivoted (DBPROCESS *dbproc) |
STATUS | dbrowtype (DBPROCESS *dbprocess) |
Get returned row's type. More... | |
RETCODE | dbrpcinit (DBPROCESS *dbproc, const char rpcname[], DBSMALLINT options) |
Initialize a remote procedure call. More... | |
RETCODE | dbrpcparam (DBPROCESS *dbproc, const char paramname[], BYTE status, int type, DBINT maxlen, DBINT datalen, BYTE *value) |
Add a parameter to a remote procedure call. More... | |
RETCODE | dbrpcsend (DBPROCESS *dbproc) |
Execute the procedure and free associated memory. More... | |
RETCODE | dbsafestr (DBPROCESS *dbproc, const char *src, DBINT srclen, char *dest, DBINT destlen, int quotetype) |
safely quotes character values in SQL text. More... | |
│ │ │ │ -RETCODE * | dbsechandle (DBINT type, INTFUNCPTR handler) |
char * | dbservcharset (DBPROCESS *dbprocess) |
Get syscharset name of the server character set. More... | |
void | dbsetavail (DBPROCESS *dbprocess) |
Mark a DBPROCESS as "available". More... | |
│ │ │ │ -void | dbsetbusy (DBPROCESS *dbprocess, DB_DBBUSY_FUNC busyfunc) |
│ │ │ │ -RETCODE | dbsetdefcharset (char *charset) |
│ │ │ │ -void | dbsetidle (DBPROCESS *dbprocess, DB_DBIDLE_FUNC idlefunc) |
void | dbsetifile (char *filename) |
set name and location of the interfaces file FreeTDS should use to look up a servername. More... | |
void | dbsetinterrupt (DBPROCESS *dbproc, DB_DBCHKINTR_FUNC chkintr, DB_DBHNDLINTR_FUNC hndlintr) |
Set interrupt handler for db-lib to use while blocked against a read from the server. More... | |
RETCODE | dbsetlbool (LOGINREC *login, int value, int which) |
Set a boolean value in a LOGINREC structure. │ │ │ │ - More... | |
RETCODE | dbsetllong (LOGINREC *login, long value, int which) |
Set an integer value in a LOGINREC structure. │ │ │ │ - More... | |
RETCODE | dbsetlname (LOGINREC *login, const char *value, int which) |
Set the value of a string in a LOGINREC structure. │ │ │ │ - More... | |
RETCODE | dbsetlogintime (int seconds) |
Set maximum seconds db-lib waits for a server response to a login attempt. More... | |
│ │ │ │ -RETCODE | dbsetlshort (LOGINREC *login, int value, int which) |
│ │ │ │ -RETCODE | dbsetlversion (LOGINREC *login, BYTE version) |
Set TDS version for future connections. | |
RETCODE | dbsetmaxprocs (int maxprocs) |
Set maximum simultaneous connections db-lib will open to the server. More... | |
RETCODE | dbsetnull (DBPROCESS *dbprocess, int bindtype, int bindlen, BYTE *bindval) |
Define substitution values to be used when binding null values. More... | |
RETCODE | dbsetopt (DBPROCESS *dbproc, int option, const char *char_param, int int_param) |
Set db-lib or server option. More... | |
STATUS | dbsetrow (DBPROCESS *dbprocess, DBINT row) |
Make a buffered row "current" without fetching it into bound variables. More... | |
RETCODE | dbsettime (int seconds) |
Set maximum seconds db-lib waits for a server response to query. More... | |
void | dbsetuserdata (DBPROCESS *dbproc, BYTE *ptr) |
Associate client-allocated (and defined) data with a DBPROCESS . More... | |
RETCODE | dbsetversion (DBINT version) |
Specify a db-lib version level. More... | |
int | dbspid (DBPROCESS *dbproc) |
Get server process ID for a DBPROCESS . More... | |
RETCODE | dbspr1row (DBPROCESS *dbproc, char *buffer, DBINT buf_len) |
Print a regular result row to a buffer. More... | |
DBINT | dbspr1rowlen (DBPROCESS *dbproc) |
Determine size buffer required to hold the results returned by dbsprhead(), dbsprline(), and dbspr1row(). More... | |
RETCODE | dbsprhead (DBPROCESS *dbproc, char *buffer, DBINT buf_len) |
Print result set headings to a buffer. More... | |
RETCODE | dbsprline (DBPROCESS *dbproc, char *buffer, DBINT buf_len, DBCHAR line_char) |
Get formatted string for underlining dbsprhead() column names. More... | |
RETCODE | dbsqlexec (DBPROCESS *dbproc) |
send the SQL command to the server and wait for an answer. More... | |
RETCODE | dbsqlok (DBPROCESS *dbproc) |
Wait for results of a query from the server. More... | |
RETCODE | dbsqlsend (DBPROCESS *dbproc) |
Transmit the command buffer to the server. More... | |
int | dbstrbuild (DBPROCESS *dbproc, char *charbuf, int bufsize, char *text, char *formats,...) |
Build a printable string from text containing placeholders for variables. More... | |
RETCODE | dbstrcpy (DBPROCESS *dbproc, int start, int numbytes, char *dest) |
Get a copy of a chunk of the command buffer. More... | |
int | dbstrlen (DBPROCESS *dbproc) |
Get size of the command buffer, in bytes. More... | |
RETCODE | dbtablecolinfo (DBPROCESS *dbproc, DBINT column, DBCOL *pdbcol) |
describe table column attributes with a single call (Freetds-only API function modelled on dbcolinfo) More... | |
int | dbtds (DBPROCESS *dbprocess) |
Get the TDS version in use for dbproc. │ │ │ │ - More... | |
│ │ │ │ -DBINT | dbtextsize (DBPROCESS *dbprocess) |
DBBINARY * | dbtxptr (DBPROCESS *dbproc, int column) |
Get text pointer for a column in the current row. More... | |
DBBINARY * | dbtxtimestamp (DBPROCESS *dbproc, int column) |
Get text timestamp for a column in the current row. More... | |
│ │ │ │ -DBBINARY * | dbtxtsnewval (DBPROCESS *dbprocess) |
│ │ │ │ -RETCODE | dbtxtsput (DBPROCESS *dbprocess, DBBINARY newtxts, int colnum) |
RETCODE | dbuse (DBPROCESS *dbproc, const char *name) |
Change current database. More... | |
DBINT | dbvarylen (DBPROCESS *dbproc, int column) |
Determine whether a column can vary in size. More... | |
const char * | dbversion (void) |
See which version of db-lib is in use. More... | |
DBBOOL | dbwillconvert (int srctype, int desttype) |
Test whether or not a datatype can be converted to another datatype. More... | |
RETCODE | dbwritetext (DBPROCESS *dbproc, char *objname, DBBINARY *textptr, DBTINYINT textptrlen, DBBINARY *timestamp, DBBOOL log, DBINT size, BYTE *text) |
Send text or image data to the server. More... | |
│ │ │ │ -DBBOOL | DRBUF (DBPROCESS *dbprocess) |
DBPROCESS * | tdsdbopen (LOGINREC *login, const char *server, int msdblib) |
Form a connection with the server. More... | |
│ │ │ │ +static bool | is_tds_type_valid (int type) |
│ │ │ │ +TDSRET | tds5_gss_send (TDSSOCKET *tds) |
│ │ │ │ +TDSAUTHENTICATION * | tds5_negotiate_get_auth (TDSSOCKET *tds) |
│ │ │ │ +static void | tds5_negotiate_set_msg_type (TDSAUTHENTICATION *tds_auth, unsigned msg_type) |
│ │ │ │ +int | tds5_send_optioncmd (TDSSOCKET *tds, TDS_OPTION_CMD tds_command, TDS_OPTION tds_option, TDS_OPTION_ARG *tds_argument, TDS_INT *tds_argsize) |
TDSRET | tds71_submit_prepexec (TDSSOCKET *tds, const char *query, const char *id, TDSDYNAMIC **dyn_out, TDSPARAMINFO *params) |
Creates a temporary stored procedure in the server and execute it. More... | |
int | tds7_get_instance_port (struct addrinfo *addr, const char *instance) |
Get port of given instance. More... | |
int | tds7_get_instance_ports (FILE *output, struct addrinfo *addr) |
Get port of all instances. More... | |
│ │ │ │ +void | tds7_srv_charset_changed (TDSCONNECTION *conn, TDS_UCHAR collate[5]) |
│ │ │ │ +const char * | tds_addrinfo2str (struct addrinfo *addr, char *name, int namemax) |
│ │ │ │ +TDSSOCKET * | tds_alloc_additional_socket (TDSCONNECTION *conn) |
│ │ │ │ +BCPCOLDATA * | tds_alloc_bcp_column_data (unsigned int column_size) |
│ │ │ │ +TDSBCPINFO * | tds_alloc_bcpinfo (void) |
│ │ │ │ +char * | tds_alloc_client_sqlstate (int msgno) |
│ │ │ │ +TDSCOMPUTEINFO ** | tds_alloc_compute_results (TDSSOCKET *tds, TDS_USMALLINT num_cols, TDS_USMALLINT by_cols) |
│ │ │ │ +TDSRET | tds_alloc_compute_row (TDSCOMPUTEINFO *res_info) |
│ │ │ │ +TDSCONTEXT * | tds_alloc_context (void *parent) |
│ │ │ │ +TDSCURSOR * | tds_alloc_cursor (TDSSOCKET *tds, const char *name, TDS_INT namelen, const char *query, TDS_INT querylen) |
TDSDYNAMIC * | tds_alloc_dynamic (TDSCONNECTION *conn, const char *id) |
Allocate a dynamic statement. More... | |
│ │ │ │ +TDSLOCALE * | tds_alloc_locale (void) |
│ │ │ │ +TDSLOGIN * | tds_alloc_login (int use_environment) |
│ │ │ │ +char * | tds_alloc_lookup_sqlstate (TDSSOCKET *tds, int msgno) |
│ │ │ │ +TDSPACKET * | tds_alloc_packet (void *buf, unsigned len) |
void * | tds_alloc_param_data (TDSCOLUMN *curparam) |
Allocate data for a parameter. More... | |
TDSPARAMINFO * | tds_alloc_param_result (TDSPARAMINFO *old_param) |
Adds a output parameter to TDSPARAMINFO. More... | |
│ │ │ │ +TDSRESULTINFO * | tds_alloc_results (TDS_USMALLINT num_cols) |
│ │ │ │ +TDSRET | tds_alloc_row (TDSRESULTINFO *res_info) |
Allocate space for row store return NULL on out of memory. | |
│ │ │ │ +TDSSOCKET * | tds_alloc_socket (TDSCONTEXT *context, unsigned int bufsize) |
TDSRET | tds_bcp_done (TDSSOCKET *tds, int *rows_copied) |
Tell we finished sending BCP data to server. More... | |
TDSRET | tds_bcp_fread (TDSSOCKET *tds, TDSICONV *conv, FILE *stream, const char *terminator, size_t term_len, char **outbuf, size_t *outbytes) |
Read a data file, passing the data through iconv(). More... | |
TDSRET | tds_bcp_init (TDSSOCKET *tds, TDSBCPINFO *bcpinfo) |
Initialize BCP information. More... | |
TDSRET | tds_bcp_send_record (TDSSOCKET *tds, TDSBCPINFO *bcpinfo, tds_bcp_get_col_data get_col_data, tds_bcp_null_error null_error, int offset) |
Send one row of data to server. More... | |
TDSRET | tds_bcp_start (TDSSOCKET *tds, TDSBCPINFO *bcpinfo) |
Start sending BCP data to server. More... | |
TDSRET | tds_bcp_start_copy_in (TDSSOCKET *tds, TDSBCPINFO *bcpinfo) |
Start bulk copy to server. More... | |
│ │ │ │ +static bool | tds_capability_enabled (const TDS_CAPABILITY_TYPE *cap, unsigned cap_num) |
void | tds_close_socket (TDSSOCKET *tds) |
Close current socket. More... | |
│ │ │ │ +int | tds_config_boolean (const char *option, const char *value, TDSLOGIN *login) |
TDS_USMALLINT * | tds_config_verstr (const char *tdsver, TDSLOGIN *login) |
Set TDS version from given string. More... | |
│ │ │ │ +int | tds_connect_and_login (TDSSOCKET *tds, TDSLOGIN *login) |
│ │ │ │ +void | tds_connection_close (TDSCONNECTION *conn) |
│ │ │ │ +int | tds_connection_read (TDSSOCKET *tds, unsigned char *buf, int buflen) |
│ │ │ │ +int | tds_connection_write (TDSSOCKET *tds, const unsigned char *buf, int buflen, int final) |
const char * | tds_convert_string (TDSSOCKET *tds, TDSICONV *char_conv, const char *s, int len, size_t *out_len) |
Convert a string in an allocated buffer. More... | |
│ │ │ │ +void | tds_convert_string_free (const char *original, const char *converted) |
int | tds_count_placeholders (const char *query) |
Count the number of placeholders ('?') in a query. More... | |
│ │ │ │ +TDSRET | tds_cursor_close (TDSSOCKET *tds, TDSCURSOR *cursor) |
│ │ │ │ +TDSRET | tds_cursor_dealloc (TDSSOCKET *tds, TDSCURSOR *cursor) |
Send a deallocation request to server. | |
│ │ │ │ +void | tds_cursor_deallocated (TDSCONNECTION *conn, TDSCURSOR *cursor) |
│ │ │ │ +TDSRET | tds_cursor_declare (TDSSOCKET *tds, TDSCURSOR *cursor, TDSPARAMINFO *params, int *send) |
│ │ │ │ +TDSRET | tds_cursor_fetch (TDSSOCKET *tds, TDSCURSOR *cursor, TDS_CURSOR_FETCH fetch_type, TDS_INT i_row) |
│ │ │ │ +TDSRET | tds_cursor_get_cursor_info (TDSSOCKET *tds, TDSCURSOR *cursor, TDS_UINT *row_number, TDS_UINT *row_count) |
│ │ │ │ +TDSRET | tds_cursor_open (TDSSOCKET *tds, TDSCURSOR *cursor, TDSPARAMINFO *params, int *send) |
│ │ │ │ +TDSRET | tds_cursor_setname (TDSSOCKET *tds, TDSCURSOR *cursor) |
│ │ │ │ +TDSRET | tds_cursor_setrows (TDSSOCKET *tds, TDSCURSOR *cursor, int *send) |
│ │ │ │ +TDSRET | tds_cursor_update (TDSSOCKET *tds, TDSCURSOR *cursor, TDS_CURSOR_OPERATION op, TDS_INT i_row, TDSPARAMINFO *params) |
TDSRET | tds_datecrack (TDS_INT datetype, const void *di, TDSDATEREC *dr) |
Convert from db date format to a structured date format. More... | |
TDSRET | tds_deferred_cursor_dealloc (TDSCONNECTION *conn, TDSCURSOR *cursor) |
Deallocate cursor on idle. More... | |
TDSRET | tds_deferred_unprepare (TDSCONNECTION *conn, TDSDYNAMIC *dyn) |
Unprepare dynamic on idle. More... | |
│ │ │ │ +void | tds_deinit_bcpinfo (TDSBCPINFO *bcpinfo) |
│ │ │ │ +void | tds_detach_results (TDSRESULTINFO *info) |
Detach result info from it current socket. | |
│ │ │ │ +TDSRET | tds_disconnect (TDSSOCKET *tds) |
DSTR * | tds_dstr_get (TDSSOCKET *tds, DSTR *s, size_t len) |
Reads a string from wire and put in a DSTR. More... | |
│ │ │ │ +void | tds_dynamic_deallocated (TDSCONNECTION *conn, TDSDYNAMIC *dyn) |
│ │ │ │ +size_t | tds_fix_column_size (TDSSOCKET *tds, TDSCOLUMN *curcol) |
Get column size for wire. | |
void | tds_fix_login (TDSLOGIN *login) |
Fix configuration after reading it. More... | |
TDSRET | tds_flush_packet (TDSSOCKET *tds) |
Flush packet to server. More... | |
│ │ │ │ +void | tds_free_all_results (TDSSOCKET *tds) |
│ │ │ │ +void | tds_free_bcp_column_data (BCPCOLDATA *coldata) |
│ │ │ │ +void | tds_free_bcpinfo (TDSBCPINFO *bcpinfo) |
│ │ │ │ +void | tds_free_context (TDSCONTEXT *locale) |
void | tds_free_input_params (TDSDYNAMIC *dyn) |
Frees all allocated input parameters of a dynamic statement. More... | |
│ │ │ │ +void | tds_free_locale (TDSLOCALE *locale) |
│ │ │ │ +void | tds_free_login (TDSLOGIN *login) |
│ │ │ │ +void | tds_free_msg (TDSMESSAGE *message) |
│ │ │ │ +void | tds_free_packets (TDSPACKET *packet) |
│ │ │ │ +void | tds_free_param_result (TDSPARAMINFO *param_info) |
Delete latest parameter. | |
│ │ │ │ +void | tds_free_param_results (TDSPARAMINFO *param_info) |
│ │ │ │ +void | tds_free_results (TDSRESULTINFO *res_info) |
│ │ │ │ +void | tds_free_row (TDSRESULTINFO *res_info, unsigned char *row) |
│ │ │ │ +void | tds_free_socket (TDSSOCKET *tds) |
void | tds_freeze (TDSSOCKET *tds, TDSFREEZE *freeze, unsigned size_len) |
Stop writing to server and cache every packet not sending them to server. More... | |
TDSRET | tds_freeze_abort (TDSFREEZE *freeze) |
Discard all data written after the freeze. More... | |
TDSRET | tds_freeze_close (TDSFREEZE *freeze) |
Stop keeping data for this specific freeze. More... | |
TDSRET | tds_freeze_close_len (TDSFREEZE *freeze, int32_t size) |
Stop keeping data for this specific freeze. More... | |
size_t | tds_freeze_written (TDSFREEZE *freeze) |
Compute how many bytes has been written from freeze. More... | |
unsigned char | tds_get_byte (TDSSOCKET *tds) |
Return a single byte from the input buffer. More... | |
│ │ │ │ +TDS_SERVER_TYPE | tds_get_cardinal_type (TDS_SERVER_TYPE datatype, int usertype) |
TDSRET | tds_get_char_data (TDSSOCKET *tds, char *dest, size_t wire_size, TDSCOLUMN *curcol) |
Fetch character data the wire. More... | |
TDSRET | tds_get_column_declaration (TDSSOCKET *tds, TDSCOLUMN *curcol, char *out) |
Return declaration for column (like "varchar(20)"). More... | |
const TDS_COMPILETIME_SETTINGS * | tds_get_compiletime_settings (void) |
Return a structure capturing the compile-time settings provided to the configure script. More... | |
TDS_SERVER_TYPE | tds_get_conversion_type (TDS_SERVER_TYPE srctype, int colsize) |
Return type suitable for conversions (convert all nullable types to fixed type) More... | |
char * | tds_get_home_file (const char *file) |
Return filename from HOME directory. More... | |
TDSLOCALE * | tds_get_locale (void) |
Get locale information. More... | |
bool | tds_get_n (TDSSOCKET *tds, void *dest, size_t n) |
Get N bytes from the buffer and return them in the already allocated space │ │ │ │ + given to us. More... | |
│ │ │ │ +int | tds_get_size_by_type (TDS_SERVER_TYPE servertype) |
Return the number of bytes needed by specified type. | |
size_t | tds_get_string (TDSSOCKET *tds, size_t string_len, char *dest, size_t dest_size) |
Fetch a string from the wire. More... | |
int | tds_get_token_size (int marker) |
tds_get_token_size() returns the size of a fixed length token used by tds_process_cancel() to determine how to read past a token More... | |
TDS_UINT | tds_get_uint (TDSSOCKET *tds) |
Get an int32 from the server. More... | |
TDS_UINT8 | tds_get_uint8 (TDSSOCKET *tds) |
Get an uint64 from the server. More... | |
│ │ │ │ +TDS_USMALLINT | tds_get_usmallint (TDSSOCKET *tds) |
Get an int16 from the server. | |
│ │ │ │ +int | tds_get_varint_size (TDSCONNECTION *conn, int datatype) |
tds_get_varint_size() returns the size of a variable length integer returned in a result string | |
│ │ │ │ +void | tds_getmac (TDS_SYS_SOCKET s, unsigned char mac[6]) |
│ │ │ │ +unsigned int | tds_gettime_ms (void) |
│ │ │ │ +int | tds_goodread (TDSSOCKET *tds, unsigned char *buf, int buflen) |
Loops until we have received some characters return -1 on failure. | |
int | tds_goodwrite (TDSSOCKET *tds, const unsigned char *buffer, size_t buflen) |
│ │ │ │ +TDSAUTHENTICATION * | tds_gss_get_auth (TDSSOCKET *tds) |
int | tds_iconv_alloc (TDSCONNECTION *conn) |
Allocate iconv stuff. More... | |
│ │ │ │ +void | tds_iconv_close (TDSCONNECTION *conn) |
│ │ │ │ +void | tds_iconv_free (TDSCONNECTION *conn) |
│ │ │ │ +TDSICONV * | tds_iconv_from_collate (TDSCONNECTION *conn, TDS_UCHAR collate[5]) |
Get iconv information from a LCID (to support different column encoding under MSSQL2K) | |
│ │ │ │ +TDSRET | tds_iconv_open (TDSCONNECTION *conn, const char *charset, int use_utf16) |
TDSLOGIN * | tds_init_login (TDSLOGIN *login, TDSLOCALE *locale) |
Initialize login structure with locale information and other stuff for connection. More... | |
│ │ │ │ +int | tds_init_write_buf (TDSSOCKET *tds) |
TDSDYNAMIC * | tds_lookup_dynamic (TDSCONNECTION *conn, const char *id) |
Finds a dynamic given string id. More... | |
struct addrinfo * | tds_lookup_host (const char *servername) |
Get the IP address for a hostname. More... | |
│ │ │ │ +TDSRET | tds_lookup_host_set (const char *servername, struct addrinfo **addr) |
│ │ │ │ +char * | tds_money_to_string (const TDS_MONEY *money, char *s, bool use_2_digits) |
│ │ │ │ +TDSRET | tds_multiple_done (TDSSOCKET *tds, TDSMULTIPLE *multiple) |
│ │ │ │ +TDSRET | tds_multiple_execute (TDSSOCKET *tds, TDSMULTIPLE *multiple, TDSDYNAMIC *dyn) |
│ │ │ │ +TDSRET | tds_multiple_init (TDSSOCKET *tds, TDSMULTIPLE *multiple, TDS_MULTIPLE_TYPE type, TDSHEADERS *head) |
│ │ │ │ +TDSRET | tds_multiple_query (TDSSOCKET *tds, TDSMULTIPLE *multiple, const char *query, TDSPARAMINFO *params) |
int | tds_needs_unprepare (TDSCONNECTION *conn, TDSDYNAMIC *dyn) |
Check if dynamic request must be unprepared. More... | |
const char * | tds_next_placeholder (const char *start) |
Get position of next placeholder. More... | |
TDSAUTHENTICATION * | tds_ntlm_get_auth (TDSSOCKET *tds) |
Build a NTLMSPP packet to send to server. More... | |
│ │ │ │ +TDS_INT | tds_numeric_change_prec_scale (TDS_NUMERIC *numeric, unsigned char new_prec, unsigned char new_scale) |
TDS_INT | tds_numeric_to_string (const TDS_NUMERIC *numeric, char *s) |
│ │ │ │ +TDSERRNO | tds_open_socket (TDSSOCKET *tds, struct addrinfo *ipaddr, unsigned int port, int timeout, int *p_oserr) |
│ │ │ │ +int | tds_parse_boolean (const char *value, int default_value) |
│ │ │ │ +void | tds_parse_conf_section (const char *option, const char *value, void *param) |
unsigned char | tds_peek (TDSSOCKET *tds) |
Reads a byte from the TDS stream without removing it. More... | |
TDSRET | tds_process_cancel (TDSSOCKET *tds) |
TDSRET | tds_process_login_tokens (TDSSOCKET *tds) |
tds_process_login_tokens() is called after sending the login packet to the server. More... | |
TDSRET | tds_process_simple_query (TDSSOCKET *tds) |
Process results for simple query as "SET TEXTSIZE" or "USE dbname" If the statement returns results, beware they are discarded. More... | |
TDSRET | tds_process_tokens (TDSSOCKET *tds, TDS_INT *result_type, int *done_flags, unsigned flag) |
process all streams. More... | |
const char * | tds_prtype (int token) |
Returns string representation of the given type. More... | |
│ │ │ │ +char * | tds_prwsaerror (int erc) |
│ │ │ │ +void | tds_prwsaerror_free (char *s) |
│ │ │ │ +int | tds_put_buf (TDSSOCKET *tds, const unsigned char *buf, int dsize, int ssize) |
│ │ │ │ +int | tds_put_byte (TDSSOCKET *tds, unsigned char c) |
│ │ │ │ +int | tds_put_cancel (TDSSOCKET *tds) |
│ │ │ │ +int | tds_put_int (TDSSOCKET *tds, TDS_INT i) |
│ │ │ │ +int | tds_put_int8 (TDSSOCKET *tds, TDS_INT8 i) |
│ │ │ │ +int | tds_put_n (TDSSOCKET *tds, const void *buf, size_t n) |
│ │ │ │ +int | tds_put_smallint (TDSSOCKET *tds, TDS_SMALLINT si) |
int | tds_put_string (TDSSOCKET *tds, const char *buf, int len) |
Output a string to wire automatic translate string to unicode if needed. More... | |
size_t | tds_quote_id (TDSSOCKET *tds, char *buffer, const char *id, int idlen) |
Quote an id. More... | |
size_t | tds_quote_id_rpc (TDSSOCKET *tds, char *buffer, const char *id, int idlen) |
Quote an id for a RPC call. More... | |
size_t | tds_quote_string (TDSSOCKET *tds, char *buffer, const char *str, int len) |
Quote a string. More... | |
│ │ │ │ +void | tds_random_buffer (unsigned char *out, int len) |
bool | tds_read_conf_file (TDSLOGIN *login, const char *server) |
Read configuration info for given server return 0 on error. More... | |
bool | tds_read_conf_section (FILE *in, const char *section, TDSCONFPARSE tds_conf_parse, void *parse_param) |
Read a section of configuration file (INI style file) More... | |
TDSLOGIN * | tds_read_config_info (TDSSOCKET *tds, TDSLOGIN *login, TDSLOCALE *locale) |
tds_read_config_info() will fill the tds connection structure based on configuration information gathered in the following order: 1) Program specified in TDSLOGIN structure 2) The environment variables TDSVER, TDSDUMP, TDSPORT, TDSQUERY, TDSHOST 3) A config file with the following search order: a) a readable file specified by environment variable FREETDSCONF b) a readable file in ~/.freetds.conf c) a readable file in $prefix/etc/freetds.conf 3) ~/.interfaces if exists 4) $SYBASE/interfaces if exists 5) TDS_DEF_* default values More... | |
int | tds_read_packet (TDSSOCKET *tds) |
Read in one 'packet' from the server. More... | |
void * | tds_realloc (void **pp, size_t new_size) |
Reallocate a pointer and update it if success. More... | |
│ │ │ │ +TDSPACKET * | tds_realloc_packet (TDSPACKET *packet, unsigned len) |
│ │ │ │ +TDSSOCKET * | tds_realloc_socket (TDSSOCKET *tds, size_t bufsize) |
│ │ │ │ +static void | tds_release_cur_dyn (TDSSOCKET *tds) |
│ │ │ │ +void | tds_release_cursor (TDSCURSOR **pcursor) |
void | tds_release_dynamic (TDSDYNAMIC **dyn) |
Frees dynamic statement. More... | |
int | tds_select (TDSSOCKET *tds, unsigned tds_sel, int timeout_seconds) |
Select on a socket until it's available or the timeout expires. More... | |
TDSRET | tds_send_cancel (TDSSOCKET *tds) |
tds_send_cancel() sends an empty packet (8 byte header only) tds_process_cancel should be called directly after this. More... | |
│ │ │ │ +bool | tds_set_app (TDSLOGIN *tds_login, const char *application) TDS_WUR |
│ │ │ │ +void | tds_set_bulk (TDSLOGIN *tds_login, bool enabled) |
│ │ │ │ +bool | tds_set_client_charset (TDSLOGIN *tds_login, const char *charset) TDS_WUR |
void | tds_set_column_type (TDSCONNECTION *conn, TDSCOLUMN *curcol, TDS_SERVER_TYPE type) |
Set type of column initializing all dependency. More... | |
void | tds_set_cur_dyn (TDSSOCKET *tds, TDSDYNAMIC *dyn) |
Set current dynamic. More... | |
│ │ │ │ +void | tds_set_current_results (TDSSOCKET *tds, TDSRESULTINFO *info) |
│ │ │ │ +static void | tds_set_current_send_packet (TDSSOCKET *tds, TDSPACKET *pkt) |
│ │ │ │ +bool | tds_set_host (TDSLOGIN *tds_login, const char *hostname) TDS_WUR |
TDSRET | tds_set_interfaces_file_loc (const char *interfloc) |
Set the full name of interface file. More... | |
│ │ │ │ +bool | tds_set_language (TDSLOGIN *tds_login, const char *language) TDS_WUR |
│ │ │ │ +bool | tds_set_library (TDSLOGIN *tds_login, const char *library) TDS_WUR |
│ │ │ │ +void | tds_set_packet (TDSLOGIN *tds_login, int packet_size) |
void | tds_set_param_type (TDSCONNECTION *conn, TDSCOLUMN *curcol, TDS_SERVER_TYPE type) |
Set type of column initializing all dependency. More... | |
│ │ │ │ +bool | tds_set_passwd (TDSLOGIN *tds_login, const char *password) TDS_WUR |
│ │ │ │ +void | tds_set_port (TDSLOGIN *tds_login, int port) |
bool | tds_set_server (TDSLOGIN *tds_login, const char *server) TDS_WUR |
Set the servername in a TDSLOGIN structure. More... | |
TDS_STATE | tds_set_state (TDSSOCKET *tds, TDS_STATE state) |
Set state of TDS connection, with logging and checking. More... | |
│ │ │ │ +bool | tds_set_user (TDSLOGIN *tds_login, const char *username) TDS_WUR |
│ │ │ │ +void | tds_set_version (TDSLOGIN *tds_login, TDS_TINYINT major_ver, TDS_TINYINT minor_ver) |
const char * | tds_skip_comment (const char *s) |
Skip a comment in a query. More... | |
const char * | tds_skip_quoted (const char *s) |
Skip quoting string (like 'sfsf', "dflkdj" or [dfkjd]) More... | |
│ │ │ │ +void | tds_socket_flush (TDS_SYS_SOCKET sock) |
int | tds_socket_set_nonblocking (TDS_SYS_SOCKET sock) |
Set socket to non-blocking. More... | |
│ │ │ │ +void | tds_srv_charset_changed (TDSCONNECTION *conn, const char *charset) |
void | tds_start_query (TDSSOCKET *tds, unsigned char packet_type) |
Start query packet of a given type. More... | |
char * | tds_strndup (const void *s, TDS_INTPTR len) |
Copy a string of length len to a new allocated buffer This function does not read more than len bytes Please note that some system implementation of strndup do not assure they don't read past len bytes as they use still strlen to check length to copy limiting after strlen to size passed String returned is NUL terminated. More... | |
TDSRET | tds_submit_begin_tran (TDSSOCKET *tds) |
Send a rollback request. More... | |
TDSRET | tds_submit_commit (TDSSOCKET *tds, int cont) |
Send a commit request. More... | |
TDSRET | tds_submit_execdirect (TDSSOCKET *tds, const char *query, TDSPARAMINFO *params, TDSHEADERS *head) |
Submit a prepared query with parameters. More... | |
TDSRET | tds_submit_execute (TDSSOCKET *tds, TDSDYNAMIC *dyn) |
Sends a previously prepared dynamic statement to the server. More... | |
TDSRET | tds_submit_optioncmd (TDSSOCKET *tds, TDS_OPTION_CMD command, TDS_OPTION option, TDS_OPTION_ARG *param, TDS_INT param_size) |
Send option commands to server. More... | |
TDSRET | tds_submit_prepare (TDSSOCKET *tds, const char *query, const char *id, TDSDYNAMIC **dyn_out, TDSPARAMINFO *params) |
Creates a temporary stored procedure in the server. More... | |
TDSRET | tds_submit_query (TDSSOCKET *tds, const char *query) |
Sends a language string to the database server for processing. More... | |
TDSRET | tds_submit_query_params (TDSSOCKET *tds, const char *query, TDSPARAMINFO *params, TDSHEADERS *head) |
Sends a language string to the database server for processing. More... | |
TDSRET | tds_submit_queryf (TDSSOCKET *tds, const char *queryf,...) |
Format and submit a query. More... | |
TDSRET | tds_submit_rollback (TDSSOCKET *tds, int cont) |
Send a rollback request. More... | |
TDSRET | tds_submit_rpc (TDSSOCKET *tds, const char *rpc_name, TDSPARAMINFO *params, TDSHEADERS *head) |
Calls a RPC from server. More... | |
TDSRET | tds_submit_unprepare (TDSSOCKET *tds, TDSDYNAMIC *dyn) |
Send a unprepare request for a prepared query. More... | |
│ │ │ │ +void | tds_swap_bytes (void *buf, int bytes) |
void | tds_unget_byte (TDSSOCKET *tds) |
Unget will always work as long as you don't call it twice in a row. More... | |
│ │ │ │ +TDSRET | tds_vstrbuild (char *buffer, int buflen, int *resultlen, const char *text, int textlen, const char *formats, int formatlen, va_list ap) |
│ │ │ │ +void | tds_wakeup_close (TDSPOLLWAKEUP *wakeup) |
│ │ │ │ +static TDS_SYS_SOCKET | tds_wakeup_get_fd (const TDSPOLLWAKEUP *wakeup) |
│ │ │ │ +int | tds_wakeup_init (TDSPOLLWAKEUP *wakeup) |
│ │ │ │ +void | tds_wakeup_send (TDSPOLLWAKEUP *wakeup, char cancel) |
│ │ │ │ +TDSRET | tds_write_packet (TDSSOCKET *tds, unsigned char final) |
TDSRET | tds_writetext_continue (TDSSOCKET *tds, const TDS_UCHAR *text, TDS_UINT size) |
Send some data in the writetext request started by tds_writetext_start. More... | |
TDSRET | tds_writetext_end (TDSSOCKET *tds) |
Finish sending writetext data. More... | |
TDSRET | tds_writetext_start (TDSSOCKET *tds, const char *objname, const char *textptr, const char *timestamp, int with_log, TDS_UINT size) |
Start writing writetext request. More... | |
│ │ │ │ +void | tdsdump_close (void) |
Close the TDS dump log file. | |
void | tdsdump_col (const TDSCOLUMN *col) |
Write a column value to the debug log. More... | |
void | tdsdump_dump_buf (const char *file, unsigned int level_line, const char *msg, const void *buf, size_t length) |
Dump the contents of data into the log file in a human readable format. More... | |
│ │ │ │ +int | tdsdump_isopen (void) |
void | tdsdump_log (const char *file, unsigned int level_line, const char *fmt,...) |
Write a message to the debug log. More... | |
void | tdsdump_off (TDSDUMP_OFF_ITEM *off_item) |
Temporarily turn off logging for current thread. More... | |
void | tdsdump_on (TDSDUMP_OFF_ITEM *off_item) |
Turn logging back on for current thread. More... | |
int | tdsdump_open (const char *filename) |
Create and truncate a human readable dump file for the TDS traffic. More... | |
int | tdserror (const TDSCONTEXT *tds_ctx, TDSSOCKET *tds, int msgno, int errnum) |
Call the client library's error handler (for library-generated errors only) More... | |
│ │ │ │ +Variables | |
│ │ │ │ +const char | STD_DATETIME_FMT [] |
│ │ │ │ +int | tds_debug_flags |
│ │ │ │ +int | tds_g_append_mode |
│ │ │ │ +const char | tds_hex_digits [] |
const int | tds_numeric_bytes_per_prec [] |
The following little table is indexed by precision and will tell us the number of bytes required to store the specified precision. More... | |
│ │ │ │ +const uint16_t | tds_type_flags_ms [256] |
│ │ │ │ +int | tds_write_dump |
Tell if TDS debug logging is turned on or off. | |
Primary include file for db-lib applications.
│ │ │ │ -Declares macros, functions, enumerated types, and defined tokens used by the db-lib API.
│ │ │ │ +Main include file for libtds.
│ │ │ │#define DBTDS_UNKNOWN 0 | │ │ │ │ +#define TDS_BYTE_SWAP16 | │ │ │ │ +( | │ │ │ │ +│ │ │ │ + | value | ) | │ │ │ │ +│ │ │ │ |
DBTDS_xxx are returned by DBTDS() The integer values of the constants are poorly chosen.
│ │ │ │ -
│ │ │ │ -
#define TDS_BYTE_SWAP32 | │ │ │ │ +( | │ │ │ │ +│ │ │ │ + | value | ) | │ │ │ │ +│ │ │ │ + |
#define TDS_IS_MSSQL | │ │ │ │ +( | │ │ │ │ +│ │ │ │ + | x | ) | │ │ │ │ +(((x)->conn->product_version & 0x80000000u)!=0) | │ │ │ │ +
Check if product is Microsft SQL Server.
│ │ │ │ +x should be a TDSSOCKET*.
│ │ │ │ │ │ │ │RETCODE dbcolinfo | │ │ │ │ +#define TDS_IS_SYBASE | │ │ │ │( | │ │ │ │ -DBPROCESS * | │ │ │ │ -dbproc, | │ │ │ │ +│ │ │ │ + | x | ) | │ │ │ │ +(!((x)->conn->product_version & 0x80000000u)) | │ │ │ │ +
Check if product is Sybase (such as Adaptive Server Enterrprice).
│ │ │ │ +x should be a TDSSOCKET*.
│ │ │ │ + │ │ │ │ +#define TDS_MS_VER | │ │ │ │ +( | │ │ │ │ +│ │ │ │ + | maj, | │ │ │ │||
│ │ │ │ | │ │ │ │ - | CI_TYPE | │ │ │ │ -type, | │ │ │ │ +│ │ │ │ + | min, | │ │ │ │
│ │ │ │ | │ │ │ │ - | DBINT | │ │ │ │ -column, | │ │ │ │ +│ │ │ │ + | x | │ │ │ │ +
│ │ │ │ + | ) | │ │ │ │ +(0x80000000u|((maj)<<24)|((min)<<16)|(x)) | │ │ │ │ +
Calc a version number for mssql.
│ │ │ │ +Use with TDS_MS_VER(7,0,842). For test for a range of version you can use check like if (tds->product_version >= TDS_MS_VER(7,0,0) && tds->product_version < TDS_MS_VER(8,0,0))
│ │ │ │ + │ │ │ │ +#define TDS_START_LEN_GENERIC | │ │ │ │ +( | │ │ │ │ +│ │ │ │ + | tds_socket, | │ │ │ │||
│ │ │ │ | │ │ │ │ - | DBINT | │ │ │ │ -computeid, | │ │ │ │ +│ │ │ │ + | len | │ │ │ │ +
│ │ │ │ + | ) | │ │ │ │ +│ │ │ │ + |
typedef struct tds_compiletime_settings TDS_COMPILETIME_SETTINGS | │ │ │ │ +
A structure to hold all the compile-time settings.
│ │ │ │ +This structure is returned by tds_get_compiletime_settings
│ │ │ │ + │ │ │ │ +typedef struct tds_encoding TDS_ENCODING | │ │ │ │ +
Information relevant to libiconv.
│ │ │ │ +The name is an iconv name, not the same as found in master..syslanguages.
│ │ │ │ + │ │ │ │ +Information about blobs (e.g.
│ │ │ │ +text or image). current_row contains this structure.
│ │ │ │ + │ │ │ │ +enum tds_end | │ │ │ │ +
Flags returned in TDS_DONE token.
│ │ │ │ +enum tds_states | │ │ │ │ +
values for tds->state
│ │ │ │ +TDSRET tds_bcp_done | │ │ │ │ +( | │ │ │ │ +TDSSOCKET * | │ │ │ │ +tds, | │ │ │ │||
│ │ │ │ | │ │ │ │ - | DBCOL * | │ │ │ │ -pdbcol | │ │ │ │ +int * | │ │ │ │ +rows_copied | │ │ │ │
│ │ │ │ | ) | │ │ │ ││ │ │ │ |
Get a bunch of column attributes with a single call (Microsoft-compatibility feature).
│ │ │ │ -
│ │ │ │ -
Tell we finished sending BCP data to server.
│ │ │ │dbproc | contains all information needed by db-lib to manage communications with the server. | |
type | must be CI_REGULAR or CI_ALTERNATE (CI_CURSOR is defined by the vendor, but is not yet implemented). | |
column | Nth in the result set, starting from 1. | |
computeid | (ignored) | |
pdbcol | address of structure to be populated by this function. │ │ │ │ - | |
tds | A pointer to the TDSSOCKET structure managing a client/server operation. | |
[out] | rows_copied | number of rows copied to server |
DBPROCESS * dbopen | │ │ │ │ +TDSRET tds_bcp_fread | │ │ │ │( | │ │ │ │ -LOGINREC * | │ │ │ │ -login, | │ │ │ │ +TDSSOCKET * | │ │ │ │ +tds, | │ │ │ │ +
│ │ │ │ + | │ │ │ │ + | TDSICONV * | │ │ │ │ +char_conv, | │ │ │ │ +|||
│ │ │ │ + | │ │ │ │ + | FILE * | │ │ │ │ +stream, | │ │ │ │|||
│ │ │ │ | │ │ │ │ | const char * | │ │ │ │ -server | │ │ │ │ +terminator, | │ │ │ │ +||
│ │ │ │ + | │ │ │ │ + | size_t | │ │ │ │ +term_len, | │ │ │ │ +|||
│ │ │ │ + | │ │ │ │ + | char ** | │ │ │ │ +outbuf, | │ │ │ │ +|||
│ │ │ │ + | │ │ │ │ + | size_t * | │ │ │ │ +outbytes | │ │ │ │|||
│ │ │ │ | ) | │ │ │ ││ │ │ │ |
Normally not used.
│ │ │ │ -The function is linked in only if the –enable-sybase-compat configure option is used.
│ │ │ │ - Cf. sybdb.h dbopen() macros, and dbdatecrack().
Read a data file, passing the data through iconv().
│ │ │ │ +TDS_SUCCESS | success |
TDS_FAIL | error reading the column |
TDS_NO_MORE_RESULTS | end of file detected |
RETCODE dbpivot | │ │ │ │ +TDSRET tds_bcp_init | │ │ │ │( | │ │ │ │ -DBPROCESS * | │ │ │ │ -dbproc, | │ │ │ │ +TDSSOCKET * | │ │ │ │ +tds, | │ │ │ │
│ │ │ │ | │ │ │ │ - | int | │ │ │ │ -nkeys, | │ │ │ │ +TDSBCPINFO * | │ │ │ │ +bcpinfo | │ │ │ │ +|
│ │ │ │ + | ) | │ │ │ │ +│ │ │ │ + |
Initialize BCP information.
│ │ │ │ +Query structure of the table to server.
tds | A pointer to the TDSSOCKET structure managing a client/server operation. |
bcpinfo | BCP information to initialize. Structure should be allocate and table name and direction should be already set. |
TDSRET tds_bcp_send_record | │ │ │ │ +( | │ │ │ │ +TDSSOCKET * | │ │ │ │ +tds, | │ │ │ │||
│ │ │ │ | │ │ │ │ - | int * | │ │ │ │ -keys, | │ │ │ │ +TDSBCPINFO * | │ │ │ │ +bcpinfo, | │ │ │ │ +
│ │ │ │ + | │ │ │ │ + | tds_bcp_get_col_data | │ │ │ │ +get_col_data, | │ │ │ │ +||
│ │ │ │ + | │ │ │ │ + | tds_bcp_null_error | │ │ │ │ +null_error, | │ │ │ │||
│ │ │ │ | │ │ │ │ | int | │ │ │ │ -ncols, | │ │ │ │ +offset | │ │ │ │ +|
│ │ │ │ + | ) | │ │ │ │ +│ │ │ │ + |
Send one row of data to server.
│ │ │ │ +tds | A pointer to the TDSSOCKET structure managing a client/server operation. |
bcpinfo | BCP information |
get_col_data | function to call to retrieve data to be sent |
ignored | function to call if we try to send NULL if not allowed (not used) |
offset | passed to get_col_data and null_error to specify the row to get |
TDSRET tds_bcp_start | │ │ │ │ +( | │ │ │ │ +TDSSOCKET * | │ │ │ │ +tds, | │ │ │ │||
│ │ │ │ | │ │ │ │ - | int * | │ │ │ │ -cols, | │ │ │ │ +TDSBCPINFO * | │ │ │ │ +bcpinfo | │ │ │ │ +
│ │ │ │ + | ) | │ │ │ │ +│ │ │ │ + |
Start sending BCP data to server.
│ │ │ │ +Initialize stream to accept data.
tds | A pointer to the TDSSOCKET structure managing a client/server operation. |
bcpinfo | BCP information already prepared |
TDSRET tds_bcp_start_copy_in | │ │ │ │ +( | │ │ │ │ +TDSSOCKET * | │ │ │ │ +tds, | │ │ │ │||
│ │ │ │ | │ │ │ │ - | DBPIVOT_FUNC | │ │ │ │ -func, | │ │ │ │ +TDSBCPINFO * | │ │ │ │ +bcpinfo | │ │ │ │ +
│ │ │ │ + | ) | │ │ │ │ +│ │ │ │ + |
Start bulk copy to server.
│ │ │ │ +tds | A pointer to the TDSSOCKET structure managing a client/server operation. |
bcpinfo | BCP information already prepared |
TDS_SERVER_TYPE tds_get_conversion_type | │ │ │ │ +( | │ │ │ │ +TDS_SERVER_TYPE | │ │ │ │ +srctype, | │ │ │ │|
│ │ │ │ | │ │ │ │ | int | │ │ │ │ -val | │ │ │ │ +colsize | │ │ │ │ +
│ │ │ │ + | ) | │ │ │ │ +│ │ │ │ + |
Return type suitable for conversions (convert all nullable types to fixed type)
│ │ │ │ +srctype | type to convert |
colsize | size of type |
TDSLOCALE * tds_get_locale | │ │ │ │ +( | │ │ │ │ +void | │ │ │ │ +) | │ │ │ │ +│ │ │ │ + |
Get locale information.
│ │ │ │ +int tds_iconv_alloc | │ │ │ │ +( | │ │ │ │ +TDSCONNECTION * | │ │ │ │ +conn | ) | │ │ │ │ +│ │ │ │ + |
Allocate iconv stuff.
│ │ │ │ +TDS_INT tds_numeric_to_string | │ │ │ │ +( | │ │ │ │ +const TDS_NUMERIC * | │ │ │ │ +numeric, | │ │ │ │ +
│ │ │ │ + | │ │ │ │ + | char * | │ │ │ │ +s | │ │ │ │ +
│ │ │ │ + | ) | │ │ │ │ +│ │ │ │ + |
void tds_set_column_type | │ │ │ │ +( | │ │ │ │ +TDSCONNECTION * | │ │ │ │ +conn, | │ │ │ │ +
│ │ │ │ + | │ │ │ │ + | TDSCOLUMN * | │ │ │ │ +curcol, | │ │ │ │ +
│ │ │ │ + | │ │ │ │ + | TDS_SERVER_TYPE | │ │ │ │ +type | │ │ │ │ +
│ │ │ │ + | ) | │ │ │ │ +│ │ │ │ + |
Set type of column initializing all dependency.
│ │ │ │ +column_usertype should already be set.
curcol | column to set |
type | type to set |
void tds_set_param_type | │ │ │ │ +( | │ │ │ │ +TDSCONNECTION * | │ │ │ │ +conn, | │ │ │ │ +
│ │ │ │ + | │ │ │ │ + | TDSCOLUMN * | │ │ │ │ +curcol, | │ │ │ │ +
│ │ │ │ + | │ │ │ │ + | TDS_SERVER_TYPE | │ │ │ │ +type | │ │ │ │
│ │ │ │ | ) | │ │ │ ││ │ │ │ |
Pivot the rows, creating a new resultset.
│ │ │ │ -Call dbpivot() immediately after dbresults(). It calls dbnextrow() as long as it returns REG_ROW, transforming the results into a cross-tab report.
│ │ │ │ - dbpivot() modifies the metadata such that DB-Library can be used tranparently: retrieve the rows as usual with dbnumcols(), dbnextrow(), etc.
@dbproc, our old friend @nkeys the number of left-edge columns to group by @keys an array of left-edge columns to group by @ncols the number of top-edge columns to group by @cols an array of top-edge columns to group by @func the aggregation function to use @val the number of the column to which @func is applied
│ │ │ │ -Set type of column initializing all dependency.
│ │ │ │ +tds | state information for the socket and the TDS protocol |
curcol | column to set |
type | type to set |
bool tds_set_server | │ │ │ │ +( | │ │ │ │ +TDSLOGIN * | │ │ │ │ +tds_login, | │ │ │ │ +
│ │ │ │ + | │ │ │ │ + | const char * | │ │ │ │ +server | │ │ │ │ +
│ │ │ │ + | ) | │ │ │ │ +│ │ │ │ + |
Set the servername in a TDSLOGIN structure.
│ │ │ │ +Normally copies server into tds_login. If server does not point to a plausible name, the environment variables TDSQUERY and DSQUERY are used, in that order. If they don't exist, the "default default" servername is "SYBASE" (although the utility of that choice is a bit murky).
│ │ │ │ +
tds_login | points to a TDSLOGIN structure |
server | the servername, or NULL, or a zero-length string |
TDS_STATE tds_set_state | │ │ │ │ +( | │ │ │ │ +TDSSOCKET * | │ │ │ │ +tds, | │ │ │ │ +
│ │ │ │ + | │ │ │ │ + | TDS_STATE | │ │ │ │ +state | │ │ │ │ +
│ │ │ │ + | ) | │ │ │ │ +│ │ │ │ + |
Set state of TDS connection, with logging and checking.
│ │ │ │ +tds | state information for the socket and the TDS protocol |
state | the new state of the connection, cf. TDS_STATE. |
char * tds_strndup | │ │ │ │ +( | │ │ │ │ +const void * | │ │ │ │ +s, | │ │ │ │ +
│ │ │ │ + | │ │ │ │ + | TDS_INTPTR | │ │ │ │ +len | │ │ │ │ +
│ │ │ │ + | ) | │ │ │ │ +│ │ │ │ + |
Copy a string of length len to a new allocated buffer This function does not read more than len bytes Please note that some system implementation of strndup do not assure they don't read past len bytes as they use still strlen to check length to copy limiting after strlen to size passed String returned is NUL terminated.
│ │ │ │ +s | string to copy from |
len | length to copy |
TDSRET tds_writetext_continue | │ │ │ │ +( | │ │ │ │ +TDSSOCKET * | │ │ │ │ +tds, | │ │ │ │ +
│ │ │ │ + | │ │ │ │ + | const TDS_UCHAR * | │ │ │ │ +text, | │ │ │ │ +
│ │ │ │ + | │ │ │ │ + | TDS_UINT | │ │ │ │ +size | │ │ │ │ +
│ │ │ │ + | ) | │ │ │ │ +│ │ │ │ + |
Send some data in the writetext request started by tds_writetext_start.
│ │ │ │ +You should write in total (with multiple calls to this function) all bytes declared calling tds_writetext_start.
tds | A pointer to the TDSSOCKET structure managing a client/server operation. |
text | data to write |
size | data size in bytes |
TDSRET tds_writetext_end | │ │ │ │ +( | │ │ │ │ +TDSSOCKET * | │ │ │ │ +tds | ) | │ │ │ │ +│ │ │ │ + |
Finish sending writetext data.
│ │ │ │ +tds | A pointer to the TDSSOCKET structure managing a client/server operation. |
TDSRET tds_writetext_start | │ │ │ │ +( | │ │ │ │ +TDSSOCKET * | │ │ │ │ +tds, | │ │ │ │ +
│ │ │ │ + | │ │ │ │ + | const char * | │ │ │ │ +objname, | │ │ │ │ +
│ │ │ │ + | │ │ │ │ + | const char * | │ │ │ │ +textptr, | │ │ │ │ +
│ │ │ │ + | │ │ │ │ + | const char * | │ │ │ │ +timestamp, | │ │ │ │ +
│ │ │ │ + | │ │ │ │ + | int | │ │ │ │ +with_log, | │ │ │ │ +
│ │ │ │ + | │ │ │ │ + | TDS_UINT | │ │ │ │ +size | │ │ │ │ +
│ │ │ │ + | ) | │ │ │ │ +│ │ │ │ + |
Start writing writetext request.
│ │ │ │ +This request start a bulk session.
tds | A pointer to the TDSSOCKET structure managing a client/server operation. |
objname | table name |
textptr | TEXTPTR (see sql documentation) |
timestamp | data timestamp |
with_log | is log is enabled during insert |
size | bytes to be inserted |
void tdsdump_col | │ │ │ │ +( | │ │ │ │ +const TDSCOLUMN * | │ │ │ │ +col | ) | │ │ │ │ +│ │ │ │ + |
Write a column value to the debug log.
│ │ │ │ +
│ │ │ │ +
col | column to dump |
void tdsdump_dump_buf | │ │ │ │ +( | │ │ │ │ +const char * | │ │ │ │ +file, | │ │ │ │ +
│ │ │ │ + | │ │ │ │ + | unsigned int | │ │ │ │ +level_line, | │ │ │ │ +
│ │ │ │ + | │ │ │ │ + | const char * | │ │ │ │ +msg, | │ │ │ │ +
│ │ │ │ + | │ │ │ │ + | const void * | │ │ │ │ +buf, | │ │ │ │ +
│ │ │ │ + | │ │ │ │ + | size_t | │ │ │ │ +length | │ │ │ │ +
│ │ │ │ + | ) | │ │ │ │ +│ │ │ │ + |
Dump the contents of data into the log file in a human readable format.
│ │ │ │ +file | source file name |
level_line | line and level combined. This and file are automatically computed by TDS_DBG_* macros. |
msg | message to print before dump |
buf | buffer to dump |
length | number of bytes in the buffer |
void tdsdump_log | │ │ │ │ +( | │ │ │ │ +const char * | │ │ │ │ +file, | │ │ │ │ +
│ │ │ │ + | │ │ │ │ + | unsigned int | │ │ │ │ +level_line, | │ │ │ │ +
│ │ │ │ + | │ │ │ │ + | const char * | │ │ │ │ +fmt, | │ │ │ │ +
│ │ │ │ + | │ │ │ │ + | │ │ │ │ + | ... | │ │ │ │ +
│ │ │ │ + | ) | │ │ │ │ +│ │ │ │ + |
Write a message to the debug log.
│ │ │ │ +
│ │ │ │ +
file | name of the log file |
level_line | kind of detail to be included |
fmt | printf-like format string |
void tdsdump_off | │ │ │ │ +( | │ │ │ │ +TDSDUMP_OFF_ITEM * | │ │ │ │ +off_item | ) | │ │ │ │ +│ │ │ │ + |
Temporarily turn off logging for current thread.
│ │ │ │ +off_item | List item to be used by the function. The item will be initialized by the function. It's retained till is removed with tdsdump_on so it must be kept alive. |
void tdsdump_on | │ │ │ │ +( | │ │ │ │ +TDSDUMP_OFF_ITEM * | │ │ │ │ +off_item | ) | │ │ │ │ +│ │ │ │ + |
Turn logging back on for current thread.
│ │ │ │ +off_item | List item to remove from global list. Previously used by tdsdump_off(). |
int tdsdump_open | │ │ │ │ +( | │ │ │ │ +const char * | │ │ │ │ +filename | ) | │ │ │ │ +│ │ │ │ + |
Create and truncate a human readable dump file for the TDS traffic.
│ │ │ │ +The name of the file is specified by the filename parameter. If that is given as NULL or an empty string, any existing log file will be closed.
│ │ │ │ +int tdserror | │ │ │ │ +( | │ │ │ │ +const TDSCONTEXT * | │ │ │ │ +tds_ctx, | │ │ │ │ +
│ │ │ │ + | │ │ │ │ + | TDSSOCKET * | │ │ │ │ +tds, | │ │ │ │ +
│ │ │ │ + | │ │ │ │ + | int | │ │ │ │ +msgno, | │ │ │ │ +
│ │ │ │ + | │ │ │ │ + | int | │ │ │ │ +errnum | │ │ │ │ +
│ │ │ │ + | ) | │ │ │ │ +│ │ │ │ + |
Call the client library's error handler (for library-generated errors only)
│ │ │ │ +The client library error handler may return: TDS_INT_CANCEL – Return TDS_FAIL to the calling function. For TDSETIME, closes the connection first. TDS_INT_CONTINUE – For TDSETIME only, retry the network read/write operation. Else invalid. TDS_INT_TIMEOUT – For TDSETIME only, send a TDSCANCEL packet. Else invalid.
│ │ │ │ +These are Sybase semantics, but they serve all purposes.
│ │ │ │ + The application tells the library to quit, fail, retry, or attempt to cancel. In the event of a network timeout, a failed operation necessarily means the connection becomes unusable, because no cancellation dialog was concluded with the server.
│ │ │ │ +
It is the client library's duty to call the error handler installed by the application, if any, and to interpret the installed handler's return code. It may return to this function one of the above codes only. This function will not check the return code because there's nothing that can be done here except abort. It is merely passed to the calling function, which will (we hope) DTRT.
│ │ │ │ +
tds_ctx | points to a TDSCONTEXT structure |
tds | the connection structure, may be NULL if not connected |
msgno | an enumerated libtds msgno, cf. tds.h |
errnum | the OS errno, if it matters, else zero |
│ │ │ │ +
|
│ │ │ │ + │ │ │ │ +extern | │ │ │ │ +
The following little table is indexed by precision and will tell us the number of bytes required to store the specified precision.
│ │ │ │ +The following little table is indexed by precision and will tell us the number of bytes required to store the specified precision.
│ │ │ │ +Support precision up to 77 digits
│ │ │ │ │ │ │ │What happens if client does not reset values?
│ │ │ │ │ │ │ │Microsoft and Sybase define this function differently.
│ │ │ │
Support alternative to '?' for the replacement character.
│ │ │ │
use asprintf()
to avoid buffer overflow.
separate error messages for no-such-server and no-such-user.
│ │ │ │dbproc | contains all information needed by db-lib to manage communications with the server. |
DBCMDPEND
unless the command state is DBCMDSENT, in which case it frees the command buffer. This latter may or may not be the Right Thing to do. Close server connections and free all related structures.
│ │ │ │
│ │ │ │
SUCCEED | success. |
FAIL | insufficient memory, or dbcmd() failed. |
get maximum simultaneous connections db-lib will open to the server.
│ │ │ │Allocate a LOGINREC
structure.
│ │ │ │
LOGINREC
structure is passed to dbopen()
to create a connection to the database. Does not communicate to the server; interacts strictly with library. LOGINREC
structure is passed to dbopen()
to create a connection to the database. Does not communicate to the server; interacts strictly with library. NULL | the LOGINREC cannot be allocated. |
LOGINREC* | to valid memory, otherwise. │ │ │ │ |
Record to a file all SQL commands sent to the server.
│ │ │ │filename | name of file to write to. |
Does not affect lookups or location of freetds.conf
.
│ │ │ │
filename | name of interfaces |
SUCCEED | Always. │ │ │ │ |
dbproc | contains all information needed by db-lib to manage communications with the server. |
See which version of db-lib is in use.
│ │ │ │See if BCP_SETL() was used to set the LOGINREC for BCP work.
│ │ │ │
│ │ │ │
login | Address of the LOGINREC variable to be passed to dbopen(). |
login | Address of the LOGINREC variable to be passed to dbopen(). |
Form a connection with the server.
│ │ │ │ -Called by the dbopen()
macro, normally. If FreeTDS was configured with --enable-msdblib
, this function is called by (exported) dbopen()
function. tdsdbopen
is so-named to avoid namespace conflicts with other database libraries that use the same function name.
│ │ │ │ +
Called by the dbopen()
macro, normally. If FreeTDS was configured with --enable-msdblib
, this function is called by (exported) dbopen()
function. tdsdbopen
is so-named to avoid namespace conflicts with other database libraries that use the same function name.
│ │ │ │
login | LOGINREC* carrying the account information. |
server | name of the dataserver to connect to. │ │ │ │ |
NULL | insufficient memory, unable to connect for any reason. |
use asprintf()
to avoid buffer overflow.
separate error messages for no-such-server and no-such-user.
│ │ │ ││ │ │ │ Macros | ||||||
│ │ │ │ #define | dump(b) dumpl(b, sizeof(b)) | |||||
│ │ │ │ -#define | dumpl(b, l) tdsdump_dump_buf(TDS_DBG_INFO1, #b, b, l) | dumpl(b, l) tdsdump_dump_buf(TDS_DBG_INFO1, #b, b, l) | │ │ │ │||||
│ │ │ │ #define | hash_func sha1 | |||||
│ │ │ │ #define | HAVE_GMP 1 | |||||
│ │ │ │ static const void * | tds_find (const void *key, const void *base, size_t nelem, size_t width, int(*compar)(const void *, const void *)) | |||||
void | tds_fix_login (TDSLOGIN *login) | |||||
Fix configuration after reading it. More... | ||||||
const TDS_COMPILETIME_SETTINGS * | tds_get_compiletime_settings (void) | |||||
const TDS_COMPILETIME_SETTINGS * | tds_get_compiletime_settings (void) | |||||
Return a structure capturing the compile-time settings provided to the configure script. More... | ||||||
char * | tds_get_home_file (const char *file) | |||||
Return filename from HOME directory. More... | ||||||
struct addrinfo * | tds_lookup_host (const char *servername) | |||||
Get the IP address for a hostname. More... |
const TDS_COMPILETIME_SETTINGS * tds_get_compiletime_settings | │ │ │ │ +const TDS_COMPILETIME_SETTINGS * tds_get_compiletime_settings | │ │ │ │( | │ │ │ │void | │ │ │ │) | │ │ │ ││ │ │ │ |
│ │ │ │ Variables |
TDSDYNAMIC * tds_alloc_dynamic | │ │ │ │ +TDSDYNAMIC * tds_alloc_dynamic | │ │ │ │( | │ │ │ │TDSCONNECTION * | │ │ │ │conn, | │ │ │ │||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
│ │ │ │ | │ │ │ │ @@ -434,15 +434,15 @@ │ │ │ │ │ │ │ │ |
void tds_free_input_params | │ │ │ │( | │ │ │ │ -TDSDYNAMIC * | │ │ │ │ +TDSDYNAMIC * | │ │ │ │dyn | ) | │ │ │ ││ │ │ │ |
Frees all allocated input parameters of a dynamic statement.
│ │ │ │ @@ -587,15 +587,15 @@ │ │ │ │ │ │ │ │void tds_release_dynamic | │ │ │ │( | │ │ │ │ -TDSDYNAMIC ** | │ │ │ │ +TDSDYNAMIC ** | │ │ │ │pdyn | ) | │ │ │ ││ │ │ │ |
Frees dynamic statement.
│ │ │ ├── ./usr/share/doc/freetds-doc/reference/a00542.html │ │ │ │ @@ -112,24 +112,24 @@ │ │ │ ││ │ │ │ Variables | ||||||||||||||||||||||||||||||||||||||||
│ │ │ │ static const TDSCONTEXT | empty_ctx = {0} | │ │ │ │ | const char * | │ │ │ │id, | │ │ │ │ │ │ │ │||||||||||||||||||||||||||||||||||||
│ │ │ │ | │ │ │ │ - | TDSDYNAMIC ** | │ │ │ │ +TDSDYNAMIC ** | │ │ │ │dyn_out, | │ │ │ │||||||||||||||||||||||||||||||||||||
│ │ │ │ | │ │ │ │ | TDSPARAMINFO * | │ │ │ │params | │ │ │ │ @@ -666,15 +666,15 @@ │ │ │ │( | │ │ │ │TDSSOCKET * | │ │ │ │tds, | │ │ │ │||||||||||||||||||||||||||||||||||
│ │ │ │ | │ │ │ │ - | TDSDYNAMIC * | │ │ │ │ +TDSDYNAMIC * | │ │ │ │dyn | │ │ │ │||||||||||||||||||||||||||||||||||||
│ │ │ │ | ) | │ │ │ ││ │ │ │ | ( | │ │ │ │TDSCONNECTION * | │ │ │ │conn, | │ │ │ │ │ │ │ │|||||||||||||||||||||||||||||||||||
│ │ │ │ | │ │ │ │ - | TDSCURSOR * | │ │ │ │ +TDSCURSOR * | │ │ │ │cursor | │ │ │ │||||||||||||||||||||||||||||||||||||
│ │ │ │ | ) | │ │ │ ││ │ │ │ | ( | │ │ │ │TDSCONNECTION * | │ │ │ │conn, | │ │ │ │ │ │ │ │|||||||||||||||||||||||||||||||||||
│ │ │ │ | │ │ │ │ - | TDSCURSOR * | │ │ │ │ +TDSCURSOR * | │ │ │ │cursor | │ │ │ │||||||||||||||||||||||||||||||||||||
│ │ │ │ | ) | │ │ │ ││ │ │ │ | ( | │ │ │ │TDSCONNECTION * | │ │ │ │conn, | │ │ │ │ │ │ │ │|||||||||||||||||||||||||||||||||||
│ │ │ │ | │ │ │ │ - | TDSDYNAMIC * | │ │ │ │ +TDSDYNAMIC * | │ │ │ │dyn | │ │ │ │||||||||||||||||||||||||||||||||||||
│ │ │ │ | ) | │ │ │ ││ │ │ │ | ( | │ │ │ │TDSCONNECTION * | │ │ │ │conn, | │ │ │ │ │ │ │ │|||||||||||||||||||||||||||||||||||
│ │ │ │ | │ │ │ │ - | TDSDYNAMIC * | │ │ │ │ +TDSDYNAMIC * | │ │ │ │dyn | │ │ │ │||||||||||||||||||||||||||||||||||||
│ │ │ │ | ) | │ │ │ ││ │ │ │ | ( | │ │ │ │TDSSOCKET * | │ │ │ │tds, | │ │ │ │ │ │ │ │|||||||||||||||||||||||||||||||||||
│ │ │ │ | │ │ │ │ - | TDSCURSOR * | │ │ │ │ +TDSCURSOR * | │ │ │ │cursor | │ │ │ │||||||||||||||||||||||||||||||||||||
│ │ │ │ | ) | │ │ │ ││ │ │ │ | ( | │ │ │ │TDSSOCKET * | │ │ │ │tds, | │ │ │ │ │ │ │ │|||||||||||||||||||||||||||||||||||
│ │ │ │ | │ │ │ │ - | TDSDYNAMIC * | │ │ │ │ +TDSDYNAMIC * | │ │ │ │dyn | │ │ │ │||||||||||||||||||||||||||||||||||||
│ │ │ │ | ) | │ │ │ ││ │ │ │ | ( | │ │ │ │TDSSOCKET * | │ │ │ │tds, | │ │ │ │ │ │ │ │|||||||||||||||||||||||||||||||||||
│ │ │ │ | │ │ │ │ - | TDSDYNAMIC * | │ │ │ │ +TDSDYNAMIC * | │ │ │ │dyn | │ │ │ │||||||||||||||||||||||||||||||||||||
│ │ │ │ | ) | │ │ │ ││ │ │ │ | │ │ │ │ | const char * | │ │ │ │id, | │ │ │ │ │ │ │ │|||||||||||||||||||||||||||||||||||
│ │ │ │ | │ │ │ │ - | TDSDYNAMIC ** | │ │ │ │ +TDSDYNAMIC ** | │ │ │ │dyn_out, | │ │ │ │||||||||||||||||||||||||||||||||||||
│ │ │ │ | │ │ │ │ | TDSPARAMINFO * | │ │ │ │params | │ │ │ │ @@ -2767,15 +2767,15 @@ │ │ │ │( | │ │ │ │TDSSOCKET * | │ │ │ │tds, | │ │ │ │||||||||||||||||||||||||||||||||||
│ │ │ │ | │ │ │ │ - | TDSDYNAMIC * | │ │ │ │ +TDSDYNAMIC * | │ │ │ │dyn | │ │ │ │||||||||||||||||||||||||||||||||||||
│ │ │ │ | ) | │ │ │ ││ │ │ │ | ||||||||||||||||||||||||||||||||||||||
static TDSRET | tds_get_data_info (TDSSOCKET *tds, TDSCOLUMN *curcol, int is_param) | |||||||||||||||||||||||||||||||||||||||
Reads data metadata from wire. More... | ||||||||||||||||||||||||||||||||||||||||
int | tds_get_token_size (int marker) | |||||||||||||||||||||||||||||||||||||||
tds_get_token_size() returns the size of a fixed length token used by tds_process_cancel() to determine how to read past a token More... | ||||||||||||||||||||||||||||||||||||||||
TDSDYNAMIC * | tds_lookup_dynamic (TDSCONNECTION *conn, const char *id) | |||||||||||||||||||||||||||||||||||||||
TDSDYNAMIC * | tds_lookup_dynamic (TDSCONNECTION *conn, const char *id) | |||||||||||||||||||||||||||||||||||||||
Finds a dynamic given string id. More... | ||||||||||||||||||||||||||||||||||||||||
static const char * | tds_pr_op (int op) | |||||||||||||||||||||||||||||||||||||||
Returns string representation for a given operation. More... | ||||||||||||||||||||||||||||||||||||||||
static TDSRET | tds_process_auth (TDSSOCKET *tds) | |||||||||||||||||||||||||||||||||||||||
Process authentication token. More... | ||||||||||||||||||||||||||||||||||||||||
static TDSRET | tds_process_default_tokens (TDSSOCKET *tds, int marker) | |||||||||||||||||||||||||||||||||||||||
tds_process_default_tokens() is a catch all function that is called to process tokens not known to other tds_process_* routines More... | ||||||||||||||||||||||||||||||||||||||||
static TDSRET | tds_process_dyn_result (TDSSOCKET *tds) | |||||||||||||||||||||||||||||||||||||||
Process results from dynamic. More... | ||||||||||||||||||||||||||||||||||||||||
static TDSDYNAMIC * | tds_process_dynamic (TDSSOCKET *tds) | |||||||||||||||||||||||||||||||||||||||
static TDSDYNAMIC * | tds_process_dynamic (TDSSOCKET *tds) | |||||||||||||||||||||||||||||||||||||||
tds_process_dynamic() finds the element of the dyns array for the id More... | ||||||||||||||||||||||||||||||||||||||||
static TDSRET | tds_process_end (TDSSOCKET *tds, int marker, int *flags_parm) | |||||||||||||||||||||||||||||||||||||||
tds_process_end() processes any of the DONE, DONEPROC, or DONEINPROC tokens. More... | ||||||||||||||||||||||||||||||||||||||||
static TDSRET | tds_process_env_chg (TDSSOCKET *tds) | |||||||||||||||||||||||||||||||||||||||
tds_process_env_chg() when ever certain things change on the server, such as database, character set, language, or block size. More... |
TDSDYNAMIC * tds_lookup_dynamic | │ │ │ │ +TDSDYNAMIC * tds_lookup_dynamic | │ │ │ │( | │ │ │ │TDSCONNECTION * | │ │ │ │conn, | │ │ │ │||||||||||||||||||||||||||||||||||||
│ │ │ │ | │ │ │ │ @@ -1342,15 +1342,15 @@ │ │ │ │ |
│ │ │ │
|
│ │ │ ├── ./usr/share/doc/freetds-doc/reference/a00544_ga39453d084f3f780ac4602d4abf2839f7_cgraph.dot
│ │ │ │ @@ -2,9 +2,9 @@
│ │ │ │ {
│ │ │ │ // LATEX_PDF_SIZE
│ │ │ │ edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
│ │ │ │ node [fontname="Helvetica",fontsize="10",shape=record];
│ │ │ │ rankdir="LR";
│ │ │ │ Node1 [label="tds_process_default\l_tokens",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="tds_process_default_tokens() is a catch all function that is called to process tokens not known to ot..."];
│ │ │ │ Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
│ │ │ │ - Node2 [label="tdsdump_log",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$a00068.html#ab45c291105027e69836002e1dd586141",tooltip="Write a message to the debug log."];
│ │ │ │ + Node2 [label="tdsdump_log",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$a00029.html#ab45c291105027e69836002e1dd586141",tooltip="Write a message to the debug log."];
│ │ │ │ }
│ │ │ ├── ./usr/share/doc/freetds-doc/reference/a00544_ga3e1b4df4410a86a563a8c155e7799720_cgraph.dot
│ │ │ │ @@ -8,9 +8,9 @@
│ │ │ │ Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
│ │ │ │ Node2 [label="tds_get_usmallint",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$a00543.html#gad38aa5b9547817854ccba1fcc7855861",tooltip="Get an int16 from the server."];
│ │ │ │ Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
│ │ │ │ Node3 [label="tds_get_n",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$a00543.html#gae777dd57e8d1bb40349d7d7d8434fddf",tooltip="Get N bytes from the buffer and return them in the already allocated space given to us."];
│ │ │ │ Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
│ │ │ │ Node4 [label="tds_read_packet",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$a00543.html#ga410619783bdf2bb60b0f27a5578e0e07",tooltip="Read in one 'packet' from the server."];
│ │ │ │ Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
│ │ │ │ - Node5 [label="tdsdump_log",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$a00068.html#ab45c291105027e69836002e1dd586141",tooltip="Write a message to the debug log."];
│ │ │ │ + Node5 [label="tdsdump_log",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$a00029.html#ab45c291105027e69836002e1dd586141",tooltip="Write a message to the debug log."];
│ │ │ │ }
│ │ │ ├── ./usr/share/doc/freetds-doc/reference/a00544_gaa6a7e5aeb10a1322911c47be9c43e2d2_cgraph.dot
│ │ │ │ @@ -2,9 +2,9 @@
│ │ │ │ {
│ │ │ │ // LATEX_PDF_SIZE
│ │ │ │ edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
│ │ │ │ node [fontname="Helvetica",fontsize="10",shape=record];
│ │ │ │ rankdir="LR";
│ │ │ │ Node1 [label="tds5_process_optioncmd",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="Process option cmd results."];
│ │ │ │ Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
│ │ │ │ - Node2 [label="tdsdump_log",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$a00068.html#ab45c291105027e69836002e1dd586141",tooltip="Write a message to the debug log."];
│ │ │ │ + Node2 [label="tdsdump_log",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$a00029.html#ab45c291105027e69836002e1dd586141",tooltip="Write a message to the debug log."];
│ │ │ │ }
│ │ │ ├── ./usr/share/doc/freetds-doc/reference/a00544_gabe2bdd5a41ce067cb31aef18ff81cb1c_cgraph.dot
│ │ │ │ @@ -2,9 +2,9 @@
│ │ │ │ {
│ │ │ │ // LATEX_PDF_SIZE
│ │ │ │ edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
│ │ │ │ node [fontname="Helvetica",fontsize="10",shape=record];
│ │ │ │ rankdir="LR";
│ │ │ │ Node1 [label="tds5_process_result2",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="tds5_process_result2() is the new TDS 5.0 result set processing routine."];
│ │ │ │ Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
│ │ │ │ - Node2 [label="tdsdump_log",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$a00068.html#ab45c291105027e69836002e1dd586141",tooltip="Write a message to the debug log."];
│ │ │ │ + Node2 [label="tdsdump_log",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$a00029.html#ab45c291105027e69836002e1dd586141",tooltip="Write a message to the debug log."];
│ │ │ │ }
│ │ │ ├── ./usr/share/doc/freetds-doc/reference/a00544_gabfc9de1d1fe718818caf63a4be4035a6_cgraph.dot
│ │ │ │ @@ -2,9 +2,9 @@
│ │ │ │ {
│ │ │ │ // LATEX_PDF_SIZE
│ │ │ │ edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
│ │ │ │ node [fontname="Helvetica",fontsize="10",shape=record];
│ │ │ │ rankdir="LR";
│ │ │ │ Node1 [label="tds_process_tokens",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="process all streams."];
│ │ │ │ Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
│ │ │ │ - Node2 [label="tdsdump_log",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$a00068.html#ab45c291105027e69836002e1dd586141",tooltip="Write a message to the debug log."];
│ │ │ │ + Node2 [label="tdsdump_log",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$a00029.html#ab45c291105027e69836002e1dd586141",tooltip="Write a message to the debug log."];
│ │ │ │ }
│ │ │ ├── ./usr/share/doc/freetds-doc/reference/a00544_gaca56fc22d65a24a96d1bef310ade73aa_cgraph.dot
│ │ │ │ @@ -2,9 +2,9 @@
│ │ │ │ {
│ │ │ │ // LATEX_PDF_SIZE
│ │ │ │ edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
│ │ │ │ node [fontname="Helvetica",fontsize="10",shape=record];
│ │ │ │ rankdir="LR";
│ │ │ │ Node1 [label="tds7_process_result",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="tds7_process_result() is the TDS 7.0 result set processing routine."];
│ │ │ │ Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
│ │ │ │ - Node2 [label="tdsdump_log",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$a00068.html#ab45c291105027e69836002e1dd586141",tooltip="Write a message to the debug log."];
│ │ │ │ + Node2 [label="tdsdump_log",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$a00029.html#ab45c291105027e69836002e1dd586141",tooltip="Write a message to the debug log."];
│ │ │ │ }
│ │ │ ├── ./usr/share/doc/freetds-doc/reference/a00544_gacb3354443bcefe7a500a500a4904cc05_cgraph.dot
│ │ │ │ @@ -2,9 +2,9 @@
│ │ │ │ {
│ │ │ │ // LATEX_PDF_SIZE
│ │ │ │ edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
│ │ │ │ node [fontname="Helvetica",fontsize="10",shape=record];
│ │ │ │ rankdir="LR";
│ │ │ │ Node1 [label="tds_process_param_result",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="process output parameters of a stored procedure."];
│ │ │ │ Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
│ │ │ │ - Node2 [label="tdsdump_log",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$a00068.html#ab45c291105027e69836002e1dd586141",tooltip="Write a message to the debug log."];
│ │ │ │ + Node2 [label="tdsdump_log",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$a00029.html#ab45c291105027e69836002e1dd586141",tooltip="Write a message to the debug log."];
│ │ │ │ }
│ │ │ ├── ./usr/share/doc/freetds-doc/reference/a00544_gad9b6b86f48be077fb44ac603845a0c27_cgraph.dot
│ │ │ │ @@ -2,9 +2,9 @@
│ │ │ │ {
│ │ │ │ // LATEX_PDF_SIZE
│ │ │ │ edge [fontname="Helvetica",fontsize="10",labelfontname="Helvetica",labelfontsize="10"];
│ │ │ │ node [fontname="Helvetica",fontsize="10",shape=record];
│ │ │ │ rankdir="LR";
│ │ │ │ Node1 [label="tds_get_data_info",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled", fontcolor="black",tooltip="Reads data metadata from wire."];
│ │ │ │ Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
│ │ │ │ - Node2 [label="tdsdump_log",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$a00068.html#ab45c291105027e69836002e1dd586141",tooltip="Write a message to the debug log."];
│ │ │ │ + Node2 [label="tdsdump_log",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$a00029.html#ab45c291105027e69836002e1dd586141",tooltip="Write a message to the debug log."];
│ │ │ │ }
│ │ │ ├── ./usr/share/doc/freetds-doc/reference/a00544_gae5b3e01f3d665f9e377de091f46f1ab9_cgraph.dot
│ │ │ │ @@ -8,9 +8,9 @@
│ │ │ │ Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
│ │ │ │ Node2 [label="tds_get_usmallint",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$a00543.html#gad38aa5b9547817854ccba1fcc7855861",tooltip="Get an int16 from the server."];
│ │ │ │ Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
│ │ │ │ Node3 [label="tds_get_n",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$a00543.html#gae777dd57e8d1bb40349d7d7d8434fddf",tooltip="Get N bytes from the buffer and return them in the already allocated space given to us."];
│ │ │ │ Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
│ │ │ │ Node4 [label="tds_read_packet",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$a00543.html#ga410619783bdf2bb60b0f27a5578e0e07",tooltip="Read in one 'packet' from the server."];
│ │ │ │ Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="Helvetica"];
│ │ │ │ - Node5 [label="tdsdump_log",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$a00068.html#ab45c291105027e69836002e1dd586141",tooltip="Write a message to the debug log."];
│ │ │ │ + Node5 [label="tdsdump_log",height=0.2,width=0.4,color="black", fillcolor="white", style="filled",URL="$a00029.html#ab45c291105027e69836002e1dd586141",tooltip="Write a message to the debug log."];
│ │ │ │ }
│ │ │ ├── ./usr/share/doc/freetds-doc/reference/a00582.html
│ │ │ │ @@ -226,15 +226,15 @@
│ │ │ │ |||||||
│ │ │ │ int | vflag | ||||||
│ │ │ │ Public Attributes | |
│ │ │ │ -TDSRESULTINFO * | resinfo | resinfo | │ │ │ │
pointer to result informations | |
│ │ │ │ DBINT | row |
row number | |
│ │ │ │ @@ -91,15 +91,15 @@ │ │ │ │ | |
│ │ │ │ TDS_INT * | sizes |
save old sizes | |
\dblib_internal