Latest Tech News

Stay updated with the latest in technology, AI, cybersecurity, and more

Filtered by: sql Clear Filter

Microsoft Python Driver for SQL Server

Microsoft Python Driver for SQL Server mssql-python is a Python driver for Microsoft SQL Server and the Azure SQL family of databases. It leverages Direct Database Connectivity (DDBC) that enables direct connections to SQL Server without requiring an external driver manager. Designed to comply with the DB API 2.0 specification, this driver also introduces Pythonic enhancements for improved usability and functionality. It supports a full range of database operations, including connection managem

SQLiteData: A fast, lightweight replacement for SwiftData using SQL and CloudKit

SQLiteData A fast, lightweight replacement for SwiftData, powered by SQL and supporting CloudKit synchronization. Learn more This library was motivated and designed over the course of many episodes on Point-Free, a video series exploring advanced programming topics in the Swift language, hosted by Brandon Williams and Stephen Celis. To support the continued development of this library, subscribe today. Overview SQLiteData is a fast, lightweight replacement for SwiftData, including CloudKit

SQL performance improvements: finding the right queries to fix

A few weeks ago, we massively improved the performance of the dashboard & website by optimizing some of our SQL queries. In this post, we'll share how we identified the queries that needed work. In the next post, we'll explore how we fixed each of them. We'll cover the basics and gradually work our way up to the more advanced/complex ways of identifying slow queries. In this post, you'll see: Let's go! What these results look like # As a reminder, this is the resulting performance gain for

Rails on SQLite: new ways to cause outages

Rails on SQLite: exciting new ways to cause outages This post was originally given as a talk for Friendly.rb. The slides are also available. Between Litestack and the Rails 8 trifecta of Solid Cable, Solid Cache, and Solid Queue, it’s easier than ever to spin up a Rails app that doesn’t need a database service, or a redis service, or a file storage service. It’s great to simplify things, but even after 20 years of deploying Rails apps I was still caught out by some of the ways things are diffe

PgEdge Goes Open Source

In November last year after nearly two decades at my previous gig, I came to the conclusion that I didn’t want to work at what seemed to be rapidly becoming an AI-focused company and moved to pgEdge where the focus is well and truly on distributed PostgreSQL and Postgres generally. Distributed databases (and particularly Postgres of course) have always been a passion of mine – even being a key topic of my master’s dissertation many years ago. Moving to pgEdge was a breath of fresh air. Not only

SQLite's Use of Tcl (2017)

SQLite's Use Of Tcl D. Richard Hipp 24th Annual Tcl/Tk Conference Houston, TX 2017-10-19 1.0 Introduction SQLite is a TCL extension that has escaped into the wild. The design of SQLite was inspired by the design of TCL, both in the way it handles datatypes and in the formatting of its source code. The index use case for SQLite was in a Tcl/Tk application for an industrial company. From its inception, SQLite has always depended heavily on TCL. These days, SQLite no longer uses TCL internal

SQLite's Use of Tcl

SQLite's Use Of Tcl D. Richard Hipp 24th Annual Tcl/Tk Conference Houston, TX 2017-10-19 1.0 Introduction SQLite is a TCL extension that has escaped into the wild. The design of SQLite was inspired by the design of TCL, both in the way it handles datatypes and in the formatting of its source code. The index use case for SQLite was in a Tcl/Tk application for an industrial company. From its inception, SQLite has always depended heavily on TCL. These days, SQLite no longer uses TCL internal

Rearchitecting GitHub Pages (2015)

GitHub Pages, our static site hosting service, has always had a very simple architecture. From launch up until around the beginning of 2015, the entire service ran on a single pair of machines (in active/standby configuration) with all user data stored across 8 DRBD backed partitions. Every 30 minutes, a cron job would run generating an nginx map file mapping hostnames to on-disk paths. There were a few problems with this approach: new Pages sites did not appear until the map was regenerated (p

What If OpenDocument Used SQLite?

Small. Fast. Reliable. Choose any three. Home Menu About Documentation Download License Support Purchase Search About Documentation Download Support Purchase Search Documentation Search Changelog What If OpenDocument Used SQLite? Introduction Suppose the OpenDocument file format, and specifically the "ODP" OpenDocument Presentation format, were built around SQLite. Benefits would include: Smaller documents Faster File/Save times Faster startup times Less memory used Document

Lessons from building an AI data analyst

AI/ML Data Analytics Malloy Malloy TL;DR Text-to-SQL is not enough. Answering real user questions requires going the extra mile like multi-step plans, external tools (coding) and external context. Answering real user questions requires going the extra mile like multi-step plans, external tools (coding) and external context. Context is the product. A semantic layer (we use Malloy ⎋) encodes business meaning and sharply reduces SQL complexity. A semantic layer (we use Malloy ⎋) encodes busines

An adventure in writing compatible systems

Turso is a rewrite of SQLite from scratch in Rust. We aim to keep full compatibility with SQLite, while adding new and exciting features like CDC, concurrent writes, encryption, among many others. It is currently in alpha, but progressing fast and getting close to a point where it can be used for production workloads. Rewriting existing software systems is a special kind of hard. Aside from the difficulty in writing the software itself, you have to deal with behaviors of the existing system tha

SQLite's documentation about its durability properties is unclear

One of the most important properties of a database is durability. Durability means that after a transaction commits, you can be confident that, absent catastrophic hardware failure, the changes made by the commit won't be lost. This should remain true even if the operating system crashes or the system loses power soon after the commit. On Linux, and most other Unix operating systems, durability is ensured by calling the fsync system call at the right time. Durability comes at a performance cost

SQLite's Durability Settings Are a Mess

One of the most important properties of a database is durability. Durability means that after a transaction commits, you can be confident that, absent catastrophic hardware failure, the changes made by the commit won't be lost. This should remain true even if the operating system crashes or the system loses power soon after the commit. On Linux, and most other Unix operating systems, durability is ensured by calling the fsync system call at the right time. Durability comes at a performance cost

PG Auto Upgrade – Docker (and K8s) container to auto upgrade your database

pgautoupgrade This is a PostgreSQL Docker image to automatically upgrade your database. Its whole purpose in life is to automatically detect the version of PostgreSQL used in the existing PostgreSQL data directory, then automatically upgrade it (if needed) to the required version of PostgreSQL using pg_upgrade with the --link option. After this, the PostgreSQL server starts and runs as per normal. The old cluster data will be removed. The reason this Docker image is needed, is because the of

ClickHouse matches PG for single-row UPDATEs and 4000 x faster for bulk UPDATEs

TL;DR · On identical hardware and data, ClickHouse matches PostgreSQL for single-row UPDATEs and is up to 4,000× faster in our tests for bulk UPDATEs. · Why it matters: Bulk updates are common in OLTP workloads, and ClickHouse’s columnar design + parallelism make them far faster. · Caveat: PostgreSQL is fully transactional by default; ClickHouse isn’t. Results compare each engine’s native execution model, not identical transaction guarantees. PostgreSQL is the most popular open-source

Lessons learned from building a sync-engine and reactivity system with SQLite

Over the last couple of months, I've been trying to build the dream: A local-first, end-to-end encrypted and reactive app, with all of the user's data in a local SQL database but continually synced to a remote server. This article summarizes my learning and how I ended up building a minimal sync engine for SQLite with full reactivity. First Try: PGlite and Electric My first try was with Electric and a WASM-based version of PostgreSQL called PGlite that can run directly in the browser. I ev

Litestar is worth a look

Litestar is worth a look Published on: August 6, 2025 Django, Python A few years ago at work, I had a project which offered an opportunity to look at the new generation of async-first, type-hint-driven Python web frameworks. For reasons which aren’t particularly relevant today, on that project I ended up choosing Litestar, which is the one that doesn’t have a ravenous all-consuming hype machine surrounding it. And I’m very glad I did, because today I’m more convinced than ever it was the right

Long Term Support

Long Term Support The intent of the developers is to support SQLite through the year 2050. At this writing, 2050 is still 25 years in the future. Nobody knows what will happen in that time, and we cannot absolutely promise that SQLite will be viable or useful that far out. But we can promise this: we plan as if we will be supporting SQLite until 2050. That long-term outlook affects our decisions in important ways. Cross-platform Code → SQLite runs on any platform with an 8-bit byte, two's com

SQLx – Rust SQL Toolkit

SQLx 🧰 The Rust SQL Toolkit SQLx is an async, pure Rust † SQL crate featuring compile-time checked queries without a DSL. † The SQLite driver uses the libsqlite3 C library as SQLite is an embedded database (the only way we could be pure Rust for SQLite is by porting all of SQLite to Rust). †† SQLx uses #![forbid(unsafe_code)] unless the sqlite feature is enabled. The SQLite driver directly invokes the SQLite3 API via libsqlite3-sys , which requires unsafe . Cross-platform. Being native Rust

SQLx – The Rust SQL Toolkit

SQLx 🧰 The Rust SQL Toolkit SQLx is an async, pure Rust † SQL crate featuring compile-time checked queries without a DSL. † The SQLite driver uses the libsqlite3 C library as SQLite is an embedded database (the only way we could be pure Rust for SQLite is by porting all of SQLite to Rust). †† SQLx uses #![forbid(unsafe_code)] unless the sqlite feature is enabled. The SQLite driver directly invokes the SQLite3 API via libsqlite3-sys , which requires unsafe . Cross-platform. Being native Rust

Constrained languages are easier to optimize

jyn, what the fuck are you talking about a recurring problem in modern “low-level” languages is that they are hard to optimize. they do not reflect the hardware, they require doing complex alias analysis, and they constantly allocate and deallocate memory. they looked at the structure/expressiveness tradeoff and consistently chose expressiveness. what does a faster language look like consider this paper on stream fusion in Haskell. this takes a series of nested loops, each of which logically

PSA: SQLite WAL checksums fail silently and may lose data

PSA: SQLite WAL checksums fail silently and may lose data This is a follow-up post to my PSA: SQLite does not do checksums and PSA: Most databases do not do checksums by default. In the previous posts I mentioned that SQLite does not do checksums by default, but it has checksums in WAL mode. However, on checksum errors, instead of raising error, it drops all the subsequent frames. Even if they are not corrupt. This is not a bug; it’s intentional. SQLite WAL SQLite introduced WAL in 2010. It’s

Exploits for pre-auth Fortinet FortiWeb RCE flaw released, patch now

Proof-of-concept exploits have been released for a critical SQLi vulnerability in Fortinet FortiWeb that can be used to achieve pre-authenticated remote code execution on vulnerable servers. FortiWeb is a web application firewall (WAF), which is used to protect web applications from malicious HTTP traffic and threats. The FortiWeb vulnerability has a 9.8/10 severity score and is tracked as CVE-2025-25257. Fortinet fixed it last week in FortiWeb 7.6.4, 7.4.8, 7.2.11, and 7.0.11 and later versio

Injection Rejection (2006)

Matthias Winkelmann's company decided to go the ole' outsourcing route and hand off all development work for a fixed-bid project to a certain overseas company. As it turned out, the hourly rate for certain overseas programmers were less than half that of the in-house folks, so management did the math and figured they could profit that much more. The in-house programmers were told to spend "only a little bit of time" on the project -- no technical advice, no coding assistance, and no even lookin

My Database Is My Application: Rethinking Webhook Logic with DuckDB and SQL

My Database is My Application: Rethinking Webhook Logic with DuckDB and SQL Sat May 10 2025 • duckdbsqlwebhooks Back Imagine you need to build a system for processing incoming webhooks. You're probably picturing a familiar setup: a lightweight web server (FastAPI, Flask, Express.js, etc.), some Python (or Node.js, or Go) handlers to parse JSON, a sprinkle of business logic, and then maybe persisting data to a traditional database like PostgreSQL or MySQL. Perhaps you'd toss events onto a messa

ZeQLplus: Terminal SQLite Database Browser

ZeQL+ : Terminal SQLite Database Browser Features Open any SQLite database file Very fast Runs in a Terminal / CMD window Tiny executable with no dependencies List all tables in the database to browse Paginated view of table rows Run custom SQL queries and view the results Cross platform: macOS, Linux, Windows Open source Install Pre-built binaries for macOS, Linux, Windows 10+ are available as zip files in the releases page. Just extract and run directly with no need to install. Ho

Show HN: SnapQL – Desktop app to query Postgres with AI

SnapQL cursor for data ⚡️ - explore your postgresql db in seconds demo.mp4 generate schema-aware queries in seconds with AI supports any PostgreSQL database fully local desktop app use your own OpenAI key Build SnapQL locally I will eventually ship some precompiled binaries, but that takes some setup. In the meantime, follow these steps to build a local copy:

Building agents using streaming SQL queries

LLMs are general-purpose models created from huge bodies of publicly available datasets. However, many, if not most, AI Agents for enterprise use cases require access to context such as internal data and resources, tools and services. How can this be implemented when building an agentic system using Flink SQL? First, let’s consider the case of structured data, for instance details about a given customer stored in an external database. SQL is a natural fit for accessing that kind of data: Flink

This AI Agent Should Have Been a SQL Query

LLMs are general-purpose models created from huge bodies of publicly available datasets. However, many, if not most, AI Agents for enterprise use cases require access to context such as internal data and resources, tools and services. How can this be implemented when building an agentic system using Flink SQL? First, let’s consider the case of structured data, for instance details about a given customer stored in an external database. SQL is a natural fit for accessing that kind of data: Flink