Tom Lane wrote: > "Dave Page" <dpage@xxxxxxxxxxx> writes: >> On Tue, May 27, 2008 at 2:06 PM, Justin Clift <justin@xxxxxxxxxxxx> wrote: >>> I'm trying to point out that - PG is a database system - and MS may have >>> just been granted a patent for a fundamental part of it. > >> I don't think it's a major issue. Even if MS do think we infringe on >> the patent it would be laughable for them to try to do anything about >> it given that our rules implementation has provably existed in a >> leading FOSS project for a decade or more. > > Right --- if in fact PG's rules infringe, then the patent is invalid > because we are prior art. > > After scanning the claims, though, most of this is about access-rights > enforcement; which is something that rules *could* be used for but it's > not their sole or main purpose. What it seems a whole lot closer to > is Veil or SEPostgres. I think those projects have reason to be very > afraid. > > In fact, I suspect that the originally submitted version of SEPostgres > does infringe the patent, and that code is not old enough to be prior > art. The part of the patch that looks like this patent to me is the > part that enforces row-level access checks by adding constraints to a > querytree's WHERE clause. > > I had already suggested to KaiGai-san that he get rid of that in favor > of low-level checks in the executor, but the need to avoid an M$ patent > makes it even more important ... Yes, I've changed the originally submitted version of SE-PostgreSQL. The latest version of its implementation does not have any feature to modify given queries. All of low-level checks are moved to hard wired hooks in ExecScan(). http://code.google.com/p/sepgsql/source/browse/trunk/sepgsql/src/backend/executor/execScan.c#144 BTW, I may have to backport the feature for v8.4 into v8.3/v8.2 based SE-PostgreSQL... :( -- KaiGai Kohei <kaigai@xxxxxxxxxxxx>