Thread: Re: [HACKERS] contrib
> > Is there a formal way of submiting something to the > > contrib section of the distribution? > > Not really. Just throw it over to patches, and we will check it out. > > > -- > Bruce Momjian | http://candle.pha.pa.us While thinking about how to implement TABLE_PRIVILEGES view per SQL92, I realized that a function is needed to dynamically return the current database name, and current database owner. I also remembered that I have needed the first function before and could not find anything. Attached is a group of 4 functions, suitable (I think) for contrib, as follows: current_dbname() - returns name of current database current_dboid() - retuns oid of current database current_dbownername() - returns owner name of current database (based on datdba) current_dbownerid() - returns owner usesysid (well, more accurately datdba) Installation: copy to contrib tar -xzvf current_db.tgz cd current_db ./install.sh (or alternatively make; make install; psql -U postgres your_db_name < current_db.sql) I'd like to have this considered for inclusion in contrib if deemed useful to others. Is there anything specific I need to do to in addition to the attached? Thanks, -- Joe
Attachment
Wouldn't this be better as part of PostgreSQL's standard functions, instead of being in contrib? Feels like this kind of function is useful "for everyone". ??? :-) Regards and best wishes, Justin Clift Joe Conway wrote: > > > > Is there a formal way of submiting something to the > > > contrib section of the distribution? > > > > Not really. Just throw it over to patches, and we will check it out. > > > > > > -- > > Bruce Momjian | http://candle.pha.pa.us > > While thinking about how to implement TABLE_PRIVILEGES view per SQL92, I > realized that a function is needed to dynamically return the current > database name, and current database owner. I also remembered that I have > needed the first function before and could not find anything. Attached is a > group of 4 functions, suitable (I think) for contrib, as follows: > > current_dbname() - returns name of current database > current_dboid() - retuns oid of current database > current_dbownername() - returns owner name of current database (based on > datdba) > current_dbownerid() - returns owner usesysid (well, more accurately datdba) > > Installation: > copy to contrib > tar -xzvf current_db.tgz > cd current_db > ./install.sh (or alternatively make; make install; psql -U postgres > your_db_name < current_db.sql) > > I'd like to have this considered for inclusion in contrib if deemed useful > to others. Is there anything specific I need to do to in addition to the > attached? > > Thanks, > > -- Joe > > ------------------------------------------------------------------------ > Name: current_db.tgz > current_db.tgz Type: application/x-compressed > Encoding: base64 > > ------------------------------------------------------------------------ > > ---------------------------(end of broadcast)--------------------------- > TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
"Joe Conway" <joe@conway-family.com> writes: > While thinking about how to implement TABLE_PRIVILEGES view per SQL92, I > realized that a function is needed to dynamically return the current > database name, and current database owner. Just out of curiosity, why are these needed for TABLE_PRIVILEGES? > current_dbname() - returns name of current database > current_dboid() - retuns oid of current database > current_dbownername() - returns owner name of current database (based on > datdba) > current_dbownerid() - returns owner usesysid (well, more accurately datdba) One thing to bear in mind is that the existing notion of databases may need to be rethought when we implement SQL-style schemas (which I hope will happen for 7.2). It might be best to refrain from inventing more functions until we see how the schema work settles out. I haven't yet heard any serious discussion about how to integrate the SQL-defined schema concepts with Postgres' traditional concept of independent databases within an installation. It's about time to have that discussion though ... regards, tom lane
> > Just out of curiosity, why are these needed for TABLE_PRIVILEGES? > Only one is really needed for that purpose, current_dbname. TABLE_PRIVILEGES defines the field TABLE_CATALOG which should be set to the current database name. In MSSQL7 you can get the current database using a function called DB_NAME(). In Oracle, you can get it by querying for NAME from V_$DATABASE. -- Joe