| Server IP : 127.0.0.1 / Your IP : 216.73.216.48 Web Server : Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12 System : Windows NT DESKTOP-3H4FHQJ 10.0 build 19045 (Windows 10) AMD64 User : win 10 ( 0) PHP Version : 8.2.12 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : D:/xampp/perl/vendor/lib/DBIx/Class/SQLMaker/ |
Upload File : |
package # Hide from PAUSE
DBIx::Class::SQLMaker::ACCESS;
use strict;
use warnings;
use base 'DBIx::Class::SQLMaker';
# inner joins must be prefixed with 'INNER '
sub new {
my $class = shift;
my $self = $class->next::method(@_);
$self->{_default_jointype} = 'INNER';
return $self;
}
# MSAccess is retarded wrt multiple joins in FROM - it requires a certain
# way of parenthesizing each left part before each next right part
sub _recurse_from {
my @j = shift->_gen_from_blocks(@_);
# first 2 steps need no parenthesis
my $fin_join = join (' ', splice @j, 0, 2);
while (@j) {
$fin_join = sprintf '( %s ) %s', $fin_join, (shift @j);
}
# the entire FROM is *ALSO* expected parenthesized
"( $fin_join )";
}
1;