2,828 changes: 1,414 additions & 1,414 deletions etc/c/odbc/sql.d

Large diffs are not rendered by default.

4,308 changes: 2,154 additions & 2,154 deletions etc/c/odbc/sqlext.d

Large diffs are not rendered by default.

368 changes: 184 additions & 184 deletions etc/c/odbc/sqltypes.d
Original file line number Diff line number Diff line change
@@ -1,184 +1,184 @@
/**
Declarations for interfacing with the ODBC library.
Adapted with minimal changes from the work of David L. Davis
(refer to the $(WEB
forum.dlang.org/thread/cfk7ql$(DOLLAR)1p4n$(DOLLAR)1@digitaldaemon.com#post-cfk7ql:241p4n:241:40digitaldaemon.com,
original announcement)).
`etc.c.odbc.sqlext.d` corresponds to the `sqlext.h` C header file.
See_Also: $(LUCKY ODBC API Reference on MSN Online)
*/
module etc.c.odbc.sqltypes;

extern (Windows):

// * API declaration data types *
//alias void *HANDLE;

//alias ubyte SQLCHAR;
alias char SQLCHAR;
alias byte SQLSCHAR;
alias ubyte SQLDATE;
alias ubyte SQLDECIMAL;
alias double SQLDOUBLE;
alias double SQLFLOAT;
alias int SQLINTEGER;
alias ushort SQLUINTEGER;
alias ubyte SQLNUMERIC;
alias float SQLREAL;
alias ubyte SQLTIME;
alias ubyte SQLTIMESTAMP;
alias ubyte SQLVARCHAR;
alias void * SQLPOINTER;
alias short SQLSMALLINT;
alias ushort SQLUSMALLINT;

// * function return type *
alias SQLSMALLINT SQLRETURN;

// * generic data structures *
alias void * SQLHANDLE;
alias SQLHANDLE SQLHENV;
alias SQLHANDLE SQLHDBC;
alias SQLHANDLE SQLHSTMT;
alias SQLHANDLE SQLHDESC;

// * SQL portable types for C *
//alias ubyte UCHAR; // std.c.windows.windows has this alias
//alias char UCHAR;
alias byte SCHAR;
//alias SCHAR SQLSCHAR;
alias uint DWORD;
alias int SDWORD;
alias short SWORD;
alias uint UDWORD;
alias ushort UWORD;
alias short WORD;
//alias UDWORD SQLUINTEGER;
alias long SLONG;
alias short SSHORT;
alias ulong ULONG;
alias ushort USHORT;
alias double SDOUBLE;
alias double LDOUBLE;
alias float SFLOAT;
alias void* PTR;
alias void* HENV;
alias void* HDBC;
alias void* HSTMT;
alias short RETCODE;
alias SQLPOINTER HWND;
alias HWND SQLHWND;

// * transfer types for DATE, TIME, TIMESTAMP *
struct DATE_STRUCT
{
SQLSMALLINT year;
SQLUSMALLINT month;
SQLUSMALLINT day;
};

alias DATE_STRUCT SQL_DATE_STRUCT;

struct TIME_STRUCT
{
SQLUSMALLINT hour;
SQLUSMALLINT minute;
SQLUSMALLINT second;
};

alias TIME_STRUCT SQL_TIME_STRUCT;

struct TIMESTAMP_STRUCT
{
SQLSMALLINT year;
SQLUSMALLINT month;
SQLUSMALLINT day;
SQLUSMALLINT hour;
SQLUSMALLINT minute;
SQLUSMALLINT second;
SQLUINTEGER fraction;
};

alias TIMESTAMP_STRUCT SQL_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 SQLGUID GUID;
alias uint BOOKMARK;
alias ushort SQLWCHAR;

version( UNICODE )
{
alias SQLWCHAR SQLTCHAR;
}
else
{
alias SQLCHAR SQLTCHAR;
} // end version( UNICODE )
/**
Declarations for interfacing with the ODBC library.
Adapted with minimal changes from the work of David L. Davis
(refer to the $(WEB
forum.dlang.org/thread/cfk7ql$(DOLLAR)1p4n$(DOLLAR)1@digitaldaemon.com#post-cfk7ql:241p4n:241:40digitaldaemon.com,
original announcement)).
`etc.c.odbc.sqlext.d` corresponds to the `sqlext.h` C header file.
See_Also: $(LUCKY ODBC API Reference on MSN Online)
*/
module etc.c.odbc.sqltypes;

extern (Windows):

// * API declaration data types *
//alias void *HANDLE;

//alias ubyte SQLCHAR;
alias char SQLCHAR;
alias byte SQLSCHAR;
alias ubyte SQLDATE;
alias ubyte SQLDECIMAL;
alias double SQLDOUBLE;
alias double SQLFLOAT;
alias int SQLINTEGER;
alias ushort SQLUINTEGER;
alias ubyte SQLNUMERIC;
alias float SQLREAL;
alias ubyte SQLTIME;
alias ubyte SQLTIMESTAMP;
alias ubyte SQLVARCHAR;
alias void * SQLPOINTER;
alias short SQLSMALLINT;
alias ushort SQLUSMALLINT;

// * function return type *
alias SQLSMALLINT SQLRETURN;

// * generic data structures *
alias void * SQLHANDLE;
alias SQLHANDLE SQLHENV;
alias SQLHANDLE SQLHDBC;
alias SQLHANDLE SQLHSTMT;
alias SQLHANDLE SQLHDESC;

// * SQL portable types for C *
//alias ubyte UCHAR; // std.c.windows.windows has this alias
//alias char UCHAR;
alias byte SCHAR;
//alias SCHAR SQLSCHAR;
alias uint DWORD;
alias int SDWORD;
alias short SWORD;
alias uint UDWORD;
alias ushort UWORD;
alias short WORD;
//alias UDWORD SQLUINTEGER;
alias long SLONG;
alias short SSHORT;
alias ulong ULONG;
alias ushort USHORT;
alias double SDOUBLE;
alias double LDOUBLE;
alias float SFLOAT;
alias void* PTR;
alias void* HENV;
alias void* HDBC;
alias void* HSTMT;
alias short RETCODE;
alias SQLPOINTER HWND;
alias HWND SQLHWND;

// * transfer types for DATE, TIME, TIMESTAMP *
struct DATE_STRUCT
{
SQLSMALLINT year;
SQLUSMALLINT month;
SQLUSMALLINT day;
};

alias DATE_STRUCT SQL_DATE_STRUCT;

struct TIME_STRUCT
{
SQLUSMALLINT hour;
SQLUSMALLINT minute;
SQLUSMALLINT second;
};

alias TIME_STRUCT SQL_TIME_STRUCT;

struct TIMESTAMP_STRUCT
{
SQLSMALLINT year;
SQLUSMALLINT month;
SQLUSMALLINT day;
SQLUSMALLINT hour;
SQLUSMALLINT minute;
SQLUSMALLINT second;
SQLUINTEGER fraction;
};

alias TIMESTAMP_STRUCT SQL_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 SQLGUID GUID;
alias uint BOOKMARK;
alias ushort SQLWCHAR;

version( UNICODE )
{
alias SQLWCHAR SQLTCHAR;
}
else
{
alias SQLCHAR SQLTCHAR;
} // end version( UNICODE )
944 changes: 472 additions & 472 deletions etc/c/odbc/sqlucode.d

Large diffs are not rendered by default.

33 changes: 23 additions & 10 deletions posix.mak
Original file line number Diff line number Diff line change
Expand Up @@ -189,17 +189,19 @@ EXTRA_MODULES_OSX := $(addprefix std/c/osx/, socket)
EXTRA_MODULES_FREEBSD := $(addprefix std/c/freebsd/, socket)
EXTRA_MODULES_WIN32 := $(addprefix std/c/windows/, com stat windows \
winsock) $(addprefix std/windows/, charset iunknown syserror)
ifeq (,$(findstring win,$(OS)))
EXTRA_DOCUMENTABLES:=$(EXTRA_MODULES_LINUX)
else
EXTRA_DOCUMENTABLES:=$(EXTRA_MODULES_WIN32)
endif

# Other D modules that aren't under std/
EXTRA_DOCUMENTABLES += $(addprefix etc/c/,curl odbc/sql odbc/sqlext \
EXTRA_MODULES_COMMON := $(addprefix etc/c/,curl odbc/sql odbc/sqlext \
odbc/sqltypes odbc/sqlucode sqlite3 zlib) $(addprefix std/c/,fenv locale \
math process stdarg stddef stdio stdlib string time wcharh)
EXTRA_MODULES += $(EXTRA_DOCUMENTABLES) $(addprefix \

ifeq (,$(findstring win,$(OS)))
EXTRA_DOCUMENTABLES := $(EXTRA_MODULES_LINUX) $(EXTRA_MODULES_COMMON)
else
EXTRA_DOCUMENTABLES := $(EXTRA_MODULES_WIN32) $(EXTRA_MODULES_COMMON)
endif

EXTRA_MODULES_INTERNAL := $(addprefix \
std/internal/digest/, sha_SSSE3 ) $(addprefix \
std/internal/math/, biguintcore biguintnoasm biguintx86 \
gammafunction errorfunction) $(addprefix std/internal/, \
Expand All @@ -208,14 +210,17 @@ EXTRA_MODULES += $(EXTRA_DOCUMENTABLES) $(addprefix \
$(addprefix std/internal/test/, dummyrange) \
$(addprefix std/algorithm/, internal)

EXTRA_MODULES += $(EXTRA_DOCUMENTABLES) $(EXTRA_MODULES_INTERNAL)

# Aggregate all D modules relevant to this build
D_MODULES = $(STD_MODULES) $(EXTRA_MODULES)
# Add the .d suffix to the module names
D_FILES = $(addsuffix .d,$(D_MODULES))
# Aggregate all D modules over all OSs (this is for the zip file)
ALL_D_FILES = $(addsuffix .d, $(D_MODULES) \
ALL_D_FILES = $(addsuffix .d, $(STD_MODULES) $(EXTRA_MODULES_COMMON) \
$(EXTRA_MODULES_LINUX) $(EXTRA_MODULES_OSX) $(EXTRA_MODULES_FREEBSD) \
$(EXTRA_MODULES_WIN32)) std/internal/windows/advapi32.d \
$(EXTRA_MODULES_WIN32) $(EXTRA_MODULES_INTERNAL)) \
std/internal/windows/advapi32.d \
std/windows/registry.d std/c/linux/pthread.d std/c/linux/termios.d \
std/c/linux/tipc.d

Expand Down Expand Up @@ -457,10 +462,18 @@ html_consolidated :
cat $(DOCSRC)/std_consolidated_header.html $(BIGHTMLS) \
$(DOCSRC)/std_consolidated_footer.html > $(DOC_OUTPUT_DIR)/std_consolidated.html

#################### test for undesired white spaces ##########################
CWS_TOCHECK = posix.mak win32.mak win64.mak osmodel.mak
CWS_TOCHECK += $(ALL_D_FILES) index.d
CWS_TOCHECK += $(filter-out etc/c/zlib/ChangeLog,$(ALL_C_FILES))

checkwhitespace: $(LIB)
$(DMD) $(DFLAGS) -defaultlib= -debuglib= $(LIB) -run ../dmd/src/checkwhitespace.d $(CWS_TOCHECK)

#############################

.PHONY : auto-tester-build
auto-tester-build: all
auto-tester-build: all checkwhitespace

.PHONY : auto-tester-test
auto-tester-test: unittest
Expand Down