From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Philip Warner <pjw(at)rhyme(dot)com(dot)au> |
Cc: | Frank Joerdens <frank(at)joerdens(dot)de>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: How does TOAST compare to other databases' mechanisms? |
Date: | 2000-10-14 00:42:06 |
Message-ID: | 924.971484126@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Philip Warner <pjw(at)rhyme(dot)com(dot)au> writes:
> At 10:12 9/10/00 -0400, Tom Lane wrote:
>> pg_attribute. At the moment there's no user interface for that :-(
>> so you'd have to reach in with a manual "UPDATE pg_attribute" to
>> change it from the default value. Someone should work on adding an
>> ALTER command to change it in a more user-friendly fashion.
> If I wanted to do this, how long do you think it would take (given that I
> have not done anything similar so far)?
Hard to say. Do you know anything about yacc grammars? You'd have
to add a production to gram.y to define the syntax, probably extend
the existing AlterStmt data structure (which implies touching support
code in backend/nodes), and then add some execution code that checks
for a valid command (ie, that the data column type is toastable) and
finally applies the pg_attribute change. All told it might be a couple
hundred lines of new or changed code. Pretty much all of this could
be done by cribbing from existing code (ie. programming-by-example)
which is a good thing because there's not much documentation.
Someone who already knew what they were doing could do it in an hour
or two. Not sure how much learning time you'd need to figure on top
of that. But if you're interested in learning to hack the backend,
this seems like a pretty reasonable first project.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2000-10-14 02:10:36 | Re: Re: [HACKERS] My new job |
Previous Message | Dustin Sallings | 2000-10-13 23:15:15 | Re: Is VACUUM ANALYZE a superset of VACUUM? |