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