[HACKERS] Re: [PATCHES] Raymond Toy: Case sensitivity bug with large objects!
| От | Vadim B. Mikheev |
|---|---|
| Тема | [HACKERS] Re: [PATCHES] Raymond Toy: Case sensitivity bug with large objects! |
| Дата | |
| Msg-id | aa91374440fc52be32cf5d410fd17d98 обсуждение исходный текст |
| Список | pgsql-hackers |
Bruce Momjian wrote: > > > Also, please change vacuum: > > > > /* don't vacuum large objects for now - something breaks when we do */ > > if ( (strlen(rname) > 4) && rname[0] == 'X' && > > rname[1] == 'i' && rname[2] == 'n' && > > (rname[3] == 'v' || rname[3] == 'x')) > > > > There may be other places... > > Thanks. Fixed. > > I looked through the code for 'X', and it looks like that is the only > place left. > > The lack of case-sensitivity could cause tables that start with xinv* to > be confused as large objects. > > What do we do? Use relkind in pg_class: #define RELKIND_INDEX 'i' /* secondary index */ #define RELKIND_RELATION 'r' /* cataloged heap */ #define RELKIND_SPECIAL 's' /* special (non-heap) */ #define RELKIND_SEQUENCE 'S' /* SEQUENCE relation */ #define RELKIND_UNCATALOGED 'u' /* temporary heap */ + #define RELKIND_LO_RELATION 'X' /* large object relation */ + #define RELKIND_LO_INDEX 'x' /* large object index */ and change heap_create & heap_creatr to pass relkind to them. But leave it for 6.2[345...] BTW, it's better to start thinking about BLOB implementation... Vadim ------------------------------
В списке pgsql-hackers по дате отправления: