1212< H1 > Developer's Frequently Asked Questions (FAQ) for
1313 PostgreSQL</ H1 >
1414
15- < P > Last updated:Tue Aug 13 16:41:02 EDT 2002</ P >
15+ < P > Last updated:Sat Nov 2 23:02:16 EST 2002</ P >
1616
1717< P > Current maintainer: Bruce Momjian (< A href =
1818 "mailto:pgman@candle.pha.pa.us "> pgman@candle.pha.pa.us</ A > )< BR >
@@ -39,7 +39,9 @@ <H2>General Questions</H2>
3939< A href ="#1.6 "> 1.6</ A > ) What books are good for developers?< BR >
4040< A href ="#1.7 "> 1.7</ A > ) What is configure all about?< BR >
4141< A href ="#1.8 "> 1.8</ A > ) How do I add a new port?< BR >
42- < A href ="#1.9 "> 1.9</ A > ) Why don't we use threads in the backend?< BR >
42+ < A href ="#1.9 "> 1.9</ A > ) Why don't you use threads/raw
43+ devices/async-I/O, &insert your favorite wizz-bang feature
44+ here&?< BR >
4345< A href ="#1.10 "> 1.10</ A > ) How are RPM's packaged?< BR >
4446< A href ="#1.11 "> 1.11</ A > ) How are CVS branches handled?< BR >
4547< A href ="#1.12 "> 1.12</ A > ) Where can I get a copy of the SQL
@@ -381,10 +383,24 @@ <H3><A name="1.8">1.8</A>) How do I add a new port?</H3>
381383 handling. There is a< I > backend/port</ I > directory if you need
382384 special files for your OS.</ P >
383385
384- < H3 > < A name ="1.9 "> 1.9</ A > ) Why don't we use threads in the
385- backend?</ H3 >
386+ < H3 > < A name ="1.9 "> 1.9</ A > ) Why don't you use threads/raw
387+ devices/async-I/O, &insert your favorite wizz-bang feature
388+ here&?</ H3 >
386389
387- < P > There are several reasons threads are not used:</ P >
390+ < P > There is always a temptation to use the newest operating system
391+ features as soon as they arrive. We resist that temptation.</ P >
392+
393+ < P > First, we support 15+ operating systems, so any new feature has
394+ to be well established before we will consider it. Second, most new
395+ < I > wizz-bang</ I > features don't provide< I > dramatic</ I >
396+ improvements. Third, the usually have some downside, such as
397+ decreased reliability or additional code required. Therefore, we
398+ don't rush to use new features but rather wait for the feature to be
399+ established, then ask for testing to show that a measurable
400+ improvement is possible.</ P >
401+
402+ < P > As an example, threads are not currently used in the backend code
403+ because:</ P >
388404
389405< UL >
390406< LI > Historically, threads were unsupported and buggy.</ LI >
@@ -397,6 +413,11 @@ <H3><A name="1.9">1.9</A>) Why don't we use threads in the
397413< LI > The backend code would be more complex.</ LI >
398414</ UL >
399415
416+ < P > So, we are not "asleep at the switch" as they say with regard to
417+ new features, it is just that we are cautious about their
418+ adoption. The TODO list often contains links to discussions
419+ showing our reasoning in these areas.</ P >
420+
400421< H3 > < A name ="1.10 "> 1.10</ A > ) How are RPM's packaged?</ H3 >
401422
402423< P > This was written by Lamar Owen:</ P >