Mark etc.c.odbc as deprecated

Publicly import core.sys.windows.sql instead.

Set removal date for one year in the future (February 2020).
This commit is contained in:
Iain Buclaw 2019-02-17 12:37:10 +01:00 committed by The Dlang Bot
parent 50c00a015b
commit 88fd21e736
4 changed files with 32 additions and 4208 deletions

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,185 +1,15 @@
// @@@DEPRECATED_2022-02@@@
/** /**
$(RED Deprecated. Use `core.sys.windows.sqltypes` instead. This module will be
removed in February 2022.)
Declarations for interfacing with the ODBC library. Declarations for interfacing with the ODBC library.
Adapted with minimal changes from the work of David L. Davis
(refer to the $(HTTP
forum.dlang.org/post/cfk7ql$(DOLLAR)1p4n$(DOLLAR)1@digitaldaemon.com,
original announcement)).
`etc.c.odbc.sqlext.d` corresponds to the `sqlext.h` C header file.
See_Also: $(LINK2 https://docs.microsoft.com/en-us/sql/odbc/reference/syntax/odbc-api-reference, See_Also: $(LINK2 https://docs.microsoft.com/en-us/sql/odbc/reference/syntax/odbc-api-reference,
ODBC API Reference on MSN Online) ODBC API Reference on MSN Online)
*/ */
deprecated("Import core.sys.windows.sqltypes instead")
module etc.c.odbc.sqltypes; module etc.c.odbc.sqltypes;
extern (Windows): public import core.sys.windows.sqltypes;
// * API declaration data types *
//alias void *HANDLE;
//alias ubyte SQLCHAR;
alias SQLCHAR = char;
alias SQLSCHAR = byte;
alias SQLDATE = ubyte;
alias SQLDECIMAL = ubyte;
alias SQLDOUBLE = double;
alias SQLFLOAT = double;
alias SQLINTEGER = int;
alias SQLUINTEGER = ushort;
alias SQLNUMERIC = ubyte;
alias SQLREAL = float;
alias SQLTIME = ubyte;
alias SQLTIMESTAMP = ubyte;
alias SQLVARCHAR = ubyte;
alias SQLPOINTER = void*;
alias SQLSMALLINT = short;
alias SQLUSMALLINT = ushort;
// * function return type *
alias SQLRETURN = SQLSMALLINT;
// * generic data structures *
alias SQLHANDLE = void*;
alias SQLHENV = SQLHANDLE;
alias SQLHDBC = SQLHANDLE;
alias SQLHSTMT = SQLHANDLE;
alias SQLHDESC = SQLHANDLE;
// * SQL portable types for C *
//alias ubyte UCHAR; // std.c.windows.windows has this alias
//alias char UCHAR;
alias SCHAR = byte;
//alias SCHAR SQLSCHAR;
alias DWORD = uint;
alias SDWORD = int;
alias SWORD = short;
alias UDWORD = uint ;
alias UWORD = ushort;
alias WORD = short;
//alias UDWORD SQLUINTEGER;
alias SLONG = long;
alias SSHORT = short;
alias ULONG = ulong;
alias USHORT = ushort;
alias SDOUBLE = double;
alias LDOUBLE = double;
alias SFLOAT = float;
alias PTR = void*;
alias HENV = void*;
alias HDBC = void*;
alias HSTMT = void*;
alias RETCODE = short;
alias HWND = SQLPOINTER;
alias SQLHWND = HWND;
// * transfer types for DATE, TIME, TIMESTAMP *
struct DATE_STRUCT
{
SQLSMALLINT year;
SQLUSMALLINT month;
SQLUSMALLINT day;
}
alias SQL_DATE_STRUCT = DATE_STRUCT;
struct TIME_STRUCT
{
SQLUSMALLINT hour;
SQLUSMALLINT minute;
SQLUSMALLINT second;
}
alias SQL_TIME_STRUCT = TIME_STRUCT;
struct TIMESTAMP_STRUCT
{
SQLSMALLINT year;
SQLUSMALLINT month;
SQLUSMALLINT day;
SQLUSMALLINT hour;
SQLUSMALLINT minute;
SQLUSMALLINT second;
SQLUINTEGER fraction;
}
alias SQL_TIMESTAMP_STRUCT = TIMESTAMP_STRUCT;
/+
' enumerations for DATETIME_INTERVAL_SUBCODE values for interval data types
' these values are from SQL-92
+/
enum SQLINTERVAL
{
SQL_IS_YEAR = 1,
SQL_IS_MONTH = 2,
SQL_IS_DAY = 3,
SQL_IS_HOUR = 4,
SQL_IS_MINUTE = 5,
SQL_IS_SECOND = 6,
SQL_IS_YEAR_TO_MONTH = 7,
SQL_IS_DAY_TO_HOUR = 8,
SQL_IS_DAY_TO_MINUTE = 9,
SQL_IS_DAY_TO_SECOND = 10,
SQL_IS_HOUR_TO_MINUTE = 11,
SQL_IS_HOUR_TO_SECOND = 12,
SQL_IS_MINUTE_TO_SECOND = 13
}
struct SQL_YEAR_MONTH_STRUCT
{
SQLUINTEGER year;
SQLUINTEGER month;
}
struct SQL_DAY_SECOND_STRUCT
{
SQLUINTEGER day;
SQLUINTEGER hour;
SQLUINTEGER minute;
SQLUINTEGER second;
SQLUINTEGER fraction;
}
struct SQL_INTERVAL_STRUCT
{
SQLINTERVAL interval_type;
SQLSMALLINT interval_sign;
union intval {
SQL_YEAR_MONTH_STRUCT year_month;
SQL_DAY_SECOND_STRUCT day_second;
}
}
// * internal representation of numeric data type *
const int SQL_MAX_NUMERIC_LEN = 16;
struct SQL_NUMERIC_STRUCT
{
SQLCHAR precision;
SQLSCHAR scale;
SQLCHAR sign; /* 1 if positive, 0 if negative */
SQLCHAR[ SQL_MAX_NUMERIC_LEN ] val;
}
/* size is 16 */
struct SQLGUID
{
DWORD Data1;
WORD Data2;
WORD Data3;
ubyte[ 8 ] Data4;
}
alias GUID = SQLGUID;
alias BOOKMARK = uint;
alias SQLWCHAR = ushort;
version (UNICODE)
{
alias SQLTCHAR = SQLWCHAR;
}
else
{
alias SQLTCHAR = SQLCHAR;
} // end version (UNICODE)

View file

@ -1,473 +1,15 @@
// @@@DEPRECATED_2022-02@@@
/** /**
$(RED Deprecated. Use `core.sys.windows.sqlucode` instead. This module will be
removed in February 2022.)
Declarations for interfacing with the ODBC library. Declarations for interfacing with the ODBC library.
Adapted with minimal changes from the work of David L. Davis
(refer to the $(HTTP
forum.dlang.org/post/cfk7ql$(DOLLAR)1p4n$(DOLLAR)1@digitaldaemon.com,
original announcement)).
`etc.c.odbc.sqlucode` corresponds to the `sqlucode.h` C include file.
See_Also: $(LINK2 https://docs.microsoft.com/en-us/sql/odbc/reference/syntax/odbc-api-reference, See_Also: $(LINK2 https://docs.microsoft.com/en-us/sql/odbc/reference/syntax/odbc-api-reference,
ODBC API Reference on MSN Online) ODBC API Reference on MSN Online)
*/ */
deprecated("Import core.sys.windows.sqlucode instead")
/+
sqlucode.d - This is the the unicode include for ODBC v3.0+ Core functions.
+/
module etc.c.odbc.sqlucode; module etc.c.odbc.sqlucode;
import etc.c.odbc.sqlext; public import core.sys.windows.sqlucode;
import etc.c.odbc.sqltypes;
extern (Windows):
enum
{
SQL_WCHAR = (-8),
SQL_WVARCHAR = (-9),
SQL_WLONGVARCHAR = (-10),
SQL_C_WCHAR = SQL_WCHAR,
SQL_C_TCHAR = SQL_C_WCHAR
}
enum int SQL_SQLSTATE_SIZEW = 10; /* size of SQLSTATE for unicode */
// UNICODE versions
SQLRETURN SQLColAttributeW
(
SQLHSTMT hstmt,
SQLUSMALLINT iCol,
SQLUSMALLINT iField,
SQLPOINTER pCharAttr,
SQLSMALLINT cbCharAttrMax,
SQLSMALLINT *pcbCharAttr,
SQLPOINTER pNumAttr
);
SQLRETURN SQLColAttributesW
(
SQLHSTMT hstmt,
SQLUSMALLINT icol,
SQLUSMALLINT fDescType,
SQLPOINTER rgbDesc,
SQLSMALLINT cbDescMax,
SQLSMALLINT *pcbDesc,
SQLINTEGER *pfDesc
);
SQLRETURN SQLConnectW
(
SQLHDBC hdbc,
SQLWCHAR *szDSN,
SQLSMALLINT cbDSN,
SQLWCHAR *szUID,
SQLSMALLINT cbUID,
SQLWCHAR *szAuthStr,
SQLSMALLINT cbAuthStr
);
SQLRETURN SQLDescribeColW
(
SQLHSTMT hstmt,
SQLUSMALLINT icol,
SQLWCHAR *szColName,
SQLSMALLINT cbColNameMax,
SQLSMALLINT *pcbColName,
SQLSMALLINT *pfSqlType,
SQLUINTEGER *pcbColDef,
SQLSMALLINT *pibScale,
SQLSMALLINT *pfNullable
);
SQLRETURN SQLErrorW
(
SQLHENV henv,
SQLHDBC hdbc,
SQLHSTMT hstmt,
SQLWCHAR *szSqlState,
SQLINTEGER *pfNativeError,
SQLWCHAR *szErrorMsg,
SQLSMALLINT cbErrorMsgMax,
SQLSMALLINT *pcbErrorMsg
);
SQLRETURN SQLExecDirectW
(
SQLHSTMT hstmt,
SQLWCHAR *szSqlStr,
SQLINTEGER cbSqlStr
);
SQLRETURN SQLGetConnectAttrW
(
SQLHDBC hdbc,
SQLINTEGER fAttribute,
SQLPOINTER rgbValue,
SQLINTEGER cbValueMax,
SQLINTEGER *pcbValue
);
SQLRETURN SQLGetCursorNameW
(
SQLHSTMT hstmt,
SQLWCHAR *szCursor,
SQLSMALLINT cbCursorMax,
SQLSMALLINT *pcbCursor
);
SQLRETURN SQLSetDescFieldW
(
SQLHDESC DescriptorHandle,
SQLSMALLINT RecNumber,
SQLSMALLINT FieldIdentifier,
SQLPOINTER Value,
SQLINTEGER BufferLength
);
SQLRETURN SQLGetDescFieldW
(
SQLHDESC hdesc,
SQLSMALLINT iRecord,
SQLSMALLINT iField,
SQLPOINTER rgbValue,
SQLINTEGER cbValueMax,
SQLINTEGER *pcbValue
);
SQLRETURN SQLGetDescRecW
(
SQLHDESC hdesc,
SQLSMALLINT iRecord,
SQLWCHAR *szName,
SQLSMALLINT cbNameMax,
SQLSMALLINT *pcbName,
SQLSMALLINT *pfType,
SQLSMALLINT *pfSubType,
SQLINTEGER *pLength,
SQLSMALLINT *pPrecision,
SQLSMALLINT *pScale,
SQLSMALLINT *pNullable
);
SQLRETURN SQLGetDiagFieldW
(
SQLSMALLINT fHandleType,
SQLHANDLE handle,
SQLSMALLINT iRecord,
SQLSMALLINT fDiagField,
SQLPOINTER rgbDiagInfo,
SQLSMALLINT cbDiagInfoMax,
SQLSMALLINT *pcbDiagInfo
);
SQLRETURN SQLGetDiagRecW
(
SQLSMALLINT fHandleType,
SQLHANDLE handle,
SQLSMALLINT iRecord,
SQLWCHAR *szSqlState,
SQLINTEGER *pfNativeError,
SQLWCHAR *szErrorMsg,
SQLSMALLINT cbErrorMsgMax,
SQLSMALLINT *pcbErrorMsg
);
SQLRETURN SQLPrepareW
(
SQLHSTMT hstmt,
SQLWCHAR *szSqlStr,
SQLINTEGER cbSqlStr
);
SQLRETURN SQLSetConnectAttrW
(
SQLHDBC hdbc,
SQLINTEGER fAttribute,
SQLPOINTER rgbValue,
SQLINTEGER cbValue
);
SQLRETURN SQLSetCursorNameW
(
SQLHSTMT hstmt,
SQLWCHAR *szCursor,
SQLSMALLINT cbCursor
);
SQLRETURN SQLColumnsW
(
SQLHSTMT hstmt,
SQLWCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLWCHAR *szSchemaName,
SQLSMALLINT cbSchemaName,
SQLWCHAR *szTableName,
SQLSMALLINT cbTableName,
SQLWCHAR *szColumnName,
SQLSMALLINT cbColumnName
);
SQLRETURN SQLGetConnectOptionW
(
SQLHDBC hdbc,
SQLUSMALLINT fOption,
SQLPOINTER pvParam
);
SQLRETURN SQLGetInfoW
(
SQLHDBC hdbc,
SQLUSMALLINT fInfoType,
SQLPOINTER rgbInfoValue,
SQLSMALLINT cbInfoValueMax,
SQLSMALLINT *pcbInfoValue
);
SQLRETURN SQLGetTypeInfoW
(
SQLHSTMT StatementHandle,
SQLSMALLINT DataType
);
SQLRETURN SQLSetConnectOptionW
(
SQLHDBC hdbc,
SQLUSMALLINT fOption,
SQLUINTEGER vParam
);
SQLRETURN SQLSpecialColumnsW
(
SQLHSTMT hstmt,
SQLUSMALLINT fColType,
SQLWCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLWCHAR *szSchemaName,
SQLSMALLINT cbSchemaName,
SQLWCHAR *szTableName,
SQLSMALLINT cbTableName,
SQLUSMALLINT fScope,
SQLUSMALLINT fNullable
);
SQLRETURN SQLStatisticsW
(
SQLHSTMT hstmt,
SQLWCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLWCHAR *szSchemaName,
SQLSMALLINT cbSchemaName,
SQLWCHAR *szTableName,
SQLSMALLINT cbTableName,
SQLUSMALLINT fUnique,
SQLUSMALLINT fAccuracy
);
SQLRETURN SQLTablesW
(
SQLHSTMT hstmt,
SQLWCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLWCHAR *szSchemaName,
SQLSMALLINT cbSchemaName,
SQLWCHAR *szTableName,
SQLSMALLINT cbTableName,
SQLWCHAR *szTableType,
SQLSMALLINT cbTableType
);
SQLRETURN SQLDataSourcesW
(
SQLHENV henv,
SQLUSMALLINT fDirection,
SQLWCHAR *szDSN,
SQLSMALLINT cbDSNMax,
SQLSMALLINT *pcbDSN,
SQLWCHAR *szDescription,
SQLSMALLINT cbDescriptionMax,
SQLSMALLINT *pcbDescription
);
SQLRETURN SQLDriverConnectW
(
SQLHDBC hdbc,
SQLHWND hwnd,
SQLWCHAR *szConnStrIn,
SQLSMALLINT cbConnStrIn,
SQLWCHAR *szConnStrOut,
SQLSMALLINT cbConnStrOutMax,
SQLSMALLINT *pcbConnStrOut,
SQLUSMALLINT fDriverCompletion
);
SQLRETURN SQLBrowseConnectW
(
SQLHDBC hdbc,
SQLWCHAR *szConnStrIn,
SQLSMALLINT cbConnStrIn,
SQLWCHAR *szConnStrOut,
SQLSMALLINT cbConnStrOutMax,
SQLSMALLINT *pcbConnStrOut
);
SQLRETURN SQLColumnPrivilegesW
(
SQLHSTMT hstmt,
SQLWCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLWCHAR *szSchemaName,
SQLSMALLINT cbSchemaName,
SQLWCHAR *szTableName,
SQLSMALLINT cbTableName,
SQLWCHAR *szColumnName,
SQLSMALLINT cbColumnName
);
SQLRETURN SQLGetStmtAttrW
(
SQLHSTMT hstmt,
SQLINTEGER fAttribute,
SQLPOINTER rgbValue,
SQLINTEGER cbValueMax,
SQLINTEGER *pcbValue
);
SQLRETURN SQLSetStmtAttrW
(
SQLHSTMT hstmt,
SQLINTEGER fAttribute,
SQLPOINTER rgbValue,
SQLINTEGER cbValueMax
);
SQLRETURN SQLForeignKeysW
(
SQLHSTMT hstmt,
SQLWCHAR *szPkCatalogName,
SQLSMALLINT cbPkCatalogName,
SQLWCHAR *szPkSchemaName,
SQLSMALLINT cbPkSchemaName,
SQLWCHAR *szPkTableName,
SQLSMALLINT cbPkTableName,
SQLWCHAR *szFkCatalogName,
SQLSMALLINT cbFkCatalogName,
SQLWCHAR *szFkSchemaName,
SQLSMALLINT cbFkSchemaName,
SQLWCHAR *szFkTableName,
SQLSMALLINT cbFkTableName
);
SQLRETURN SQLNativeSqlW
(
SQLHDBC hdbc,
SQLWCHAR *szSqlStrIn,
SQLINTEGER cbSqlStrIn,
SQLWCHAR *szSqlStr,
SQLINTEGER cbSqlStrMax,
SQLINTEGER *pcbSqlStr
);
SQLRETURN SQLPrimaryKeysW
(
SQLHSTMT hstmt,
SQLWCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLWCHAR *szSchemaName,
SQLSMALLINT cbSchemaName,
SQLWCHAR *szTableName,
SQLSMALLINT cbTableName
);
SQLRETURN SQLProcedureColumnsW
(
SQLHSTMT hstmt,
SQLWCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLWCHAR *szSchemaName,
SQLSMALLINT cbSchemaName,
SQLWCHAR *szProcName,
SQLSMALLINT cbProcName,
SQLWCHAR *szColumnName,
SQLSMALLINT cbColumnName
);
SQLRETURN SQLProceduresW
(
SQLHSTMT hstmt,
SQLWCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLWCHAR *szSchemaName,
SQLSMALLINT cbSchemaName,
SQLWCHAR *szProcName,
SQLSMALLINT cbProcName
);
SQLRETURN SQLTablePrivilegesW
(
SQLHSTMT hstmt,
SQLWCHAR *szCatalogName,
SQLSMALLINT cbCatalogName,
SQLWCHAR *szSchemaName,
SQLSMALLINT cbSchemaName,
SQLWCHAR *szTableName,
SQLSMALLINT cbTableName
);
SQLRETURN SQLDriversW
(
SQLHENV henv,
SQLUSMALLINT fDirection,
SQLWCHAR *szDriverDesc,
SQLSMALLINT cbDriverDescMax,
SQLSMALLINT *pcbDriverDesc,
SQLWCHAR *szDriverAttributes,
SQLSMALLINT cbDrvrAttrMax,
SQLSMALLINT *pcbDrvrAttr
);
//---------------------------------------------
// Mapping Unicode Functions
//---------------------------------------------
/+
alias SQLColAttributeW SQLColAttribute;
alias SQLColAttributesW SQLColAttributes;
alias SQLConnectW SQLConnect;
alias SQLDescribeColW SQLDescribeCol;
alias SQLErrorW SQLError;
alias SQLExecDirectW SQLExecDirect;
alias SQLGetConnectAttrW SQLGetConnectAttr;
alias SQLGetCursorNameW SQLGetCursorName;
alias SQLGetDescFieldW SQLGetDescField;
alias SQLGetDescRecW SQLGetDescRec;
alias SQLGetDiagFieldW SQLGetDiagField;
alias SQLGetDiagRecW SQLGetDiagRec;
alias SQLPrepareW SQLPrepare;
alias SQLSetConnectAttrW SQLSetConnectAttr;
alias SQLSetCursorNameW SQLSetCursorName;
alias SQLSetDescFieldW SQLSetDescField;
alias SQLSetStmtAttrW SQLSetStmtAttr;
alias SQLColumnsW SQLColumns;
alias SQLGetConnectOptionW SQLGetConnectOption;
alias SQLGetInfoW SQLGetInfo;
alias SQLGetTypeInfoW SQLGetTypeInfo;
alias SQLSetConnectOptionW SQLSetConnectOption;
alias SQLSpecialColumnsW SQLSpecialColumns;
alias SQLStatisticsW SQLStatistics;
alias SQLTablesW SQLTables;
alias SQLDataSourcesW SQLDataSources;
alias SQLDriverConnectW SQLDriverConnect;
alias SQLBrowseConnectW SQLBrowseConnect;
alias SQLColumnPrivilegesW SQLColumnPrivileges;
alias SQLForeignKeysW SQLForeignKeys;
alias SQLNativeSqlW SQLNativeSql;
alias SQLPrimaryKeysW SQLPrimaryKeys;
alias SQLProcedureColumnsW SQLProcedureColumns;
alias SQLProceduresW SQLProcedures;
alias SQLTablePrivilegesW SQLTablePrivileges;
alias SQLDriversW SQLDrivers;
+/