diff -c -r postgresql-snapshot/src/backend/parser/parse_utilcmd.c postgresql-snapshot-new/src/backend/parser/parse_utilcmd.c *** postgresql-snapshot/src/backend/parser/parse_utilcmd.c 2011-06-07 02:54:24.000000000 -0400 --- postgresql-snapshot-new/src/backend/parser/parse_utilcmd.c 2011-06-07 19:37:55.000000000 -0400 *************** *** 307,313 **** { char *typname = strVal(linitial(column->typeName->names)); ! if (strcmp(typname, "serial") == 0 || strcmp(typname, "serial4") == 0) { is_serial = true; --- 307,320 ---- { char *typname = strVal(linitial(column->typeName->names)); ! if (strcmp(typname, "smallserial") == 0 || ! strcmp(typname, "serial2") == 0) ! { ! is_serial = true; ! column->typeName->names = NIL; ! column->typeName->typeOid = INT2OID; ! } ! else if (strcmp(typname, "serial") == 0 || strcmp(typname, "serial4") == 0) { is_serial = true;