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

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.