Re: [HACKERS] A small type extension example for the contrib directory (fwd)
От | Tom I Helbekkmo |
---|---|
Тема | Re: [HACKERS] A small type extension example for the contrib directory (fwd) |
Дата | |
Msg-id | 980125093705.12666A@barsoom.Hamartun.Priv.NO обсуждение исходный текст |
Ответ на | A small type extension example for the contrib directory (fwd) (The Hermit Hacker <scrappy@hub.org>) |
Список | pgsql-hackers |
On Sun, 25 Jan 1998, The Hermit Hacker wrote: > I added this to the contrib directory for the server, but am > wondering if anyone feels that this just might be useful as a "normal" > datatype, instead of just in the contrib directory... I, naturally, like the idea. :-) However, there are problems with the code I submitted -- as I said, it's my first shot at this: - since then, I've learned (hi, Bruce!) that commutativity is not what I thought it was, and that LIKE is not only not commutative, it's not even reflexive. - the Makefile is BSD-specific, and I don't know how to avoid this. - my LIKE operator for IP addresses fails. I've written about this to the questions list, and I'm more and more certain that this has to be a bug in PostgreSQL. (Yes, that's arrogant of me, but I can't for the life of me see any other possibility. If someone could look at it (there's a sample "test.sql" that shows the problem, and I've left the debug output in the C source), that would be great!) - I'm using 8 bytes of storage for each type, while I probably could get away with 5 for IP addresses and 6 for ethernet addresses. I just didn't know for sure what the alignment aspects and so on were, and I had the disk space to spare, so I never experimented to find out. With all that said, I still think that this is both a useful data type extension and a neat, small example of how to do this. If it is to be used as a base for creating a new internal data type, though, it must be looked at carefully by someone else; I am only an egg. I'd also like to be able to index on IP addresses, but the amount of hair needed to add this seems to be somewhat larger than what I have. If someone wants to show me how to extend my code to allow this, I would very much appreciate it. I'm attaching an updated version of the sample files. Most of the occurrences of "commutator = ..." are gone now, and there is a note in the README to the effect that LIKE and NOT LIKE do not work. -tih -- Popularity is the hallmark of mediocrity. --Niles Crane, "Frasier"
Вложения
В списке pgsql-hackers по дате отправления: