--- /dev/null
+use strict;
+use warnings;
+
+use Test::More;
+use SQL::Abstract;
+use SQL::Abstract::Test import => [qw/is_same_sql_bind/];
+
+
+for my $q ('', '"') {
+ my $sql_maker = SQL::Abstract->new(
+ quote_char => $q,
+ name_sep => $q ? '.' : '',
+ );
+
+ my ($sql, @bind) = $sql_maker->select ('artist', '*', { 'artist.name' => { -ident => 'artist.pseudonym' } } );
+ is_same_sql_bind (
+ $sql,
+ \@bind,
+ "SELECT *
+ FROM ${q}artist${q}
+ WHERE ${q}artist${q}.${q}name${q} = ${q}artist${q}.${q}pseudonym${q}
+ ",
+ [],
+ );
+
+ ($sql, @bind) = $sql_maker->update ('artist',
+ { 'artist.name' => { -ident => 'artist.pseudonym' } },
+ { 'artist.name' => { '!=' => { -ident => 'artist.pseudonym' } } },
+ );
+ is_same_sql_bind (
+ $sql,
+ \@bind,
+ "UPDATE ${q}artist${q}
+ SET ${q}artist${q}.${q}name${q} = ${q}artist${q}.${q}pseudonym${q}
+ WHERE ${q}artist${q}.${q}name${q} != ${q}artist${q}.${q}pseudonym${q}
+ ",
+ [],
+ );
+}
+
+done_testing;