# sqldelight

Published articles for sqldelight.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## SQLDelight 2.0.1 fixes a Kotlin/Native thread-safety bug

DevFeed: [SQLDelight 2.0.1 fixes a Kotlin/Native thread-safety bug](<https://devfeed.tech/articles/sqldelight-2-0-1-includes-big-fix-for-kotlin-native-jigar-brahmbhatt-38144.md>)

Original publisher: [Read original article](<https://touchlab.co/2023-12-21-upgrade-to-sqldelight-201>)

Published: 2023-12-21T02:05:15Z

Content type: release

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [kotlin-native](<https://devfeed.tech/topics/kotlin-native.md>), [bug](<https://devfeed.tech/topics/bug.md>), [releases](<https://devfeed.tech/topics/releases.md>)

Tags: [bug](<https://devfeed.tech/tags/bug.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [kotlin-native](<https://devfeed.tech/tags/kotlin-native.md>), [release](<https://devfeed.tech/tags/release.md>), [sqldelight](<https://devfeed.tech/tags/sqldelight.md>)

### AI overview

SQLDelight 2.0.1 includes a fix for a Kotlin/Native thread-safety bug related to concurrent database operations, along with other fixes. The article recommends upgrading to the new version.

### Source excerpt

The 2.0.1 update for SQLDelight is out now and features a crucial bug fix addressing thread safety issues in Kotlin Native.

## Introducing Apollo Kotlin

DevFeed: [Introducing Apollo Kotlin](<https://devfeed.tech/articles/introducing-apollo-kotlin-23408.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/introducing-apollo-kotlin>)

Author: Martin Bonnin

Published: 2021-12-16T15:15:14Z

Content type: release

Language: en

Sources: [Apollo Blog](<https://devfeed.tech/sources/apollo-blog.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [GraphQL](<https://devfeed.tech/topics/graphql.md>), [client](<https://devfeed.tech/topics/client.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [Caching](<https://devfeed.tech/topics/caching.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>)

Tags: [2](<https://devfeed.tech/tags/2.md>), [2-0-0](<https://devfeed.tech/tags/2-0-0.md>), [android](<https://devfeed.tech/tags/android.md>), [announcement](<https://devfeed.tech/tags/announcement.md>), [apollo](<https://devfeed.tech/tags/apollo.md>), [build](<https://devfeed.tech/tags/build.md>), [caching](<https://devfeed.tech/tags/caching.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [coroutines](<https://devfeed.tech/tags/coroutines.md>), [feature](<https://devfeed.tech/tags/feature.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [improvements](<https://devfeed.tech/tags/improvements.md>), [ios](<https://devfeed.tech/tags/ios.md>), [js](<https://devfeed.tech/tags/js.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [linux](<https://devfeed.tech/tags/linux.md>), [macos](<https://devfeed.tech/tags/macos.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [new-features](<https://devfeed.tech/tags/new-features.md>), [sqldelight](<https://devfeed.tech/tags/sqldelight.md>)

### AI overview

Apollo announces Apollo Kotlin, the renamed and fully Kotlin-based successor to Apollo Android. Apollo Kotlin is a type-safe, caching GraphQL client that generates models from GraphQL queries and adds multiplatform support, coroutine APIs, response-based code generation, SQLite batching, test builders, and cache policy directives.

### Source excerpt

We're thrilled to announce Apollo Kotlin! For the past while we've been heads down converting Apollo Android to be 100% Kotlin based, which means Apollo Android now works with any Kotlin based application, website or even server. Because of this, we're renaming the project to Apollo Kotlin! Apollo Kotlin is a type-safe, caching GraphQL client.

## SQLDelight on the Server

DevFeed: [SQLDelight on the Server](<https://devfeed.tech/articles/sqldelight-on-the-server-30599.md>)

Original publisher: [Read original article](<https://ryanharter.com/blog/2020/08/sqldelight-on-the-server/>)

Published: 2020-08-27T16:05:00Z

Content type: article

Language: en

Sources: [Blogs on Ryan Harter](<https://devfeed.tech/sources/blogs-on-ryan-harter.md>)

Topics: [Object-relational mapping](<https://devfeed.tech/topics/orm.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [MySQL](<https://devfeed.tech/topics/mysql.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [api](<https://devfeed.tech/tags/api.md>), [mariadb](<https://devfeed.tech/tags/mariadb.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [orm](<https://devfeed.tech/tags/orm.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [sql](<https://devfeed.tech/tags/sql.md>), [sqldelight](<https://devfeed.tech/tags/sqldelight.md>)

### AI overview

The article explains how SQLDelight evolved from an Android ORM into a multiplatform database access tool that supports server-grade dialects such as MySQL, MariaDB, PostgreSQL, and H2. It also describes using SQLDelight with MySQL in a currency conversion API called Gringotts.

### Source excerpt

I've used Cashapp's SQLDelight for years in my Android apps. Unlike other ORM libraries, which create an abstraction that allows you to access databases in native code and generates the SQL to access the data for you, SQLDelight embraces SQL as a first class language, recognizing it's optimizations for defining and querying data, and allows you to write queries and data definitions and generates consuming code based on those. Over the last few years SQLDelight has been transformed from a nice Android ORM that integrates nicely with AutoValue into a mutliplatform option to access and manage your data without having to learn another query abstraction.

## Multiplatform Encryption with SQLDelight and SQLCipher - Samuel Hill

DevFeed: [Multiplatform Encryption with SQLDelight and SQLCipher - Samuel Hill](<https://devfeed.tech/articles/multiplatform-encryption-with-sqldelight-and-sqlcipher-samuel-hill-38299.md>)

Original publisher: [Read original article](<https://touchlab.co/multiplatform-encryption-with-sqldelight-and-sqlcipher>)

Published: 2020-07-14T14:11:43Z

Content type: tutorial

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Encryption](<https://devfeed.tech/topics/encryption.md>), [kotlin-native](<https://devfeed.tech/topics/kotlin-native.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [SQLite](<https://devfeed.tech/topics/sqlite.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [code-sharing](<https://devfeed.tech/tags/code-sharing.md>), [encryption](<https://devfeed.tech/tags/encryption.md>), [ios](<https://devfeed.tech/tags/ios.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [kotlin-native](<https://devfeed.tech/tags/kotlin-native.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [sqldelight](<https://devfeed.tech/tags/sqldelight.md>), [sqlite](<https://devfeed.tech/tags/sqlite.md>), [thoughts](<https://devfeed.tech/tags/thoughts.md>)

### AI overview

The article explains integrating SQLCipher encryption into a Kotlin/Native and Kotlin Multiplatform project using SQLDelight. It describes how SQLDelight's linkSqlite setting can cause vanilla SQLite3 to be linked, and warns that undocumented encryption behavior in iOS's SQLite build should not be mistaken for intentional SQLCipher usage.

### Source excerpt

Last year we received a PR to SQLiter (The Kotlin/Native driver that Touchlab maintains for SQLDelight) which laid the groundwork for handling encryption of our SQLite databases. Recently, Kevin Schildhorn and I have been working on taking the next step of introducing an encryption library in our Kotlin/Native build, specifically, SQLCipher. The first wrinkle we ran in to was that vanilla SQLite3 seemed to be getting linked automatically which made ensuring SQLCipher gets used tricky.

## Supporting Multiple Dialects in SQLDelight

DevFeed: [Supporting Multiple Dialects in SQLDelight](<https://devfeed.tech/articles/supporting-multiple-dialects-in-sqldelight-25527.md>)

Original publisher: [Read original article](<https://aleckazakova.com/posts/multiple-dialects/>)

Author: Author

Published: 2020-02-13T18:15:17Z

Content type: article

Language: en

Sources: [Posts on AlecStrong](<https://devfeed.tech/sources/posts-on-alecstrong.md>)

Topics: [SQLite](<https://devfeed.tech/topics/sqlite.md>), [MySQL](<https://devfeed.tech/topics/mysql.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [SQL](<https://devfeed.tech/topics/sql.md>), [Parsing](<https://devfeed.tech/topics/parsing.md>), [ANTLR](<https://devfeed.tech/topics/antlr.md>)

Tags: [compiler](<https://devfeed.tech/tags/compiler.md>), [compilers](<https://devfeed.tech/tags/compilers.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [intellij](<https://devfeed.tech/tags/intellij.md>), [lexer](<https://devfeed.tech/tags/lexer.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [parsing](<https://devfeed.tech/tags/parsing.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [python](<https://devfeed.tech/tags/python.md>), [sql](<https://devfeed.tech/tags/sql.md>), [sqldelight](<https://devfeed.tech/tags/sqldelight.md>), [sqlite](<https://devfeed.tech/tags/sqlite.md>)

### AI overview

This article explains how SQLDelight supports multiple SQL dialects, including SQLite 3.18, SQLite 3.24, and MySQL. It describes the compiler, lexer, parser, AST, and the use of JetBrains Grammar Kit to build composable parsing and incrementally extend dialect support.

### Source excerpt

With SQLDelight 1.3.0 and above we now support multiple dialects of SQL (at time of writing: SQLite 3.18, SQLite 3.24, and MySQL). They're not complete implementations of any of those dialects but they support necessary features and the real meat of the release is a straightforward framework for adding parts of the dialects incrementally. For example, SQLite 3.24 is just SQLite 3.18 with upsert on top (thank you Angus Holder!).

## Kotlin Multiplatform Library - Touchlab

DevFeed: [Kotlin Multiplatform Library - Touchlab](<https://devfeed.tech/articles/kotlin-multiplatform-library-touchlab-38269.md>)

Original publisher: [Read original article](<https://touchlab.co/kotlin-multiplatform-library>)

Published: 2019-11-19T22:31:00Z

Content type: tutorial

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [kotlin-multiplatform-libraries](<https://devfeed.tech/topics/kotlin-multiplatform-libraries.md>), [Library](<https://devfeed.tech/topics/library.md>), [cross-platform](<https://devfeed.tech/topics/cross-platform.md>)

Tags: [code-sharing](<https://devfeed.tech/tags/code-sharing.md>), [coroutines](<https://devfeed.tech/tags/coroutines.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [kmp](<https://devfeed.tech/tags/kmp.md>), [koin](<https://devfeed.tech/tags/koin.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [kotlin-multiplatform-libraries](<https://devfeed.tech/tags/kotlin-multiplatform-libraries.md>), [ktor](<https://devfeed.tech/tags/ktor.md>), [library](<https://devfeed.tech/tags/library.md>), [sqldelight](<https://devfeed.tech/tags/sqldelight.md>), [sqlite](<https://devfeed.tech/tags/sqlite.md>), [thoughts](<https://devfeed.tech/tags/thoughts.md>)

### AI overview

Touchlab provides an overview of Kotlin Multiplatform libraries, listing libraries used by Touchlab, JetBrains, and the community, along with sample apps and a presentation on Kotlin Multiplatform library development.

### Source excerpt

Introduction to Kotlin Multiplatform explains how KMP is pragmatic programming to develop apps on multiple platforms & avoid writing code twice.

## SQLite/SQLDelight ❤ Kotlin Multiplatform - Kevin Galligan

DevFeed: [SQLite/SQLDelight ❤ Kotlin Multiplatform - Kevin Galligan](<https://devfeed.tech/articles/sqlite-sqldelight-kotlin-multiplatform-kevin-galligan-38321.md>)

Original publisher: [Read original article](<https://touchlab.co/sqlite-sqldelight-kotlin-multiplatform>)

Published: 2018-05-04T18:52:53Z

Content type: article

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [kotlin-native](<https://devfeed.tech/topics/kotlin-native.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Databases](<https://devfeed.tech/topics/databases.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [built-by-touchlab](<https://devfeed.tech/tags/built-by-touchlab.md>), [code-sharing](<https://devfeed.tech/tags/code-sharing.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [kotlin-native](<https://devfeed.tech/tags/kotlin-native.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [press](<https://devfeed.tech/tags/press.md>), [sql](<https://devfeed.tech/tags/sql.md>), [sqldelight](<https://devfeed.tech/tags/sqldelight.md>), [sqlite](<https://devfeed.tech/tags/sqlite.md>), [testing](<https://devfeed.tech/tags/testing.md>), [thoughts](<https://devfeed.tech/tags/thoughts.md>)

### AI overview

The article discusses Kotlin Multiplatform development using Kotlin/Native, the need for shared libraries across Android and iOS, and running SQLDelight on iOS.

### Source excerpt

A few weeks back I posted a piece about Mobile Oriented Architecture and how I think coding products for screens will evolve. At the end, I said I was keeping an eye out for the Kotlin/Native multiplatform commit. I was. Really. Read the commit emails every morning. Yet somehow I missed the fact that multiplatform was possible. You can build multiplatform projects using Kotlin/Native. I won't say it's super productive yet, but you can do it.