1/* 2 * GetTypeInfo.c 3 * 4 * $Id: GetTypeInfo.c,v 1.4 2006/01/20 15:58:35 source Exp $ 5 * 6 * SQLGetTypeInfo trace functions 7 * 8 * The iODBC driver manager. 9 * 10 * Copyright (C) 1996-2006 by OpenLink Software <iodbc@openlinksw.com> 11 * All Rights Reserved. 12 * 13 * This software is released under the terms of either of the following 14 * licenses: 15 * 16 * - GNU Library General Public License (see LICENSE.LGPL) 17 * - The BSD License (see LICENSE.BSD). 18 * 19 * Note that the only valid version of the LGPL license as far as this 20 * project is concerned is the original GNU Library General Public License 21 * Version 2, dated June 1991. 22 * 23 * While not mandated by the BSD license, any patches you make to the 24 * iODBC source code may be contributed back into the iODBC project 25 * at your discretion. Contributions will benefit the Open Source and 26 * Data Access community as a whole. Submissions may be made at: 27 * 28 * http://www.iodbc.org 29 * 30 * 31 * GNU Library Generic Public License Version 2 32 * ============================================ 33 * This library is free software; you can redistribute it and/or 34 * modify it under the terms of the GNU Library General Public 35 * License as published by the Free Software Foundation; only 36 * Version 2 of the License dated June 1991. 37 * 38 * This library is distributed in the hope that it will be useful, 39 * but WITHOUT ANY WARRANTY; without even the implied warranty of 40 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 41 * Library General Public License for more details. 42 * 43 * You should have received a copy of the GNU Library General Public 44 * License along with this library; if not, write to the Free 45 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 46 * 47 * 48 * The BSD License 49 * =============== 50 * Redistribution and use in source and binary forms, with or without 51 * modification, are permitted provided that the following conditions 52 * are met: 53 * 54 * 1. Redistributions of source code must retain the above copyright 55 * notice, this list of conditions and the following disclaimer. 56 * 2. Redistributions in binary form must reproduce the above copyright 57 * notice, this list of conditions and the following disclaimer in 58 * the documentation and/or other materials provided with the 59 * distribution. 60 * 3. Neither the name of OpenLink Software Inc. nor the names of its 61 * contributors may be used to endorse or promote products derived 62 * from this software without specific prior written permission. 63 * 64 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 65 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 66 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 67 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL OPENLINK OR 68 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 69 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 70 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 71 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 72 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 73 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 74 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 75 */ 76 77#include "trace.h" 78 79 80void 81_trace_typeinfo (SQLSMALLINT type) 82{ 83 char *ptr = "unknown type"; 84 85 switch (type) 86 { 87 _S (SQL_ALL_TYPES); 88 _S (SQL_BIGINT); 89 _S (SQL_BINARY); 90 _S (SQL_BIT); 91 _S (SQL_CHAR); 92#if (ODBCVER < 0x0300) 93 _S (SQL_DATE); 94#else 95 _S (SQL_DATETIME); 96#endif 97 _S (SQL_DECIMAL); 98 _S (SQL_DOUBLE); 99 _S (SQL_FLOAT); 100#if (ODBCVER >= 0x0350) 101 _S (SQL_GUID); 102#endif 103 _S (SQL_INTEGER); 104 _S (SQL_LONGVARBINARY); 105 _S (SQL_LONGVARCHAR); 106 _S (SQL_NUMERIC); 107 _S (SQL_REAL); 108 _S (SQL_SMALLINT); 109#if (ODBCVER < 0x0300) 110 _S (SQL_TIME); 111#else 112 _S (SQL_INTERVAL); 113#endif 114 _S (SQL_TIMESTAMP); 115 _S (SQL_TINYINT); 116#if ODBCVER >= 0x0300 117 _S (SQL_TYPE_DATE); 118 _S (SQL_TYPE_TIME); 119 _S (SQL_TYPE_TIMESTAMP); 120#endif 121 _S (SQL_VARBINARY); 122 _S (SQL_VARCHAR); 123 _S (SQL_WCHAR); 124 _S (SQL_WLONGVARCHAR); 125 _S (SQL_WVARCHAR); 126 } 127 128 trace_emit ("\t\t%-15.15s %d (%s)\n", "SQLSMALLINT ", (int) type, ptr); 129} 130 131 132void 133trace_SQLGetTypeInfo (int trace_leave, int retcode, 134 SQLHSTMT hstmt, 135 SQLSMALLINT fSqlType) 136{ 137 /* Trace function */ 138 _trace_print_function (en_GetTypeInfo, trace_leave, retcode); 139 140 /* Trace Arguments */ 141 _trace_handle (SQL_HANDLE_STMT, hstmt); 142 _trace_typeinfo (fSqlType); 143} 144 145 146#if ODBCVER >= 0x0300 147void 148trace_SQLGetTypeInfoW (int trace_leave, int retcode, 149 SQLHSTMT hstmt, 150 SQLSMALLINT fSqlType) 151{ 152 /* Trace function */ 153 _trace_print_function (en_GetTypeInfoW, trace_leave, retcode); 154 155 /* Trace Arguments */ 156 _trace_handle (SQL_HANDLE_STMT, hstmt); 157 _trace_typeinfo (fSqlType); 158} 159#endif 160