Thread: Nullability patch take 2
Updated to match Tom's new semantics. passes my own regression tests plus all existing ones... Chris
Attachment
Christopher Kings-Lynne <chriskl@familyhealth.com.au> writes: > Updated to match Tom's new semantics. passes my own regression tests plus > all existing ones... Checked and applied. I made one nontrivial change --- for anything on which there's a syscache, it's a lot easier (and faster) to use SearchSysCacheCopy to get a tuple to update than it is to do a heapscan. The syscache will either have the tuple already, or will get it with an indexscan --- either way wins over a heapscan when the catalog is at all large. (One of the things on my to-do list is to get rid of unnecessary heapscans on system tables; there are still a few of 'em in code paths that are used enough to be worth worrying about.) regards, tom lane
> Checked and applied. I made one nontrivial change --- for anything on > which there's a syscache, it's a lot easier (and faster) to use > SearchSysCacheCopy to get a tuple to update than it is to do a heapscan. > The syscache will either have the tuple already, or will get it with an > indexscan --- either way wins over a heapscan when the catalog is at > all large. Cool. Question - are all these little tricks documented somewhere? I'm considering improving the source code section of the manual to include HOWTOs for coding with Postgres - might attract more patches. I mean, if I'd been given a list of all these things, with implementation examples, beforehand it'd make my life a lot easier. BTW - would you be able to comment on my earlier email regarding hints for letting the executor handle rangevars from stored procedures??? Chris
"Christopher Kings-Lynne" <chriskl@familyhealth.com.au> writes: > Cool. Question - are all these little tricks documented somewhere? I don't think so :-(. Looking at existing examples in the code is about the only way at the moment; but some parts are coded better than others, and it's not always obvious which is which. > I'm considering improving the source code section of the manual to > include HOWTOs for coding with Postgres - might attract more patches. Great idea... but you'll have to do some work to create the material... regards, tom lane