Steve, Well, you forced me to download v3.1 (;-). I confirmed your results in the SQLite shell; I think it's a bug. Also, there are some typos in the docs: the section on short_column-names is labeled full_column_names, and there are words missing from both sections. I think probably someone should write a bug ticket.
sqlite> pragma short_column_names = 0 ; sqlite> pragma full_column_names = 0 ; sqlite> SELECT A.*, B.* FROM A, B WHERE A.a_col = B.a_col ; a_col b_col a_col ---------- ---------- ---------- a3 b1 a3 sqlite> pragma full_column_names = 1 ; sqlite> SELECT A.*, B.* FROM A, B WHERE A.a_col = B.a_col ; a_col b_col a_col ---------- ---------- ---------- a3 b1 a3 sqlite> pragma short_column_names = 1 ; sqlite> pragma full_column_names = 0 ; sqlite> SELECT A.*, B.* FROM A, B WHERE A.a_col = B.a_col ; a_col b_col a_col ---------- ---------- ---------- a3 b1 a3 sqlite> pragma full_column_names = 1 ; sqlite> SELECT A.*, B.* FROM A, B WHERE A.a_col = B.a_col ; a_col b_col a_col ---------- ---------- ---------- a3 b1 a3 Regards