in reply to DBD::CSV oddity? (solved)

Yes, POSITION(substring,string) is now a built-in function (see SQL::Statement::Functions so it can't be used as an identifier. I should make function names reserved words so that a warning is issued when you attmept to name a column with the name of a function. Sorry for the difficulties.

update If you have no use for the POSITION() function and you want a column named POSITION, you can probably issue "DROP FUNCTION position" and then use it as a column name. You can do this with most keywords too - "DROP KEYWORD foo" although not with structurally critical keywords like FROM and WHERE.