Update the comment for the Postgres version of pokedex load.

This commit is contained in:
Petr Viktorin 2011-03-29 23:50:23 +03:00 committed by Eevee
parent d8840fdf5b
commit 3bfb7f0bb9

View file

@ -174,14 +174,10 @@ def load(session, tables=[], directory=None, drop_tables=False, verbose=False, s
if not safe and session.connection().dialect.name == 'postgresql': if not safe and session.connection().dialect.name == 'postgresql':
""" """
Postgres' CSV dialect is nearly the same as ours, except that it Postgres' CSV dialect works with our data, if we mark the not-null
treats completely empty values as NULL, and empty quoted columns with FORCE NOT NULL.
strings ("") as an empty strings. COPY is only allowed for DB superusers. If you're not one, use safe
Pokedex dump does not quote empty strings. So, both empty strings loading (pokedex load -S).
and NULLs are read in as NULL.
For an empty string in a NOT NULL column, the load will fail, and
load will fall back to the cross-backend row-by-row loading. And in
nullable columns, we already load empty stings as NULL.
""" """
session.commit() session.commit()
not_null_cols = [c for c in column_names if not table_obj.c[c].nullable] not_null_cols = [c for c in column_names if not table_obj.c[c].nullable]