blob: edae5c307c60a1a672a2cd9cc97991b5dae2d52f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
-- Perl Weekly Challenge 161
CREATE SCHEMA IF NOT EXISTS pwc161;
CREATE OR REPLACE FUNCTION pwc161.pangrams()
RETURNS SETOF text
AS $CODE$
my @found;
for my $letter ( 'a' .. 'z' ){
my $query = spi_query( "SELECT word FROM pwc161.dictionary WHERE word like '%$letter%' order by random()" );
while ( defined ( $row = spi_fetchrow( $query ) ) ) {
# first word ever
push @found, $row->{ word } and return_next( $row->{ word } ) if ! @found;
next if grep /$letter/, @found;
# add the word
push @found, $row->{ word };
return_next( $row->{ word } );
}
}
return undef;
$CODE$
LANGUAGE plperl;
|