Jerry Nixon

PostgreSQL to SQL Field Notes: Date & Time

Welcome to SQL First, welcome to SQL! You’re going to like this. Upgrading from PostgreSQL is real work, and depending on your old PostgreSQL, that process can vary widely in complexity. You’re going to love the mindful and modern features of SQL. Take your time, make the most of the resources built to help you […]

PostgreSQL to SQL Field Notes: Date & Time Continue Reading

SQL Decomposition in a Nutshell

Application developers already know what happens when one method does everything: it becomes difficult to read, test, reason over, and safely change. We use patterns like decomposition, encapsulation, and explicit dependencies because they solve those problems. T-SQL does not give us classes, inheritance, interfaces, or polymorphism in the same way C# does, but that does

SQL Decomposition in a Nutshell Continue Reading

Advocating for Uptime: The 6 Phases of Change

Schema change is inevitable. We do not get everything right the first time, and even when we do, the world around the database keeps changing. Requirements mature, products evolve, and assumptions that made sense years ago eventually stop matching reality. Businesses change too. We acquire companies, merge with other customers and systems, enter new markets,

Advocating for Uptime: The 6 Phases of Change Continue Reading

Try the new SqlClient and Retry connections natively

The 2002 release of the original .NET Framework shipped ADO.NET and System.Data.SqlClient, the driver for SQL Server that gave .NET applications a standard connection approach. Over the years, updates, enhancements, and patches solidified these BCL classes as an integral dependency for millions of line-of-business applications that fueled innovation, business, and the world economy. Then in

Try the new SqlClient and Retry connections natively Continue Reading

The Two Hybrid Searches in Microsoft SQL

Hybrid search is usually described as combining keyword search with vector search. Microsoft SQL does that, for sure, but we do quite a bit more right out of the box. SQL dynamically evaluates queries and switches between kNN and ANN vector search based on cost and selectivity. These two types of hybrid search, work together,

The Two Hybrid Searches in Microsoft SQL Continue Reading

Your best friend: BlockOnPossibleDataLoss=True

Let’s start with an admission: developers all hate BlockOnPossibleDataLoss. It is the bane of a smooth development workflow, as significant schema changes can block deployment because of BlockOnPossibleDataLoss. Having said that, there’s more to life than the developer’s local loop. In fact, it’s arguable that the local loop, while important to you and me, is

Your best friend: BlockOnPossibleDataLoss=True Continue Reading

T-SQL Hygiene: Introducing the Covering Index

Often in applications, we write database queries. And often, the same query is executed again and again. To make queries against large tables faster, we can add an index. This is a general improvement for anyone accessing the table. However, there is a specially designed index called a covering index that can make queries against large

T-SQL Hygiene: Introducing the Covering Index Continue Reading