Why I like partial solutions

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: PostgreSQL-development <pgsql-hackers(at)postgreSQL(dot)org>
Subject: Why I like partial solutions
Date: 2002-06-26 18:21:25
Message-ID: 200206261821.g5QILPb21932@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

I find myself repeatedly arguing for partial solutions, and having to
struggle with other developers who feel these solutions are hacks.
Let me explain why I like these hacks.

When we have a feature that users want, often we can't get it
implemented promptly in a clean way. It can take several releases for
someone to focus on the problem, re-factor the code, and get the feature
in there properly.

While we are waiting months, often years, for a features to be properly
implemented, our users have no solution except to wait for us to
implement it.

At the same time, there often is a way to implement the feature
partially, often unattractively, so that users can use the feature until
we get around to implementing it properly.

When I think back on many of my code contributions, a lot of them were
such hacks: temp tables, optimizer statistics, indexed LIKE in gram.y.
Many people hated that last one, and I got all sorts of grief because it
was done in such an ugly way, but it was used for years until the
feature was properly implemented in the optimizer. Same for temp tables
and optimizer statistics. That code is gone now, and that is fine. It
was easy to rip out once a proper solution was made, but it served its
purpose.

So, when we review patches, we shouldn't be turning up our noses at
imperfect solutions if the solution meets needs of our users. We had
DROP COLUMN and NO CREATE TABLE solutions suggested many years ago, and
because the solutions weren't perfect, we don't have those features, and
users who needed those features have had to move to other databases.
How many users have we lose just on those two features?

Sure, now we will have schemas in 7.3, but we could have given users _a_
solution years ago; not a prefect solution, but enough of a solution to
keep them using PostgreSQL until we implemented it properly.

Maybe this is marketing, but when people repeatedly ask for a feature,
and we can implement it with a partial solution now, I think we should
do it, rather than saying "Oh, we can't do that properly so we will just
do nothing."

If we want to grow PostgreSQL, we need to meet users needs, even if that
requires stomaching some hack solutions from time to time. That's why I
like partial solutions.

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Josh Berkus 2002-06-26 18:35:07 Re: Postgres idea list
Previous Message Dave Cramer 2002-06-26 18:17:58 Re: Postgres idea list