Thread: Proposed change to the JDBC driver
I'm sending this to both the hackers and interfaces lists as this affects the 7.0 release and an interface. Ok, up until now the driver has operated under a base package of postgresql. This has worked fine so far but technically breaks Sun's rules on package naming. The rule is that any organisations package names begins with their domain name. This prevents two different package names from clashing. Ie: My own classes always begin with uk.org.retep as my own domain is retep.org.uk. The classes I write here begin with uk.gov.maidstone. Now, what I'm thinking is that as the 7.0 driver isn't going to be compatible with earlier backends (mainly due to the core changes like date/time handling, but there are others), I'm proposing to change our base package name from postgresql to org.postgresql so that we comply with this rule (which has been around since Java first came out). All this involves in the source is to create an empty directory called org, and move the original postgresql directory into it. Then each .java file will need org. prefixed to the package name. The down side, is that any existing source that uses the driver will need amending so that either the Class.forName() line reads: Class.forName("org.postgresql"); or if it's supplied as a parameter (which is my prefered way) the org. added. Now because of this downside, I want to see what everyone thinks about making this change before I do it, as I have a lot of things to do to the source to implement it, but it would be better to do it now, especially as it's the first new major release since JDBC was included. Peter -- Peter Mount Enterprise Support Maidstone Borough Council Any views stated are my own, and not those of Maidstone Borough Council.
As I haven't seen any replies to this, can I assume no body objects to me making this fairly major change to the driver? I need to know sometime in the next few hours, as I'm about to fit the pieces together. Peter On Wed, 19 Jan 2000, Peter Mount wrote: > I'm sending this to both the hackers and interfaces lists as this > affects the 7.0 release and an interface. > > Ok, up until now the driver has operated under a base package of > postgresql. This has worked fine so far but technically breaks Sun's > rules on package naming. The rule is that any organisations package > names begins with their domain name. This prevents two different package > names from clashing. > > Ie: My own classes always begin with uk.org.retep as my own domain is > retep.org.uk. The classes I write here begin with uk.gov.maidstone. > > Now, what I'm thinking is that as the 7.0 driver isn't going to be > compatible with earlier backends (mainly due to the core changes like > date/time handling, but there are others), I'm proposing to change our > base package name from postgresql to org.postgresql so that we comply > with this rule (which has been around since Java first came out). > > All this involves in the source is to create an empty directory called > org, and move the original postgresql directory into it. Then each .java > file will need org. prefixed to the package name. > > The down side, is that any existing source that uses the driver will > need amending so that either the Class.forName() line reads: > > Class.forName("org.postgresql"); > > or if it's supplied as a parameter (which is my prefered way) the org. > added. > > Now because of this downside, I want to see what everyone thinks about > making this change before I do it, as I have a lot of things to do to > the source to implement it, but it would be better to do it now, > especially as it's the first new major release since JDBC was included. > > Peter > > -- > Peter Mount > Enterprise Support > Maidstone Borough Council > Any views stated are my own, and not those of Maidstone Borough Council. > > > > ************ > -- Peter T Mount peter@retep.org.uk Main Homepage: http://www.retep.org.uk PostgreSQL JDBC Faq: http://www.retep.org.uk/postgresJava PDF Generator: http://www.retep.org.uk/pdf
Peter Mount <peter@retep.org.uk> writes: > As I haven't seen any replies to this, can I assume no body objects to me > making this fairly major change to the driver? AFAICS, it's not "major" in the sense of a functionality change, it's just that each calling app will need to replace "postgresql" with "org.postgresql"? If you're gonna do it, 7.0 seems like the right time to do it. regards, tom lane
On Mon, 24 Jan 2000, Tom Lane wrote: > Peter Mount <peter@retep.org.uk> writes: > > As I haven't seen any replies to this, can I assume no body objects to me > > making this fairly major change to the driver? > > AFAICS, it's not "major" in the sense of a functionality change, it's > just that each calling app will need to replace "postgresql" with > "org.postgresql"? Correct. > If you're gonna do it, 7.0 seems like the right time to do it. That's exactly why I wanted to do it now. Peter -- Peter T Mount peter@retep.org.uk Main Homepage: http://www.retep.org.uk PostgreSQL JDBC Faq: http://www.retep.org.uk/postgresJava PDF Generator: http://www.retep.org.uk/pdf