sqlalchemy.dialects.postgresql.BYTEA has incorrect documentation

Issue #3119 resolved
jvanasco created an issue

URL

http://docs.sqlalchemy.org/en/rel_0_9/dialects/postgresql.html#sqlalchemy.dialects.postgresql.BYTEA

DOCS: """ Construct a LargeBinary type.

Parameters: length – optional, a length for the column for use in DDL statements, for those BLOB types that accept a length (i.e. MySQL). It does not produce a small BINARY/VARBINARY type - use the BINARY/VARBINARY types specifically for those. May be safely omitted if no CREATE TABLE will be issued. Certain databases may require a length for use in DDL, and will raise an exception when the CREATE TABLE DDL is issued. """

Issue:

BYTEA isn't a BLOB. ( see http://www.postgresql.org/docs/9.1/static/datatype-binary.html )

The sql standard "BLOB" isn't really in postgres. From what i've read, it should be something between a "postgres BLOB" ( as defined by the lo extension - http://www.postgresql.org/docs/9.1/static/lo.html ) and a BYTEA.

But the BYTEA format is not considered to be a BLOB within postges, and postgres has a separate "blob", so the docs shouldn't refer to this a BLOB . Possibly only mention it as the "binary Byte Array".

There's a separate discussion about actual BLOB support here - https://groups.google.com/d/topic/sqlalchemy/4TCg_TVLgHc/discussion

Comments (11)

  1. Mike Bayer repo owner

    OK, PR to change the name "BLOB" to "large binary" type. even saying "array" is too specific.

  2. Mike Bayer repo owner

    though it would be nice to list out, "for example on MySQL it does BLOB , PG it does BYTEA". then dialect sections should probably have docs on what LargeBinary does on each platform (then ".. seealso:: " in this doc as well referring to those!)

  3. Mike Bayer repo owner
    • generalize the verbiage on LargeBinary so that it doesn't create confusion for inherited classes such as BYTEA, fixes #3119
  4. Log in to comment