NAME
DBIO::MSSQL::SQLMaker - MSSQL-specific SQL generation for DBIO
VERSION
version 0.900000
DESCRIPTION
DBIO::SQLMaker subclass for Microsoft SQL Server. Implements LIMIT/OFFSET via ROW_NUMBER() OVER() (the dialect SQL Server 2005+ supports) and overrides the default OVER() order expression to use (SELECT(1)) because MSSQL does not support an empty OVER() clause.
Used automatically by DBIO::MSSQL::Storage.
METHODS
apply_limit
my $sql = $sqlmaker->apply_limit($sql, $rs_attrs, $rows, $offset);
MSSQL has no LIMIT/OFFSET keyword (before 2012's OFFSET ... FETCH). DBIO targets the broadly compatible ROW_NUMBER() OVER() windowing dialect: the query is wrapped in a derived table that numbers rows, then sliced by WHERE rno BETWEEN offset+1 AND offset+rows. Replaces the DBIx::Class sql_limit_dialect string dispatch.
SEE ALSO
DBIO::MSSQL::Storage - MSSQL storage (uses this SQL maker)
DBIO::SQLMaker - Base SQL maker class
AUTHOR
DBIO & DBIx::Class Authors
COPYRIGHT AND LICENSE
Copyright (C) 2026 DBIO Authors Portions Copyright (C) 2005-2025 DBIx::Class Authors Based on DBIx::Class, heavily modified.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.