FreeTDS is an open-source C library that implements the Tabular Data Stream (TDS) protocol, providing client connectivity to Sybase and Microsoft SQL Server databases. It exposes three API layers: DB-Library (compatible with Sybase/Microsoft's db-lib), CT-Library (Sybase's client library), and a full ODBC driver. The library also includes a connection pool server, server-side test infrastructure, and command-line tools such as `tsql`, `fisql`, `freebcp`, `bsqldb`, and `defncopy`. Core protocol handling lives in `src/tds/`, which manages login, authentication (NTLM, Kerberos, SSPI), encryption (TLS via OpenSSL or GnuTLS), packet framing, query submission, cursor management, and bulk copy. The architecture is layered and modular, with clean stream I/O, threading, and character conversion abstractions that make components independently reusable. The codebase is cross-platform (Unix, Windows, VMS) and supports TDS versions 4.2 through 8.0, adapting to server-specific behaviors. Despite its age and some legacy compatibility code, it remains actively maintained and widely used as a reliable database connectivity layer in production environments.
This repository contains the Virtuoso Open-Source multi-model database server, primarily written in C, with extensive client libraries in Java, C#, and PHP. In production, it functions as a relational database, RDF triple store, SPARQL query endpoint, XML processor, and application server (VSPX). The architecture is a monolithic server process with plugin extensions for hosting languages (CLR, Java, PHP) and connectivity via ODBC, JDBC, OLE DB, and ADO.NET. Key entry points include the Virtuoso server binary (built from libsrc/Wi/ and libsrc/Dk/), ODBC driver (binsrc/virtodbc/), JDBC Type 4 driver (libsrc/JDBCDriverType4/), and .NET client (binsrc/VirtuosoClient.Net/). Data flows include SQL parsing and execution via the Wi module, RDF/SPARQL query processing, and WebDAV/HTTP file management through the built-in web server. External dependencies include PCRE, zlib, HTML Tidy (libsrc/Tidy/), and curl. The repository also contains a suite of web applications (ODS) for blogging, bookmarks, calendar, wiki, etc., built on a common SQL-based framework, and a comprehensive test suite covering performance benchmarks (BSBM, LUBM, TPC-D/H). Despite its breadth, the codebase shows signs of age: multiple duplicate Jena driver versions, a legacy Ajax toolkit (OAT), and hardcoded paths in test scripts. It remains actively maintained with regular commits and issue triage.