On Mon, Sep 26, 2016 at 3:16 PM, Adam Brusselback <adambrusselback@xxxxxxxxx> wrote: > Well I feel like I've learned a ton already reading through the links you > provided earlier and that example above. Yeah, I know that example can really help show what will happen "under the covers", and make it more concrete. The theory that it's based on seems brilliant to me. That fact that it's based on relational algebra (RA) means that it is much more likely to be implemented in a complete and correct manner than something ad hoc. I know I started at this with a try (similar to yours) at analyzing from scratch, then went and searched the literature. When I came back to my ad hoc notes, the RA pointed out some holes in the logic where corner cases would have been wrong because of missed details. RA is well thought out and solid; it seems to me to be the perfect thing to underlie a solution to this problem. > I'm very interested in getting this into core. I'll look into what I need to > do to review. Not crazy familiar with C, as I mainly do Java development. > I'll see if I can help in any way though. Just testing it and reviewing the documentation for errors, omissions, or just plain hard-to-follow language would be a big help. Please post back about any problems getting things patched and build. > The main reason I was working on an alternative is because I need something > now rather than in a couple years, but I've been dealing with manually > creating the few I do need for my database. What I proposed above was just > me thinking about what could be done with things as they are. Obviously it's > junk compared to a real solution in-core. Would you consider my approach > even worth trying, or should I just suck it up and do things manually for > now and put that effort into getting incremental refresh into core? Oh, I've used plain tables and triggers many times myself. If you need something now, you kind of have to go that route. The algorithms I cited do provide an interesting potential alternative for how to go about that, although operating a row at a time you probably won't approach the speed of statement-level set logic for statements that affect very many rows. :-( -- Kevin Grittner EDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general