-
-
Save glassresistor/2c1e5c4a999eb9d48b555f129eb2aad2 to your computer and use it in GitHub Desktop.
CREATE OR REPLACE FUNCTION remove_words(message text) RETURNS SETOF text AS $$ | |
BEGIN | |
RETURN QUERY select * from regexp_split_to_table(message, E'\\s+') except select boring_words.word from boring_words where boring_words.word = ANY(regexp_split_to_array(message, E'\\s+')); | |
END; | |
$$ LANGUAGE plpgsql; |
mikela=# CREATE OR REPLACE FUNCTION remove_words(message text) RETURNS SETOF text AS $$
mikela$# DECLARE
mikela$# allowed_words text;
mikela$# BEGIN
mikela$# select boring_words.word into allowed_words from boring_words where boring_words.word IN regexp_split_to_array(message, E'\s+');
mikela$# RETURN QUERY select * from original_words except select * from allowed_words;
mikela$# END;
mikela$# $$ LANGUAGE plpgsql;
ERROR: syntax error at or near "regexp_split_to_array"
LINE 5: ...ords from boring_words where boring_words.word IN regexp_spl...
ERROR: relation "allowed_words" does not exist
LINE 1: ...t_to_table(message, E'\s+') except select * from allowed_wo...
^
QUERY: select * from regexp_split_to_table(message, E'\s+') except select * from allowed_words
CONTEXT: PL/pgSQL function remove_words(text) line 6 at RETURN QUERY
what sucks is this works