SQG (SQL to Code Generator), geliştiricilerin .sql dosyalarına ek açıklamalı sorgular yazarak TypeScript ve Java için güçlü tip güvenceli veritabanı erişim kodu oluşturmasını sağlayan bir araçtır. Derleme zamanında gerçek veritabanı motorlarına karşı sorguları inceleyerek çalışır. SQG'nin yeni v0.10.0 sürümü, özellikle Java geliştiricileri için önemli iyileştirmeler ve yeni özellikler sunuyor. Bu güncellemeler, kod üretimini daha verimli ve esnek hale getiriyor.
Yeni sürümle birlikte, üretilen Java kodu artık List<T> döndüren metotlara ek olarak Stream<T> döndüren metotları da içeriyor. Bu özellik, tembel değerlendirme (lazy evaluation) imkanı sunarak standart kütüphane ile daha kolay birleşim sağlıyor. Ayrıca, büyük sonuç kümelerinin belleğe tamamen yüklenmesini gereksiz yere önleyerek bellek kullanımını optimize ediyor. Stream nesnesi, temel ResultSet'e bir referans tuttuğu için, kullanımdan sonra try-with-resources yapısı ile kapatılması gerekiyor. Bu, kaynak yönetimini güvence altına alıyor.
SQG v0.10.0 ayrıca Java'da dizi/liste alanları için daha iyi destek sunuyor. TEXT[] veya INTEGER[] gibi dizi sütunları, üretilen Java kodunda artık doğru şekilde işleniyor. Daha önce bu türler yanlış eşleşmelere yol açabiliyordu; şimdi ise doğru bir şekilde List<String>, List<Integer> gibi Java liste türlerine çözümleniyorlar. DuckDB tarafında ise, appender artık liste/dizi sütun türlerini destekliyor. Eğer tablonuzda tags VARCHAR[] gibi bir sütun varsa, üretilen appender metodu ilgili liste türünü kabul ediyor ve DuckDB'nin toplu ekleme (bulk insert) API'sini kullanarak veriyi doğru bir şekilde yazıyor. Bu güncellemeler, SQG'nin farklı veritabanı türleri ve veri yapılarıyla uyumluluğunu artırıyor.
SQG'nin yeni sürümü, Java geliştiricilerine daha verimli veri işleme ve daha doğru veri tipi eşleştirmeleri sunarak veritabanı erişim kodunun kalitesini ve performansını artırıyor.