Re: [HACKERS] patches for items from TODO list
I have removed the XML TODO item: * Add XML output to pg_dump and COPY We already allow XML to be stored in the database, and XPath queries can be used on that data using /contrib/xml2. It also supports XSLT transformations. --- Josh Berkus wrote: Folks, - The COPY - XML transformation is trivial -- it would be easy for clients to roll their own. At the same time, there is no standard or canonical XML representation for COPY output, and I can easily imagine different clients needing different representations. So there is limited value in providing a single, inflexible backend implementation. I'm going to second Neil here. This feature becomes useful *only* when there is a certified or de-facto universal standard XML representation for database data. Then I could see a case for it. But there isn't. Feel free to throw it on pgFoundry, though. -- Josh Berkus Aglio Database Solutions San Francisco ---(end of broadcast)--- TIP 2: you can get off all lists at once with the unregister command (send unregister YourEmailAddressHere to [EMAIL PROTECTED]) -- Bruce Momjian| http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup.| Newtown Square, Pennsylvania 19073 ---(end of broadcast)--- TIP 2: you can get off all lists at once with the unregister command (send unregister YourEmailAddressHere to [EMAIL PROTECTED])
Re: [HACKERS] patches for items from TODO list
minor nit: the null attribute should take XMLSchema boolean type values: {true, false, 1, 0} More importantly, how do you handle array or record type fields? If they are just opaque text I don't think that's what I at least would want from XML output routines. cheers andrew Christopher Kings-Lynne wrote: I'm going to second Neil here. This feature becomes useful *only* when there is a certified or de-facto universal standard XML representation for database data. Then I could see a case for it. But there isn't. We've done it in phpPgAdmin (we made up our own standard), and a couple of people use it. I also do not think that it should be in the backend until there is a standard. Here is what phpPgAdmin produces (note NULL handling): ?xml version=1.0 encoding=UTF-8 ? data header column name=feature_id type=varchar / column name=feature_name type=varchar / column name=is_supported type=varchar / column name=is_verified_by type=varchar / column name=comments type=varchar / /header records row column name=feature_idPKG000/column column name=feature_nameCore/column column name=is_supportedNO/column column name=is_verified_by null=null/column column name=comments null=null/column /row row column name=feature_idPKG001/column column name=feature_nameEnhanced datetime facilities/column column name=is_supportedYES/column column name=is_verified_by null=null/column column name=comments null=null/column /row row column name=feature_idPKG002/column column name=feature_nameEnhanced integrity management/column column name=is_supportedNO/column column name=is_verified_by null=null/column column name=comments null=null/column /row row column name=feature_idPKG003/column column name=feature_nameOLAP facilities/column column name=is_supportedNO/column column name=is_verified_by null=null/column column name=comments null=null/column /row row column name=feature_idPKG004/column column name=feature_namePSM/column column name=is_supportedNO/column column name=is_verified_by null=null/column column name=commentsPL/pgSQL is similar./column /row row column name=feature_idPKG005/column column name=feature_nameCLI/column column name=is_supportedNO/column column name=is_verified_by null=null/column column name=commentsODBC is similar./column /row row column name=feature_idPKG006/column column name=feature_nameBasic object support/column column name=is_supportedNO/column column name=is_verified_by null=null/column column name=comments null=null/column /row row column name=feature_idPKG007/column column name=feature_nameEnhanced object support/column column name=is_supportedNO/column column name=is_verified_by null=null/column column name=comments null=null/column /row row column name=feature_idPKG008/column column name=feature_nameActive database/column column name=is_supportedNO/column column name=is_verified_by null=null/column column name=comments null=null/column /row row column name=feature_idPKG010/column column name=feature_nameOLAP/column column name=is_supportedNO/column column name=is_verified_by null=null/column column name=commentsNO/column /row /records /data ---(end of broadcast)--- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq ---(end of broadcast)--- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match
Re: [HACKERS] patches for items from TODO list
Sergey Ten wrote: Markus, Thank you for your reply. We considered embedding of an XML schema first followed by data. We decided to stick to our current data format to make sure stateless XML parsers can process it as well. Would it be better to add an option to the COPY command, to allow embedding an XML schema, so more advanced XML parsers can take advantage of it? Current CVS has a WITH CSV HEADER option. I wonder if we should add a HEADER option to XML to output the schema --- seems to make sense. -- Bruce Momjian| http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup.| Newtown Square, Pennsylvania 19073 ---(end of broadcast)--- TIP 2: you can get off all lists at once with the unregister command (send unregister YourEmailAddressHere to [EMAIL PROTECTED])
Re: [HACKERS] patches for items from TODO list
Neil Conway wrote: Sergey Ten wrote: We think that putting it in the backend will make access from other components easier. In what way? It seems to me that this can be done just as easily in a client application / library, without cluttering the backend with yet another COPY output format. It would also avoid the need to mandate a single XML schema -- different clients will likely have different requirements. Since I am skeptical of the value of this feature in the first place, I think it would do less damage if implemented outside the backend. We considered putting XML in psql or libpq in the past, but the problem is that interfaces like jdbc couldn't take advantage of it. I do think it needs to be in the backend, and I think that is the agreement we had in the past. -- Bruce Momjian| http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup.| Newtown Square, Pennsylvania 19073 ---(end of broadcast)--- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]
Re: [HACKERS] patches for items from TODO list
I've been reviewing this patch and some of the following discussion. First, postgresql patches are usually sent as context diffs. I don't object to unidiffs myself, but you should do what everybody else does. Second, it's best not to combine features in one patch. The \x escape piece should be broken out. I'm also a rather worried about COPY producing output which it can't itself parse. We can read our own binary, text and CSV formats, and I think that's a useful validation tool. I know the TODO item only mentions output, but I believe we should rethink that. In any case, if it's valid for us to hand XML to other programs why shouldn't we accept it too. This is all about playing nicely in the playground. One advantage of XML is that, being hierarchical, it can easily express nested composites (records, arrays) in a way that our present text and CSV formats really can't. But unless I missed something this patch doesn't in fact do anything to break out nested composites. Finally, I don't know if there is a standard on this, or even a convention. What do other DBs do? I'm not keen on us just inventing our own XML dialect for something that should after all be most useful in data exchange. Bottom line, much as I would like to see XML input/output, I think this needs lots more thought and discussion. cheers andrew Sergey Ten wrote: Hello all, Thank you to all who replied for suggestions and help. Enclosed please find code changes for the following items: - Allow COPY to understand \x as a hex byte, and - Add XML output to COPY The changes include implementation of the features as well as modification of the copy regression test. After a careful consideration we decided to - put XML implementation in the backend and - use XML format described below, with justification of our decision. The XML schema used by the COPY TO command was designed for ease of use and to avoid the problem of column names appearing in XML element names. XML doesn't allow spaces and punctuation in element names but Postgres does allow these characters in column names; therefore, a direct mapping would be problematic. The solution selected places the column names into attribute fields where any special characters they contain can be properly escaped using XML entities. An additional attribute is used to distinguish null fields from empty ones. The example below is taken from the test suite. It demonstrates some basic XML escaping in row 2. Row 3 demonstrates the difference between an empty string (in col2) and a null string (in col3). If a field is null it will always be empty but a field which is empty may or may not be null. Always check the value of the 'null' attribute to be sure when a field is truly null. ?xml version='1.0'? table row col name='col1' null='n'Jackson, Sam/col col name='col2' null='n'\h/col /row row col name='col1' null='n'It is quot;perfectquot;./col col name='col2' null='n'#09;/col /row row col name='col1' null='n'/col col name='col2' null='y'/col /row /table Please let us know if about any concerns, objections the proposed change may cause. Best regards, Jason Lucas, Sergey Ten SourceLabs -Original Message- From: Bruce Momjian [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 11, 2005 7:11 PM To: Sergey Ten Cc: pgsql-hackers@postgresql.org; [EMAIL PROTECTED] Subject: Re: [HACKERS] patches for items from TODO list Sergey Ten wrote: Hello all, We would like to contribute to the Postgresql community by implementing the following items from the TODO list (http://developer.postgresql.org/todo.php): . Allow COPY to understand \x as a hex byte . Allow COPY to optionally include column headings in the first line . Add XML output to COPY The changes are straightforward and include implementation of the features as well as modification of the regression tests and documentation. Before sending a diff file with the changes, we would like to know if these features have been already implemented. Please check the web site version. Someone has already implemented Allow COPY to optionally include column headings in the first line. As far as XML, there has been discussion on where that should be done? In the backend, libpq, or psql. It will need discussion on hackers. I assume you have read the developer's FAQ too. -- Bruce Momjian| http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup.| Newtown Square, Pennsylvania 19073 Index: src/backend/commands/copy.c === RCS file: /projects/cvsroot/pgsql/src/backend/commands/copy.c,v retrieving revision
Re: [HACKERS] patches for items from TODO list
Bruce Momjian wrote: We considered putting XML in psql or libpq in the past, but the problem is that interfaces like jdbc couldn't take advantage of it. Well, you could implement it as a C UDF and use SPI. Or write it as a C client library, and use JNI. Or just provide a Java implementation -- it's not like the COPY - XML transformation is very complex. To restate the case: - I don't see how this feature is useful. Perhaps I'm mistaken, but I don't think there's a lot of user demand for it (feel free to demonstrate the contrary) - The COPY - XML transformation is trivial -- it would be easy for clients to roll their own. At the same time, there is no standard or canonical XML representation for COPY output, and I can easily imagine different clients needing different representations. So there is limited value in providing a single, inflexible backend implementation. - There's no need for it to be in the backend, anyway. Perhaps if there were overwhelming demand for this functionality, we would need to provide it for all client libraries and the easiest solution would be to put it in the backend, but I don't think that's the case. If people really think XML COPY output mode is useful, why not implement it client-side first and host it on pgfoundry? If lots of people are using the client-side code, we can consider moving it into the core distribution or the backend itself at that point. -Neil ---(end of broadcast)--- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq
Re: [HACKERS] patches for items from TODO list
Neil Conway wrote: Bruce Momjian wrote: We considered putting XML in psql or libpq in the past, but the problem is that interfaces like jdbc couldn't take advantage of it. Well, you could implement it as a C UDF and use SPI. Or write it as a C client library, and use JNI. Or just provide a Java implementation -- it's not like the COPY - XML transformation is very complex. To restate the case: - I don't see how this feature is useful. Perhaps I'm mistaken, but I don't think there's a lot of user demand for it (feel free to demonstrate the contrary) - The COPY - XML transformation is trivial -- it would be easy for clients to roll their own. At the same time, there is no standard or canonical XML representation for COPY output, and I can easily imagine different clients needing different representations. So there is limited value in providing a single, inflexible backend implementation. - There's no need for it to be in the backend, anyway. Perhaps if there were overwhelming demand for this functionality, we would need to provide it for all client libraries and the easiest solution would be to put it in the backend, but I don't think that's the case. If people really think XML COPY output mode is useful, why not implement it client-side first and host it on pgfoundry? If lots of people are using the client-side code, we can consider moving it into the core distribution or the backend itself at that point. All I can say is that we rejected an XML in the client patch a long time ago and the discussion was that it belongs in the backend so everyone can use it. I don't use XML myself so I have no opinion. We need people who need XML output to comment in this thread. -- Bruce Momjian| http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup.| Newtown Square, Pennsylvania 19073 ---(end of broadcast)--- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly
Re: [HACKERS] patches for items from TODO list
Folks, - The COPY - XML transformation is trivial -- it would be easy for clients to roll their own. At the same time, there is no standard or canonical XML representation for COPY output, and I can easily imagine different clients needing different representations. So there is limited value in providing a single, inflexible backend implementation. I'm going to second Neil here. This feature becomes useful *only* when there is a certified or de-facto universal standard XML representation for database data. Then I could see a case for it. But there isn't. Feel free to throw it on pgFoundry, though. -- Josh Berkus Aglio Database Solutions San Francisco ---(end of broadcast)--- TIP 2: you can get off all lists at once with the unregister command (send unregister YourEmailAddressHere to [EMAIL PROTECTED])
Re: [HACKERS] patches for items from TODO list
Josh Berkus josh@agliodbs.com writes: I'm going to second Neil here. I think the same --- given the points about lack of standardization, it seems premature to put this into the backend. I'd be for it if there were a clear standard, but ... regards, tom lane ---(end of broadcast)--- TIP 2: you can get off all lists at once with the unregister command (send unregister YourEmailAddressHere to [EMAIL PROTECTED])
Re: [HACKERS] patches for items from TODO list
I'm going to second Neil here. This feature becomes useful *only* when there is a certified or de-facto universal standard XML representation for database data. Then I could see a case for it. But there isn't. We've done it in phpPgAdmin (we made up our own standard), and a couple of people use it. I also do not think that it should be in the backend until there is a standard. Here is what phpPgAdmin produces (note NULL handling): ?xml version=1.0 encoding=UTF-8 ? data header column name=feature_id type=varchar / column name=feature_name type=varchar / column name=is_supported type=varchar / column name=is_verified_by type=varchar / column name=comments type=varchar / /header records row column name=feature_idPKG000/column column name=feature_nameCore/column column name=is_supportedNO/column column name=is_verified_by null=null/column column name=comments null=null/column /row row column name=feature_idPKG001/column column name=feature_nameEnhanced datetime facilities/column column name=is_supportedYES/column column name=is_verified_by null=null/column column name=comments null=null/column /row row column name=feature_idPKG002/column column name=feature_nameEnhanced integrity management/column column name=is_supportedNO/column column name=is_verified_by null=null/column column name=comments null=null/column /row row column name=feature_idPKG003/column column name=feature_nameOLAP facilities/column column name=is_supportedNO/column column name=is_verified_by null=null/column column name=comments null=null/column /row row column name=feature_idPKG004/column column name=feature_namePSM/column column name=is_supportedNO/column column name=is_verified_by null=null/column column name=commentsPL/pgSQL is similar./column /row row column name=feature_idPKG005/column column name=feature_nameCLI/column column name=is_supportedNO/column column name=is_verified_by null=null/column column name=commentsODBC is similar./column /row row column name=feature_idPKG006/column column name=feature_nameBasic object support/column column name=is_supportedNO/column column name=is_verified_by null=null/column column name=comments null=null/column /row row column name=feature_idPKG007/column column name=feature_nameEnhanced object support/column column name=is_supportedNO/column column name=is_verified_by null=null/column column name=comments null=null/column /row row column name=feature_idPKG008/column column name=feature_nameActive database/column column name=is_supportedNO/column column name=is_verified_by null=null/column column name=comments null=null/column /row row column name=feature_idPKG010/column column name=feature_nameOLAP/column column name=is_supportedNO/column column name=is_verified_by null=null/column column name=commentsNO/column /row /records /data ---(end of broadcast)--- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq
Re: [HACKERS] patches for items from TODO list
Markus, Thank you for your reply. We considered embedding of an XML schema first followed by data. We decided to stick to our current data format to make sure stateless XML parsers can process it as well. Would it be better to add an option to the COPY command, to allow embedding an XML schema, so more advanced XML parsers can take advantage of it? Thanks, Jason, Sergey -Original Message- From: Markus Bertheau [mailto:[EMAIL PROTECTED] Sent: Tuesday, May 17, 2005 6:00 PM To: Sergey Ten Cc: 'Bruce Momjian'; 'Christopher Kings-Lynne'; pgsql- [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: Re: [HACKERS] patches for items from TODO list Dnia 13-05-2005, pi o godzinie 16:01 -0700, Sergey Ten napisa(a): ?xml version='1.0'? table row col name='col1' null='n'Jackson, Sam/col col name='col2' null='n'\h/col /row row col name='col1' null='n'It is quot;perfectquot;./col col name='col2' null='n'#09;/col /row row col name='col1' null='n'/col col name='col2' null='y'/col /row /table Why didn't you do something to the effect of ?xml version='1.0'? table cols col name='col1'/ col name='col2'/ /cols row col null='n'Jackson, Sam/col col null='n'\h/col /row row col null='n'It is quot;perfectquot;./col col null='n'#09;/col /row row col null='n'/col col null='y'/col /row /table This avoids repeating the column names in every row, which don't change over the rows anyway. By reducing redundant information it also makes structurally invalid XML less likely (whether that is relevant depends on what people do with the XML data). Also you could encode the XML output as UTF-8, which would make the files more readable for humans if the text data is not ASCII. Markus -- Markus Bertheau [EMAIL PROTECTED] ---(end of broadcast)--- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]
Re: [HACKERS] patches for items from TODO list
Neil, We think that putting it in the backend will make access from other components easier. Thank you, Sergey -Original Message- From: Neil Conway [mailto:[EMAIL PROTECTED] Sent: Tuesday, May 17, 2005 7:11 PM To: Sergey Ten Cc: 'Bruce Momjian'; 'Christopher Kings-Lynne'; pgsql- [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: Re: [HACKERS] patches for items from TODO list Sergey Ten wrote: After a careful consideration we decided to - put XML implementation in the backend What advantage does putting the XML output mode in the backend provide? -Neil ---(end of broadcast)--- TIP 8: explain analyze is your friend
Re: [HACKERS] patches for items from TODO list
Sergey Ten wrote: We think that putting it in the backend will make access from other components easier. In what way? It seems to me that this can be done just as easily in a client application / library, without cluttering the backend with yet another COPY output format. It would also avoid the need to mandate a single XML schema -- different clients will likely have different requirements. Since I am skeptical of the value of this feature in the first place, I think it would do less damage if implemented outside the backend. -Neil ---(end of broadcast)--- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly
Re: [HACKERS] patches for items from TODO list
Dnia 13-05-2005, pi o godzinie 16:01 -0700, Sergey Ten napisa(a): ?xml version='1.0'? table row col name='col1' null='n'Jackson, Sam/col col name='col2' null='n'\h/col /row row col name='col1' null='n'It is quot;perfectquot;./col col name='col2' null='n'#09;/col /row row col name='col1' null='n'/col col name='col2' null='y'/col /row /table Why didn't you do something to the effect of ?xml version='1.0'? table cols col name='col1'/ col name='col2'/ /cols row col null='n'Jackson, Sam/col col null='n'\h/col /row row col null='n'It is quot;perfectquot;./col col null='n'#09;/col /row row col null='n'/col col null='y'/col /row /table This avoids repeating the column names in every row, which don't change over the rows anyway. By reducing redundant information it also makes structurally invalid XML less likely (whether that is relevant depends on what people do with the XML data). Also you could encode the XML output as UTF-8, which would make the files more readable for humans if the text data is not ASCII. Markus -- Markus Bertheau [EMAIL PROTECTED] signature.asc Description: This is a digitally signed message part
Re: [HACKERS] patches for items from TODO list
Sergey Ten wrote: After a careful consideration we decided to - put XML implementation in the backend What advantage does putting the XML output mode in the backend provide? -Neil ---(end of broadcast)--- TIP 8: explain analyze is your friend
Re: [HACKERS] patches for items from TODO list
Hello all, Thank you to all who replied for suggestions and help. Enclosed please find code changes for the following items: - Allow COPY to understand \x as a hex byte, and - Add XML output to COPY The changes include implementation of the features as well as modification of the copy regression test. After a careful consideration we decided to - put XML implementation in the backend and - use XML format described below, with justification of our decision. The XML schema used by the COPY TO command was designed for ease of use and to avoid the problem of column names appearing in XML element names. XML doesn't allow spaces and punctuation in element names but Postgres does allow these characters in column names; therefore, a direct mapping would be problematic. The solution selected places the column names into attribute fields where any special characters they contain can be properly escaped using XML entities. An additional attribute is used to distinguish null fields from empty ones. The example below is taken from the test suite. It demonstrates some basic XML escaping in row 2. Row 3 demonstrates the difference between an empty string (in col2) and a null string (in col3). If a field is null it will always be empty but a field which is empty may or may not be null. Always check the value of the 'null' attribute to be sure when a field is truly null. ?xml version='1.0'? table row col name='col1' null='n'Jackson, Sam/col col name='col2' null='n'\h/col /row row col name='col1' null='n'It is quot;perfectquot;./col col name='col2' null='n'#09;/col /row row col name='col1' null='n'/col col name='col2' null='y'/col /row /table Please let us know if about any concerns, objections the proposed change may cause. Best regards, Jason Lucas, Sergey Ten SourceLabs -Original Message- From: Bruce Momjian [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 11, 2005 7:11 PM To: Sergey Ten Cc: pgsql-hackers@postgresql.org; [EMAIL PROTECTED] Subject: Re: [HACKERS] patches for items from TODO list Sergey Ten wrote: Hello all, We would like to contribute to the Postgresql community by implementing the following items from the TODO list (http://developer.postgresql.org/todo.php): . Allow COPY to understand \x as a hex byte . Allow COPY to optionally include column headings in the first line . Add XML output to COPY The changes are straightforward and include implementation of the features as well as modification of the regression tests and documentation. Before sending a diff file with the changes, we would like to know if these features have been already implemented. Please check the web site version. Someone has already implemented Allow COPY to optionally include column headings in the first line. As far as XML, there has been discussion on where that should be done? In the backend, libpq, or psql. It will need discussion on hackers. I assume you have read the developer's FAQ too. -- Bruce Momjian| http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup.| Newtown Square, Pennsylvania 19073 Index: src/backend/commands/copy.c === RCS file: /projects/cvsroot/pgsql/src/backend/commands/copy.c,v retrieving revision 1.244 diff -u -r1.244 copy.c --- src/backend/commands/copy.c 7 May 2005 02:22:46 - 1.244 +++ src/backend/commands/copy.c 13 May 2005 22:21:00 - @@ -84,6 +84,16 @@ EOL_CRNL } EolType; +/* + * Represents the format of the file to be read or written + */ +typedef enum CopyFmt +{ + FMT_TXT, + FMT_BIN, + FMT_CSV, + FMT_XML +} CopyFmt; static const char BinarySignature[11] = PGCOPY\n\377\r\n\0; @@ -129,14 +139,14 @@ static bool line_buf_converted; /* non-export function prototypes */ -static void DoCopyTo(Relation rel, List *attnumlist, bool binary, bool oids, -char *delim, char *null_print, bool csv_mode, char *quote, +static void DoCopyTo(Relation rel, List *attnumlist, CopyFmt fmt, bool oids, +char *delim, char *null_print, char *quote, char *escape, List *force_quote_atts, bool header_line, bool fe_copy); -static void CopyTo(Relation rel, List *attnumlist, bool binary, bool oids, - char *delim, char *null_print, bool csv_mode, char *quote, char *escape, +static void CopyTo(Relation rel, List *attnumlist, CopyFmt fmt, bool oids, + char *delim, char *null_print, char *quote, char *escape, List *force_quote_atts, bool header_line); -static void CopyFrom(Relation rel, List *attnumlist, bool binary, bool oids, - char *delim, char *null_print, bool csv_mode, char *quote, char
Re: [HACKERS] patches for items from TODO list
Thank you to all who replied for your time. We have checked http://momjian.postgresql.org/cgi-bin/pgpatches and http://momjian.postgresql.org/cgi-bin/pgpatches2, and could not find patches with words copy or xml in the subject. Could you please clarify what the website version is and where it can be found? Is it sources available at ftp://ftp.postgresql.org? Best regards, Jason, Sergey -Original Message- From: Christopher Kings-Lynne [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 11, 2005 7:36 PM To: Bruce Momjian Cc: Sergey Ten; pgsql-hackers@postgresql.org; [EMAIL PROTECTED] Subject: Re: [HACKERS] patches for items from TODO list Please check the web site version. Someone has already implemented Allow COPY to optionally include column headings in the first line. As far as XML, there has been discussion on where that should be done? In the backend, libpq, or psql. It will need discussion on hackers. I assume you have read the developer's FAQ too. The other issue is 'what XML format'? Find me a standard data dump XML DTD and I'll change phpPgAdmin to use it as well. Otherwise, phpPgAdmin's is quite simple. Chris ---(end of broadcast)--- TIP 6: Have you searched our list archives? http://archives.postgresql.org
Re: [HACKERS] patches for items from TODO list
Sergey Ten wrote: Thank you to all who replied for your time. We have checked http://momjian.postgresql.org/cgi-bin/pgpatches and http://momjian.postgresql.org/cgi-bin/pgpatches2, and could not find patches with words copy or xml in the subject. Could you please clarify what the website version is and where it can be found? Is it sources available at ftp://ftp.postgresql.org? I think the website version of the TODO is that one on www.postgresql.org (see http://www.postgresql.org/docs/faqs.TODO.html, from Developers-Roadmap). -Allow COPY to optionally include column headings in the first line is already completed (-). That is what Bruce referenced (below). The patch has already been commited and is therefore not on the patches list anymore: http://archives.postgresql.org/pgsql-committers/2005-05/msg00075.php (I searched for copy in the mailing list archives of pgsql-committers.) Bruce Momjian wrote: Please check the web site version. Someone has already implemented Allow COPY to optionally include column headings in the first line. Hope that clarifies the situation a little bit. Best Regards, Michael Paesold ---(end of broadcast)--- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq
[HACKERS] patches for items from TODO list
Hello all, We would like to contribute to the Postgresql community by implementing the following items from the TODO list (http://developer.postgresql.org/todo.php): . Allow COPY to understand \x as a hex byte . Allow COPY to optionally include column headings in the first line . Add XML output to COPY The changes are straightforward and include implementation of the features as well as modification of the regression tests and documentation. Before sending a diff file with the changes, we would like to know if these features have been already implemented. Best regards, Jason Lucas and Sergey Ten SourceLabs Dependable Open Source Systems ---(end of broadcast)--- TIP 2: you can get off all lists at once with the unregister command (send unregister YourEmailAddressHere to [EMAIL PROTECTED])
Re: [HACKERS] patches for items from TODO list
Sergey Ten wrote: Hello all, We would like to contribute to the Postgresql community by implementing the following items from the TODO list (http://developer.postgresql.org/todo.php): . Allow COPY to understand \x as a hex byte . Allow COPY to optionally include column headings in the first line . Add XML output to COPY The changes are straightforward and include implementation of the features as well as modification of the regression tests and documentation. Before sending a diff file with the changes, we would like to know if these features have been already implemented. Please check the web site version. Someone has already implemented Allow COPY to optionally include column headings in the first line. As far as XML, there has been discussion on where that should be done? In the backend, libpq, or psql. It will need discussion on hackers. I assume you have read the developer's FAQ too. -- Bruce Momjian| http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup.| Newtown Square, Pennsylvania 19073 ---(end of broadcast)--- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly
Re: [HACKERS] patches for items from TODO list
Please check the web site version. Someone has already implemented Allow COPY to optionally include column headings in the first line. As far as XML, there has been discussion on where that should be done? In the backend, libpq, or psql. It will need discussion on hackers. I assume you have read the developer's FAQ too. The other issue is 'what XML format'? Find me a standard data dump XML DTD and I'll change phpPgAdmin to use it as well. Otherwise, phpPgAdmin's is quite simple. Chris ---(end of broadcast)--- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq