That sqlite_rename_column() function has 9 arguments. Your max was 8, but 9 max is needed to allow that 9-argument function. I'm not sure what part of that is surprising or needs to be better documented? Are you perhaps suggesting that the max does not apply to internal and UDF functions? (which I'm in support of for at least internals). As for the question "Is 9 enough?" - Who knows? do you have UDFs that take more? Do you use any internal functions that do? Am I sorely misunderstanding your premise?