Skip to content

v2.1.2

Choose a tag to compare

@WilliamSmithEdward WilliamSmithEdward released this 01 Oct 23:41
· 14 commits to main since this release

WHILE loops, temporary tables can be changed and hold their declared
types, and the startup warm reads first pages only again.

pip install --upgrade pysqlbridge

WHILE runs. It ran its body once and reported success, so
WHILE @i < 3 SET @i += 1 left @i at 1. BREAK and CONTINUE work
from inside blocks, IFs and TRYs, and outside a loop they are msg 135 and
136, settled while compiling. A loop is stopped at its 100,000th turn. (#3)

UPDATE, DELETE and TRUNCATE of a temporary table work. They reported
success and changed nothing. They now change the table, set @@ROWCOUNT,
and refuse a missing table or column with 208, 4701 and 207. A failed
UPDATE leaves every row as it was. A form with a FROM, TOP or OUTPUT
is refused by name. (#2)

A temporary table holds its declared types. A value converts the way
a cast converts it: '7' into an int is 7 and 'q' is msg 245. Text too
long for its column is 2628, and the INSERT keeps none of its rows. A
datetime column is declared and served as one.

Smaller fixes.

  • BEGIN DISTRIBUTED TRANSACTION written as SQL is refused. (#4)
  • An unaliased window function has no column name, as on SQL Server. (#8)
  • The join ceiling is msg 50000, not 208. (#7)
  • The startup warm takes one request per source again, where a ten-page
    source took eleven. (#5)
  • A named table replaces a discovered one of the same name. (#6)
  • A publish run started by hand publishes nothing. (#9)

differential.ps1 now compares column headings too. All 1,243 queries
and 175 batches agree with SQL Server 2025.