Re: [HACKERS] Anyone want to assist with the translation of the

2002-10-02 Thread cbbrowne

Justin wrote:
 Hi Michael,
 Michael Paesold wrote:
 snip 
  Hi Justin,
  I am from Austria, and I would like to help. I could provide a German
  translation. The Babelfish's translation is really funny. Machine
  translation is readable, but it is no advocacy. ;-) I do not really nead an
  interface, but just tell me in what way you want the texts.
 
 Cool.  Could you deal with an OpenOffice Calc or M$ Excel file having
 the lines of English text in one column, and doing the German
 translation into a second column?

Isn't this, um, the sort of thing you might want to put into, um, a, um, 
database?
--
(concatenate 'string aa454 @freenet.carleton.ca)
http://cbbrowne.com/info/internet.html
you  can   obvioulsy understand what  i'm  saying.  you're just being
pendantic. -- [EMAIL PROTECTED]



---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] Hot Backup

2002-10-24 Thread cbbrowne
The world rejoiced as [EMAIL PROTECTED] (Andrew Sullivan) wrote:
 Having undertaken the exercise, I really can say that it is a little
 strange to think about what would happen to data I am in charge of in
 case a fairly large US centre were completely blown off the map.  But
 with a little careful planning, you actually _can_ think about that,
 and provide strong assurances that things won't get lost.  But it
 doesn't pay to call such questions silly, because they are
 questions that people will demand answers to before they entrust you
 with their millions of dollars of data.  

I was associated with one data center that has the whole
barbed-wire-fences, 40-foot-underground-bunker, retina-scanning
thing; they apparently /did/ do analysis based on the site being a
potential target for nuclear attack.

Realistically, two scenarios are much more realistic:

 a) The site resides in a significant tornado zone where towns
occasionally get scraped off the map;

 b) The site isn't far from a small but busy airport, and they did
consciously consider the possibility of aircraft crashing into the
building.  Presumably by accident, not by design; the company owns
quite a number of jet aircraft, so that vulnerabilities involving
misuse of aircraft would rapidly fly to mind...  (Painfully
and vastly moreso since 9/11, of course :-(.)

When doing risk analysis, it is certainly necessary to consider these
sorts of (admittedly paranoid) scenarios.  

It's a bit fun, in a way; you get to look for some pretty odd-ball
situations; the server room being overrun by Mongol Hordes.  That
particular one isn't too likely, of course :-).
-- 
(reverse (concatenate 'string moc.enworbbc@ sirhc))
http://www.ntlug.org/~cbbrowne/advocacy.html
I've discovered  that P=NP, but the  proof is too long  to fit within
the confines of this signature...

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] RC1?

2002-11-13 Thread cbbrowne
On Wed, 13 Nov 2002 10:06:15 EST, the world broke into rejoicing as
Tom Lane [EMAIL PROTECTED]  said:
 Zeugswetter Andreas SB SD [EMAIL PROTECTED] writes:
  Why use awk for this at all ? and not:
  echo \\set ECHO all
 
 I think Bruce is worried about portability; some versions of echo might
 do something weird with the backslash.  OTOH, it's not obvious to me
 that awk is better on that score.  Bruce?

The problem is that the regress script isn't pointing to the version of
awk that was picked up in the autoconf phase.

(More detailed comments forwarded directly :-).)

The real deal on what happens on Solaris is thus, from the awk FAQ,
where Patrick McPhee writes:

 SunOS includes three versions of awk. /usr/bin/awk is the old
 (pre-1989) version. /usr/bin/nawk is the new awk which appeared in
 1989, and /usr/xpg4/bin/awk is supposed to conform to the single unix
 specification.  No one knows why Sun continues to ship old awk.

I would be /very/ inclined to trust Patrick's wisdom on this.

So long as we fix up the regression script to grab the nawk that
we expect to work, that's probably nicer than figuring out which
echo parameters are needed...
--
(concatenate 'string cbbrowne @ntlug.org)
http://cbbrowne.com/info/wp.html
The first cup of coffee recapitulates phylogeny.

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] Shrinkwrap Windows Product, any issues? Anyone?

2002-12-03 Thread cbbrowne
 I've looked long and hard and can't find any license issues. Does anyone 
 know of any that I may have missed? As far as I can see, as long as I 
 maintain GPL restrictions, I should be fine.

PostgreSQL isn't licensed under the GPL, so it sounds to me as though you're 
confused about the licensing issues.
--
(concatenate 'string cbbrowne @cbbrowne.com)
http://www3.sympatico.ca/cbbrowne/lsf.html
My mom said she learned how to swim. Someone took her out in the lake
and threw  her off  the boat. That's  how she  learned how to  swim. I
said, 'Mom, they  weren't trying to teach you how  to swim.'  
-- Paula Poundstone



---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] [GENERAL] PostgreSQL Global Development Group Announces

2002-12-04 Thread cbbrowne
   It isn't, but those working on -advocacy were asked to help come up with
 a
   stronger release *announcement* then we've had in the past ...
 
  Consider that a failed experiment.  PostgreSQL is driven by the
  development group and, to some extent, by the existing user base.  The
  last thing we need is a marketing department in that mix.
 
 Ummm...I disagree.  Lack of marketing is one of Postgres's major problems.
 Particularly when you compare against similar efforts from MySQL, Oracle,
 etc.

Yes, indeed.

The _prime_ reason for the fact that MySQL is the M in LAMP is that there 
is a steady, intent set of efforts going into marketing the M.  People think 
that MySQL is faster, easier to use and more standard than its alternatives, 
and that is certainly the result of marketing.

The /real/ technical merit of MySQL has been that there are some integrated 
tools for ISPs like CPANEL that make it easy for ISPs that don't know 
/anything/ about DBMSes to provide MySQL for their customers.  CPANEL doesn't 
support PostgreSQL, and historically, it has been somewhat more difficult to 
support large numbers of PostgreSQL instances on a web server.  Some of that 
has changed, though CPANEL /still/ doesn't support PostgreSQL.

If any of you consider these technical issues to be small and petty, I'm 
afraid I don't /care/.  More importantly, the hundreds of ISPs licensing 
CPANEL don't care.  /They/ are the ones that would need convincing, and I 
don't think there's any real route to convince them that they should be 
pounding down CPANEL's door asking for a PostgreSQL front end and to convince 
them that they have to tell their customers:

  We sold you MySQL, telling you it was good for you to use.  We were
   wrong, and our new story is that you should convert your databases over
   to use PostgreSQL.

Anyone consider that a likely scenario?  Anyone?

It's fair to say that PostgreSQL doesn't need the likes of the Database 
HOWTO that gives a sales job that's so blindly enthusiastic as to be, well, 
blind.

But an organization that has /no/ marketing department is at a severe 
disadvantage, like it or not.

It is unfortunate that it is almost impossible to have a marketing group 
without there being some wilful blinders involved; it's vital for there to be 
some technical involvement in the marketing group to pop whatever bubbles they 
grow that are woefully wrong.  But even if it operates with some occasional 
lack of /real/ vision, it's necessary to have a marketing group...
--
(reverse (concatenate 'string moc.enworbbc@ sirhc))
http://cbbrowne.com/info/advocacy.html
Rules of the  Evil Overlord #106. If my  supreme command center comes
under attack, I will immediately  flee to safety in my prepared escape
pod and  direct the  defenses from  there. I will  not wait  until the
troops break into my inner sanctum to attempt this.
http://www.eviloverlord.com/



---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] [GENERAL] PostgreSQL Global Development Group

2002-12-15 Thread cbbrowne
Kevin Brown wrote:
 Devrim G?ND?Z wrote:
  I do NOT like hearing about MySQL in this (these) list(s).
  
  PostgreSQL is not in the same category with MySQL. MySQL is for
  *dummies*, not database admins. I do not even call  it a database. I
  have never forgotten my data loss 2,5 years ago; when I used MySQL for
  just 2 months!!! 
 
 I think you're on to something here, but it's obscured by the way you
 said it.
 
 There's no question in my mind that PostgreSQL is superior in almost
 every way to MySQL.  For those of us who are technically minded, it
 boggles the mind that people would choose MySQL over PostgreSQL.  Yet
 they do.  And it's important to understand why.
 
 Simply saying MySQL has better marketing isn't enough.  It's too
 simple an answer and obscures some issues that should probably be
 addressed.

I think it /is/ a significant factor, the point being that the MySQL company 
has been quite activist in pressing MySQL as the answer, to the point to 
which there's a development strategy called LAMP (Linux + Apache + MySQL + 
(Perl|Python|PHP)).

 People use MySQL because it's very easy to set up, relatively easy to
 maintain (when something doesn't go wrong, that is), is very well
 documented and supported, and is initially adequate for the task they
 have in mind (that the task may change significantly such that MySQL
 is no longer adequate is something only those with experience will
 consider).

... And the consistent marketing pressure that in essence claims:

 - It's easier to use than any alternative;
 - It's much faster than any other DBMS;
 - It's plenty powerful and robust enough.

As near as I can tell, /none/ of these things are true outside of very 
carefully selected application domains.  But the claims have been presented 
enough times that people actually believe them to be true.

 PostgreSQL has come a long way and, with the exception of a few minor
 things (the need to VACUUM, for instance.  The current version makes
 the VACUUM requirement almost a non-issue as regards performance and
 availability, but it really should be something that the database
 takes care of itself), is equivalent to MySQL in the above things
 except for documentation and support.

I would point to a third thing:  Tools to support hands-off administration.  
My web hosting provider has a set of tools to let me administer various 
aspects of my site complete with pretty GUI that covers:
 - Configuring email accounts, including mailing lists, Spam Assassin, and 
such;
 - Configuring subdomains;
 - Managing files/directories, doing backups;
 - Apache configuration;
 - Cron jobs;
 - A couple of shopping cart systems;
 - A chat room system;
 - Last, but certainly not least, the ability to manage MySQL databases.

There is no canned equivalent for PostgreSQL, which means that ISPs that 
don't have people with DBMS expertise will be inclined to prefer MySQL.  It's 
a better choice for them.

 MySQL's documentation is very, very good.  My experience with it is
 that it's possible, and relatively easy, to find information about
 almost anything you might need to know.
 
 PostgreSQL's documentation is good, but not quite as good as MySQL's.
 It's not quite as complete.  For instance, I didn't find any
 documentation at all in the User's Guide or Administrator's Guide on
 creating tables (if I missed it, then that might illustrate that the
 documentation needs to be organized slightly differently).  I did find
 a little in the tutorial (about the amount that you'd want in a
 tutorial), but to find out more I had to go to the SQL statement
 reference (in my case I was looking for the means by which one could
 create a constraint on a column during table creation time).
 
 The reason this is important is that the documentation is *the* way
 people are going to learn the database.  If it's too sparse or too
 disorganized, people who don't have a lot of time to spend searching
 through the documentation for something may well decide that a
 different product (such as MySQL) would suit their needs better.
 
 The documentation for PostgreSQL improves all the time, largely in
 response to comments such as this one, and that's a very good thing.
 My purpose in bringing this up is to show you what PostgreSQL is up
 against in terms of widespread adoption.

That's probably pretty fair.  I'm using the word fair advisedly, too.

If someone objects, saying that PostgreSQL docs /are/ good, keep in mind that 
new users are not mandated to be fair about this.  If they have trouble 
finding what they were looking for, they couldn't care less that you think the 
docs are pretty good: /they/ didn't find what /they/ were looking for, and 
that's all they care about.

  If we want to sell PostgreSQL, we should talk about, maybe, Oracle.
  I have never took care of MySQL said. I just know that I'm running
  PostgreSQL since 2,5 years and I only stopped it JUST before upgrades
  of PostgreSQL. It's just *working*; which is unfamiliar 

Re: [HACKERS] OS/400 support?

2003-01-06 Thread cbbrowne
In an attempt to throw the authorities off his trail, [EMAIL PROTECTED] (Tom Lane) 
transmitted:
 Justin Clift [EMAIL PROTECTED] writes:
 We don't support OS/400 yet do we?

 Never heard of it.  Is it Unix-y?  Do you have one available for testing?

No, OS/400 is what replaced IBM System 34, System 36, and System 38.
(Apparently they jumped to 40, and then multiplied by 10 to suggest it
was 10x as good...)

It was based on the CMU Hydra project, which built an OS with a pretty
strong security kernel, with ties to the orthogonal persistence
notion.

By this point, they have created a POSIX-emulation environment so it can
pretend to be somewhat like a Unix, but underneath, it's a database
system for running RPG code.  As such, it kind of starts as a DBMS.

Somehow, I'm not sure that PostgreSQL-on-OS/400 is likely to be more
than a curiosity.
-- 
(reverse (concatenate 'string moc.enworbbc@ enworbbc))
http://www3.sympatico.ca/cbbrowne/rdbms.html
If you can't see the bright side of things, polish the dark side...

---(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] psql and readline

2003-01-09 Thread cbbrowne
On Thu, 09 Jan 2003 10:13:14 EST, the world broke into rejoicing as
Bruce Momjian [EMAIL PROTECTED]  said:
 Justin Clift wrote:
  Bruce Momjian wrote:
  snip
   Let's suppose I am writing a query, and then I do \e to edit the query,
   and I exit the editor and return to psql.  Suppose I decide I want to
   reedit, so I up arrow.  I would expect to get \e, not the query I just
   edited, no?
  
  Wouldn't it depend on how this gets implemented?
  
  Maybe least negative impact approach (suggested already): If the large 
  command that was edited is put in the command history before the \e, 
  then both are available and there is no big change from expected 
  behaviour.
  
  i.e. one up arrow get the previous \e, and a second up arrow would bring 
  up the command that was worked upon.
 
 Makese sense.  However, it still has the shock factor of displaying a
 huge query, which is usually what is involved when using the editor.  I
 don't feel strongly either way --- I am just pointing out the issue.

There's a surprise available in both directions.

If the previous command was use external editor on query, then it
seems unreasonable to forcibly expand that out.  If I edited the
query, it's more than likely that I'd like to edit it again.

But I'd like to have a way to expand the query so that I /can/ see it
in full form.  It would be unfortunate for the /only/ way to get at
the query would be to \e it.

Perhaps the answer is to have some form of \expand directive that
replaces itself with the query's contents, or, better still, which
doesn't actually /execute/ the query, but rather pulls in the query
from outside and pushes it into the command line.  The /next/ time you
hit enter, the query will get executed.
--
output = reverse(moc.enworbbc@ enworbbc)
http://cbbrowne.com/info/linux.html
Eagles may soar, free and proud, but weasels never get sucked into jet
engines.

---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] clock sync

2003-01-09 Thread cbbrowne
On Thu, 09 Jan 2003 08:39:33 CST, the world broke into rejoicing as
John Liu [EMAIL PROTECTED]  said:
 How do I know the clock on the machine you're
 running on will be set to the same time as the 
 clock on the database? how postgre handle this
 internal?

You'll know because you already run NTP on all your servers to make
sure that they are synchronizing times, right?

PostgreSQL doesn't include time synchronization software because NTP
does that perfectly well, just as it doesn't include a job scheduler
because cron does that perfectly well.

... And if your machines have substantially different times, different
sorts of issues will emerge depending on what you're doing.

- If the client sends over literal current time stamps based on what
time it thinks it is, that may differ from what time the server thinks
it is.

- If you do that, and then try looking in PostgreSQL logs, based on
the client's timestamps, you'll look at the wrong times, and get
confused.

- If the client passes in things that select now(), timestamps will be
returned based on when the /server/ thinks it is.  Which should leave
the database consistent, but which might confuse the client if it has
logic that processes that time, and gets deranged because now()
differs massively from what time it thinks it is.

The case where you'll get /badly/ bitten is if you're trying to do
replication with servers that have substantially differing ideas as to
what time it is.

But what you /should/ do is run NTP on all your machines, thus getting
rid of the problem.  http://www.ntp.org/
--
If this was helpful, http://svcs.affero.net/rm.php?r=cbbrowne rate me
http://www3.sympatico.ca/cbbrowne/ntp.html
Rules  of the  Evil  Overlord #30.   All  bumbling conjurers,  clumsy
squires, no-talent  bards, and  cowardly thieves in  the land  will be
preemptively put  to death.  My foes  will surely give  up and abandon
their quest if they have no source of comic relief.
http://www.eviloverlord.com/

---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [mail] Re: [HACKERS] Windows Build System

2003-01-29 Thread cbbrowne
Justin Clift wrote:
 For another perspective, we've been getting a few requests per day 
 through the PostgreSQL Advocacy and Marketing site's request form along 
 the lines of:
 
 Is there a license fee for using PostgreSQL?  We'd like to distribute 
 it with our XYZ product that needs a database.
 
 Probably about 4 or so per day like this at present.  A lot of the 
 people sending these emails appear to have windows based products that 
 need a database, and have heard of PostgreSQL being a database that they 
 don't need to pay license fee's for.  They've kind of missed the point 
 of Open Source from the purist point of view, but it's still working for 
 them.  ;-)

If they are:
 a) not clueful enough to actually look at the license, and
 b) looking at it from the purely selfish perspective of not having to
pay license fees,
then are they /truly/ people where it is useful to put effort into being
helpful?

Furthermore, if their lawyers are incapable of reading the license and
explaining to them You don't have to pay, I'd suggest the thought that
maybe they have bigger problems than you can possibly solve for them.

The great security quote of recent days is thus:
  If you spend more on coffee than on IT security, then you will be
  hacked. -- Richard Clarke

The analagous thing might be:

If you spend more on coffee than you do on getting proper legal advice
about software licenses, then it's just possible that you might do
something DOWNRIGHT STUPID and get yourself in a whole barrel of legal
hot water.

If these people are incapable of reading software licenses, and haven't
any competent legal counsel to to do it for them, you've got to wonder
if they are competent to sell licenses to their own software.  I
seriously doubt that they are.

Furthermore, I'm not at all sure that it is wise for you to even /try/
to give them any guidance in this, beyond giving them a URL to the
license, and saying Have your lawyer read this.  If you start giving
them interpretations of the license, that smacks of giving legal
advice, and bar associations tend to frown on that.
--
If this was helpful, http://svcs.affero.net/rm.php?r=cbbrowne rate me
http://cbbrowne.com/info/
Interfaces keep things tidy, but don't accelerate growth: functions
do. -- Alan Perlis

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [mail] Re: [HACKERS] Windows Build System

2003-01-31 Thread cbbrowne
Jeff Davis wrote:
  What about it?  Someone claimed in this thread that MySQL's Windows port
  requires Cygwin.  Is that true or not?
 
 It's been a while, but I know I've installed MySQL on windows without any 
 separate step of installing Cygwin (I can't say 100% for sure that it didn't 
 install some part of Cygwin transparently to me).

That may have involved not being sufficiently observant, because the company 
quite clearly documents Cygwin as a dependancy.
http://www.mysql.com/downloads/cygwin.html
--
output = (aa454 @freenet.carleton.ca)
http://www3.sympatico.ca/cbbrowne/linuxxian.html
Change is inevitable, except from a vending machine. 



---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [mail] Re: [HACKERS] Windows Build System

2003-01-31 Thread cbbrowne
Jan Wieck wrote:
 Looking at the arguments so far, nearly everyone who questions the Win32
 port must be vehemently against the Cygwin stuff anyway. So that camp
 should be happy to see it flushed down the toilet. And the pro-Win32
 people want the native version because they are unhappy with the
 stepchild-Cygwin stuff too, so they won't care too much.

What is interesting is that the MySQL folk don't seem to be vehemently against 
it, as a look at their downloads pages indicate that they depend on Cygwin for 
the Windows port of their product.
--
output = (cbbrowne @ntlug.org)
http://www.ntlug.org/~cbbrowne/lisp.html
What did we agree about a leader??
We agreed we wouldn't have one.
Good.  Now shut up and do as I say...



---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [mail] Re: [HACKERS] Windows Build System

2003-01-31 Thread cbbrowne
 Jan Wieck [EMAIL PROTECTED] writes:
  Assuming all your assumptions are right, why the hell is Oracle's and MS
  SQL-Server's reputation that bloody good?
 
 They have marketing departments.

... As well as sizable systems integration departments devoted to the 
platforms in question.  PostgreSQL doesn't have the latter, although the 
recent efforts make a move towards it.

  And what about MySQL?
 
 What about it?  Someone claimed in this thread that MySQL's Windows port
 requires Cygwin.  Is that true or not?

http://www.mysql.com/downloads/mysql-3.23.html
Windows downloads

The Windows binaries use the Cygwin library. Source code for the version of 
Cygwin we have used is available on this page.
http://www.mysql.com/downloads/cygwin.html
--
(reverse (concatenate 'string gro.gultn@ enworbbc))
http://www.ntlug.org/~cbbrowne/spiritual.html
When you have eliminated the impossible, whatever remains, however
improbable, must be the truth. -- Sir Arthur Conan Doyle (1859-1930),
English author. Sherlock Holmes, in The Sign of Four, ch. 6 (1889).
[...but see the Holmesian Fallacy, due to Bob Frankston...
http://www.frankston.com/public/Essays/Holmesian%20Fallacy.asp]



---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



[HACKERS] Case Studio II

2003-02-02 Thread cbbrowne
Has anyone seriously tried out this package?

It looks like a cheaper variant on ERWin, with the merit of having
some PostgreSQL support.  

It only runs on WinTel, which is somewhat unfortunate, but I haven't
gotten the sort of diagramming I have been looking for out of AutoDoc,
so I'd be game to look at something pricey, assuming it is useful.
--
http://cbbrowne.com/info/linux.html
Rules of the Evil Overlord #50. My main computers will have their own
special  operating system  that will  be completely  incompatible with
standard IBM and Macintosh powerbooks.
http://www.eviloverlord.com/

---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] new procedural language - PL/R

2003-02-03 Thread cbbrowne
 Any strong feelings on whether this is necessary for a first release?
  
  No.  I'm not sure you'd really need triggers written in R ever ;-)
 
 Yeah, that's what I figured too.

Indeed.  R sounds like it might be an interesting platform from which to
do data mining, and in that sort of context, you're almost exclusively
reading data, so the loss of triggers would be of no great importance.

What might be nifty would be to have some mappings that did Clever
Transformations of Queries Into Views, particularly if that allowed
harnessing the DBMS to do some of the statistical analysis behind your
back...
--
If this was helpful, http://svcs.affero.net/rm.php?r=cbbrowne rate me
http://www3.sympatico.ca/cbbrowne/rdbms.html
After you've  heard two  eyewitness accounts of  an auto  accident it
makes you wonder about history. -- Bits and Pieces

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] Yet another open-source benchmark

2003-03-03 Thread cbbrowne
 OSDL has just come out with a set of open-source database benchmarks:
 http://www.osdl.org/projects/performance/
 
 The bad news:
 This tool kit works with SAP DB open source database versions 7.3.0.23
 or 7.3.0.25.
 
 (In fact, they seem to think they are testing kernel performance, not
 database performance, which strikes me as rather bizarre.  But anyway.)

That may be a terminology thing; the main SAP-DB process is called the 
kernel, and it's more than likely that the SAP-DB Kernel is the sense in 
which the term is being used.

When they translate things from German, sometimes wordings change :-).
--
output = reverse(moc.enworbbc@ enworbbc)
http://www.ntlug.org/~cbbrowne/linuxxian.html
Rules  of the  Evil Overlord  #41. Once  my power  is secure,  I will
destroy all those pesky time-travel devices.
http://www.eviloverlord.com/



---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org


Re: [HACKERS] [PATCHES] XML ouput for psql

2003-03-03 Thread cbbrowne
 [EMAIL PROTECTED] writes:
 
  I don't agree with this: XML and XHTML are two different things.
 
 No one claimed anything to the contrary.
 
  We could certainly upgrade the HTML portion, but I am pretty sure that
  the XML standard calls for this format:
 
  columnnamedata here/columnname
 
 The XML standard does not call for any table format.  But a number of
 table formats have been established within the XML framework.  Some of
 them are formatting-oriented (e.g., the HTML model, or CALS which is used
 in DocBook) and some of them are processing-oriented (e.g., SQL/XML).
 Which do we need?  And which do we need from psql in particular (keeping
 in mind that psql is primarily for interactive use and shell-scripting)?
 In any case, it should most likely be a standard table model and not a
 hand-crafted one.

I would expect XML output to be based on whatever the tree of data
contained.

If the tree is to be rewritten, then this would mean having some sort of
transformation engine in PostgreSQL that you would have to program.

If I want a CALS table, then I'll push CALS table data into the
database.

If I'm storing a GnuCash chart of accounts in PostgreSQL, I am
ludicrously uninterested in seeing it rewritten for some sort of
physical layout.  Spit out the tags that are stored in the database, not
some rewriting of it.
--
(reverse (concatenate 'string moc.enworbbc@ enworbbc))
http://cbbrowne.com/info/linuxdistributions.html
(1) Sigs are preceded by the sigdashes line, ie \n-- \n (dash-dash-space).
(2) Sigs contain at least the name and address of the sender in the first line.
(3) Sigs are at most four lines and at most eighty characters per line.

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html


Re: [HACKERS] XML ouput for psql

2003-03-05 Thread cbbrowne
 Peter Eisentraut [EMAIL PROTECTED] writes:
  I also think that psql is not the place to implement something like this.
 
 Agreed.
 
  It's most likely best put in the backend, as a function like
  xmlfoo('select * from t1;')

 That seems a little bizarre.  Wouldn't we want to have a switch that
 just flips the SELECT output format from one style to the other?

Ah, but this approach has the merit that it doesn't require pushing out
a completely new set of tools.

 This is also a good time to stop and ask whether the frontend/backend
 protocol needs to change to support this.  Not having read the spec, I
 have no idea what the low-level transport needs are for XML output,
 but I suspect our present protocol is not it ...

That could be; there's enough variation in what one might want to do
with XML that it is not trivial to suggest an 'ideal' answer.

We have already seen the proposal of:
record a=b c=d e=f
record a=c c=e e=g
record a=d c=f e=h
record a=e c=g e=i

I would rather prefer something like:
tablea
 record
   ab/a cd/c ef/e
 /record  
 record
   ac/a cd/c ef/e
 /record  
 record
   ad/a cd/c ef/e
 /record  
tablea

(Note that both approaches are quite rational possibilities.)

I'd think that the protocol would involve passing back a row-as-string
for each row in the result set.
--
output = (cbbrowne @cbbrowne.com)
http://www.ntlug.org/~cbbrowne/xml.html
There are two major products that come out of Berkeley: LSD and Unix.
We don't believe this to be a coincidence. - Jeremy S. Anderson

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html


Re: [HACKERS] make report

2002-04-22 Thread cbbrowne

 I'd like to implement *something* to help us collect information on what
 platforms actually have what features. This would be useful, for
 example, for figuring out whether any platforms are lacking 8 byte
 integers or are missing timezone infrastructure.
 
 I was thinking about something like make report which would mail the
 results of ./configure to, say, the ports mailing list. We could mention
 it in the text message printed at the end of the make cycle.
 
 Comments? Suggestions?

Suggestion:  Why not embed this information into the binary, and provide some 
way of extracting it.

(There's a Linux kernel option that allows something similar, so it wouldn't 
be something unprecedented.)

If all the config information is embedded in the binary, automatically, at 
compile time, then this allows the ability to be _certain_ that:

- Oh, that was compiled with a really stupid set of compiler options; you'll 
have to recompile!

- That was compiled without support for FOO, but with support for BAR.

- Announcement, people:  Look out for whether or not your distribution 
compiled PostgreSQL with proper support for 64 bit integers.  Several 
distributions got this wrong with the 7.4.17 release, and you can see if it's 
OK by looking for LONG_LONG_REVISED in the embedded configuration information.

[Downside:  Announcement, script kiddies:  If you find option 
UPDATE_DESCR_TABS=1 in the configuration information, then there's a very easy 
root exploit...]
--
(reverse (concatenate 'string gro.gultn enworbbc))
http://www3.sympatico.ca/cbbrowne/x.html
Rules of  the Evil  Overlord #176.  I will add  indelible dye  to the
moat. It won't  stop anyone from swimming across,  but even dim-witted
guards should be  able to figure out when someone  has entered in this
fashion. http://www.eviloverlord.com/

-- 
(concatenate 'string cbbrowne acm.org)
http://www3.sympatico.ca/cbbrowne/spiritual.html
Including a destination in the CC list that will cause the recipients'
mailer to blow out is a good way to stifle dissent.
-- from the Symbolics Guidelines for Sending Mail





msg16196/pgp0.pgp
Description: PGP signature


Re: [HACKERS] mV database tools

2002-05-01 Thread cbbrowne

 I suppose arrays are PostgreSQL's equivalent of multi-valued data (is it
 possible to have arrays of arrays?)  So it could be argued that
 PostgreSQL already provides part of what Arthur wants.

It seems to me that there would be a whopping lot of value to the exercise of 
figuring out some way of layering MVD on top of a relational database, even 
if only to provide something sufficiently analytical to cope with the 
perpetual claims of:

  MultiValued Databases are Vastly, Spectacularly, the Bestest Kind of
   Database ever imagined in the universe!  No, really they are!

It might not be necessary to go all the way to fully layering such a thing atop 
PostgreSQL, although it would be a nice riposte to be able to respond with:

  Been there, done that.  Of _COURSE_ PostgreSQL supports MultiValue.
--
(reverse (concatenate 'string gro.gultn enworbbc))
http://www.cbbrowne.com/info/lisp.html
Including a destination in the CC list that will cause the recipients'
mailer to blow out is a good way to stifle dissent.
-- from the Symbolics Guidelines for Sending Mail

-- 
(reverse (concatenate 'string ac.notelrac.teneerf 454aa))
http://www.cbbrowne.com/info/spreadsheets.html
Starting a project in C/C++ is a premature optimization.
-- Peter Jensen





msg16544/pgp0.pgp
Description: PGP signature


Re: [HACKERS] PostgreSQL mission statement?

2002-05-01 Thread cbbrowne

 mlw [EMAIL PROTECTED] writes:
  Just out of curiosity, does PostgreSQL have a mission statement?

 Nope.  Given the wide variety of views among the developer community,
 I think we'd have a tough time agreeing on a mission statement, unless
 it was so generic as to be meaningless ...

Well, I think one of the things that has been agreed on that _isn't_
that generic is:
  We use a Berkeley style license, and prefer it that way.

:-)
--
(concatenate 'string cbbrowne @ntlug.org)
http://www.ntlug.org/~cbbrowne/rdbms.html
To err is human, to moo bovine. 

---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] Musings

2002-05-05 Thread cbbrowne

On Mon, 06 May 2002 00:50:25 +1000, the world broke into rejoicing as
Gavin Sherry [EMAIL PROTECTED]  said:
 On Sun, 5 May 2002 [EMAIL PROTECTED] wrote:
  On Sun, 05 May 2002 10:01:57 EDT, the world broke into rejoicing as
  mlw [EMAIL PROTECTED]  said:
   It is sunday morning and I have been musing about some PostgreSQL issues. As
   some of you are aware, my dot com, dot died, and I am working on a business
   plan for a consulting company which, amongst other things, will feature
   PostgreSQL. As I am working on the various aspects, some issue pop up about
   PostgreSQL.
   
   Please don't take any of these personally, they are only my observations, if
   you say they are non issues I would rather just accept that we disagree than
   get into a nasty fight. They *are* issues to a corporate acceptance, I have
   been challenged by IT people about them.
   
   (1) Major version upgrade. This is a hard one, having to dump out and
   restore a database to go from 7.1 to 7.2 or 7.2 to 7.3 is really a
   hard sell. If a customer has a very large database, this represents a
   large amount of down-time. If they are running on an operating system
   with file-size limitations it is not an easy task. It also means that
   they have to have additional storage which amount to at least a copy
   of the whole database.
  
  All of these things are true, and what you should throw back at the IT
  people is the question:
  
So what do you do when you upgrade from Oracle 7 to Oracle 8?  How
 about the process of doing major Informix upgrades?  Sybase?  Does it
 not involve some appreciable amounts of down-time?

 This is most definately the wrong way of thinking about this. I'm not
 saying that Mark sets a simple task, but the goals of Postgres should
 never be limited to the other products out there.

Apparently you decided to fire back an email before bothering to read
the paragraph that followed, which read:

  There may well be possible improvements to the PostgreSQL upgrade
  process; zero-downtime, zero-extra space upgrades do not seem likely
  to be amongst those things.

Yes, there may well be improvements possible.  I'd think it unlikely
that they'd emerge today or tomorrow, and I think it's silly to assume
that all responses must necessarily be of a technical nature.

IT guys that are firing shots to the effect of We expect zero time
upgrades are more than likely playing some other agenda than merely
we'd like instant upgrades.

For them to expect instant upgrades when _much_ more expensive systems
offer nothing of the sort suggests to me that the _true_ agenda has
nothing to do with upgrade time, and everything to do with FUD.

If that's the case, and I expect FUD is in play in this sort of
situation, then the purely technical response of we might try that
someday is a Dead Loss of an answer.

If they refuse to move from Oracle to PostgreSQL because PostgreSQL has
no instant transparent upgrade scheme as compared to Oracle, which
_also_ has no instant transparent upgrade, then do you realistically
think that the lack of a instant transparent upgrade has ANYTHING to
do with the choice?

I'm merely suggesting that suitable questions head back to determine if
the question is an honest one, or if it's merely FUD.
--
(reverse (concatenate 'string gro.gultn@ enworbbc))
http://www.cbbrowne.com/info/lisp.html
When man stands on toilet, man is high on pot. -Confucius

---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] How much work is a native Windows application?

2002-05-09 Thread cbbrowne

 I think, and I know people are probably sick of me spouting opinions,
 that if you want a Windows presence for PostgreSQL, then we should
 write a real Win32 version.

The crucial wrong word is the word we.

If _you_ want a Windows presence, then _you_ should write a real Win32 
version.  That clearly attaches responsibility to someone who is interested.
--
(reverse (concatenate 'string gro.mca@ enworbbc))
http://www.cbbrowne.com/info/unix.html
I'm not switching from slrn.   I'm quite confident that anything that
*needs* to be posted in HTML is fatuous garbage not worth my time.
-- David M. Cook [EMAIL PROTECTED]

-- 
(reverse (concatenate 'string moc.enworbbc@ enworbbc))
http://www.ntlug.org/~cbbrowne/spreadsheets.html
Rules of the Evil Overlord #166.  If the rebels manage to trick me, I
will make a  note of what they did  so that I do not  keep falling for
the same trick over and over again. http://www.eviloverlord.com/





msg16822/pgp0.pgp
Description: PGP signature


Re: [HACKERS] How much work is a native Windows application?

2002-05-09 Thread cbbrowne

 [EMAIL PROTECTED] wrote:
 I think, and I know people are probably sick of me spouting
 opinions, that if you want a Windows presence for PostgreSQL, then
 we should write a real Win32 version.

 The crucial wrong word is the word we.

 If _you_ want a Windows presence, then _you_ should write a real
 Win32 version.  That clearly attaches responsibility to someone who
 is interested.

 I have already said that I am willing to write the pieces for a
 Windows port.  The issue is changes in PostgreSQL required to do it.

No, I don't think you understand.

If you're planning to do a port, then _all_ changes are your
responsibility.  Nobody ought to need to change PostgreSQL in order for
you to write a Windows port; that, in fact, would be a waste of time,
having several people working on something that should probably be done
by one person.
--
(concatenate 'string aa454 @freenet.carleton.ca)
http://www.ntlug.org/~cbbrowne/x.html
Why are they called apartments, when they're all stuck together? 

---(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] Monitoring backend activities

2002-05-10 Thread cbbrowne

 Hi everybody,
  I'm a hookie in this discussion list. Well, my intent is to get some
 informations about PostgreSQL internals to work on a project. There
 is an excellent GPL'ed tool to work with Oracle called TOra. It is as
 good as TOAD and SQL Navigator from Quest Software. As a meaning of
 collaborate with the Open Source world i was thinking in port TOra to
 PostgreSQL. So, we'll have a great database and a great tool to manage
 it.

I think that would be rookie; the term hookie refers to what you're 
playing if you skip school.

  Problem is: reading PostgreSQL documentation i didn't find any
 information about system tables having runtime informations as Oracle
 has. And one of the great features of TOra is the possibility to see
 in charts, in real-time, all kind of I/O operations, memory usage,
 queries being executed, etc...

The only problem I see is that TOra already seems quite well supported for 
PostgreSQL.  I'm running it at the moment, and it works quite well...
--
(concatenate 'string cbbrowne cbbrowne.com)
http://www.cbbrowne.com/info/lsf.html
Put simply, the antitrust laws in this country are basically a joke,
protecting us just enough to not have to re-name our park service the
Phillip Morris National Park Service. 
-- Courtney Love, Salon.com, June 14, 2000

-- 
(concatenate 'string cbbrowne ntlug.org)
http://www.cbbrowne.com/info/rdbms.html
Rules of the Evil Overlord  #220. Whatever my one vulnerability is, I
will fake a  different one. For example, ordering  all mirrors removed
from the palace, screaming and flinching whenever someone accidentally
holds up a mirror, etc. In the climax when the hero whips out a mirror
and thrusts it at my face,  my reaction will be ``Hmm...I think I need
a shave.''  http://www.eviloverlord.com/



-- 
(reverse (concatenate 'string moc.enworbbc sirhc))
http://www.cbbrowne.com/info/linuxxian.html
As of next Monday, MACLISP will no longer support list structure.
Please downgrade your programs.





msg16907/pgp0.pgp
Description: PGP signature


Re: [HACKERS] Native Win32, How about this?

2002-05-11 Thread cbbrowne

 A binary version of PostgreSQL for Windows should not use the cygwin
 dll. I know and understand there is some disagreement with this
 position, but in this I'm sure about this.

That may ultimately be desirable.

In the short term, it is likely preferable to use cygwin.

It is only necessary to point at MySQL for an example.  Cygwin is used there.
http://www.mysql.com/downloads/mysql-3.23.html  It is being used widely, 
crap or not.

Cygwin may not ultimately be the ideal thing to use; we don't yet live in 
Pangloss' Best of All Possible Worlds, and thus have to live with some 
things not being ideal.

If having the installer install Cygwin as well as the DBMS makes it easy to 
have something usable soon, and this allows 100,000 WinFolk to try out 
PostgreSQL, then that's a Big Win.  Out of 100K users, surely two or three may 
be attracted into working on a more Panglossian solution.

It may be fair to say that none of those 100K folk would be using PostgreSQL 
to support HA applications involving hundreds of GB of data.  That's _fine_.

If there are new 100K folk using PostgreSQL/cygwin, _some_ of them will 
outgrow its capabilities, and come looking for improvements.

And as they're Windows users, accustomed to having to pay hefty amounts to 
Microsoft to get support no better than that provided by the Psychic Friends 
Network (see http://www.bmug.org/news/articles/MSvsPF.html), they'll 
doubtless be prepared to have to pay _something_ in order for 
PostgreSQL/Win3K-Enterprise Edition to become available.

That seems a not too unreasonable path towards the Best of All Possible 
Worlds.  There may be a bit of hyperbole in the above, but any time Voltaire 
gets quoted, that's likely to happen :-).
--
(reverse (concatenate 'string gro.gultn enworbbc))
http://www.cbbrowne.com/info/wp.html
Eagles may soar, but weasels don't get sucked into jet engines.

-- 
(concatenate 'string cbbrowne ntlug.org)
http://www.cbbrowne.com/info/multiplexor.html
It's a  little known fact  that the Dark  Ages were caused by  the Y1K
problem.





msg16930/pgp0.pgp
Description: PGP signature


Re: [HACKERS] Redhat 7.3 time manipulation bug

2002-05-23 Thread cbbrowne

 --=-Z1lifK4QZqKV8kHqHfYT
 Content-Type: text/plain
 Content-Transfer-Encoding: quoted-printable
 
 On Wed, 2002-05-22 at 10:51, Lamar Owen wrote:
 
  What isn't funny is Oliver Elphick's results on Debian, running glibc 2.2=
 .5=20
  (same as Red Hat 7.3's version).
 
 This is a completely different version.  Once Debian updates (in a few
 years) they'll get the same result.
 
 If you are misusing interfaces you get what you deserve.  At no time was
 it correct to use these functions for general date manipulation.  It
 always only was allowed to use them to represent system times and there
 was no Unix system before the epoch.  Therefore you argumentation is
 completely wrong.
 
 If you need date manipulation write your own code which work for all the
 times you want to represent.

This is indeed a problem with dates on LIBC, because even if it is 
theoretically satisfactory to describe dates within some range within 2^31 
seconds of 1970, that is certainly NOT satisfactory for describing all dates 
of interest unless you're being terribly parochial about what is to be 
considered of interest.

My father's birth falls within 2^31 seconds of 1970, but the Battle of 
Agincourt doesn't.

Any backup of any Unix system in history falls within 2^31 seconds of 1970, 
but there are people alive whose births don't.

People get away with using Unix dates as a general date type when they don't 
have to work outside a limited range.  If/when there is a move to 64 bit 
values, that will provide something with enough range to cover history back to 
ridiculously early times, relieving the limit.

But anybody using Unix dates as general dates has leaped into exactly the 
same sort of trap that caused people to get so paranoid about Y2K.
--
(concatenate 'string cbbrowne @acm.org)
http://www.cbbrowne.com/info/oses.html
Do Roman paramedics refer to IV's as 4's? 

-- 
(concatenate 'string aa454 @freenet.carleton.ca)
http://www.ntlug.org/~cbbrowne/linuxxian.html
So, when you typed in the date, it exploded into a sheet of blue
flame and burned the entire admin wing to the ground? Yes, that's a
known bug. We'll be fixing it in the next release. Until then, try not
to use European date format, and keep an extinguisher handy.
-- [EMAIL PROTECTED] (Tequila Rapide) 



---(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] Redhat 7.3 time manipulation bug

2002-05-23 Thread cbbrowne

 On 22 May 2002, Ulrich Drepper wrote:
 
  On Wed, 2002-05-22 at 11:23, Tom Lane wrote:
 
   Unix systems have
   *always* interpreted time_t as a signed offset from the epoch.
 
  No.  This always was an accident if it happens.
 
   Do you
   really think that when Unixen were first built in the early 70s, there
   was no interest in working with pre-1970 dates?  Hardly likely.
 
  There never were files or any system events with these dates.  Yes.
 
  And just to educate you and your likes: the majority of systems on this
  planet use mktime this way.  I hate using this as an argument, but
  beside major Unixes M$ systems also do this.
 
 M$ systems crashes regularly too ... is Redhat going to adopt that too?

Harbison and Steele indicates that:

  Although the traditional return type of time is long, the value returned is 
usually of type unsigned long.

That is NOT a Linux reference; it was published before Linus had started 
working on his kernel project.

ANSI does not indicate that time_t is a signed int, signed long, or whatever.  
It is only defined to be an arithmetic type.

It would not be a bug for GLIBC to define time_t to be an unsigned int, with 
an epoch beginning of January 1, 1999.  That definition would conform to ANSI 
C.

Since that definition can conform to ANSI C, and Unix systems have more 
particularly been known to use unsigned ints with epoch of 1970, it is NOT 
reasonable to assume that time_t can be used to express dates that are at all 
ancient in the past.

Indeed, it is fairly _useful_ for different libc implementations to make 
different assumptions about things whose definitions are permitted to vary, as 
this makes it easier to call out as WRONG those systems that make up their own 
definitions.

People will no doubt get defensive about their own non-standard 
implementations of things; it is certainly far easier to cry They're trying 
to play Microsoft! than it is to be honest and actually look at the standards.
--
(concatenate 'string cbbrowne ntlug.org)
http://www.cbbrowne.com/info/advocacy.html
When confronted by a difficult problem, solve it by reducing it to the
question, How would the Lone Ranger handle this?

-- 
(reverse (concatenate 'string gro.mca enworbbc))
http://www.cbbrowne.com/info/linuxxian.html
As of next Monday, COMSAT will be flushed in favor of a string and two tin
cans.  Please update your software.



---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] Redhat 7.3 time manipulation bug

2002-05-24 Thread cbbrowne

On Fri, 24 May 2002 06:10:39 PDT, the world broke into rejoicing as
Thomas Lockhart [EMAIL PROTECTED]  said:
 ...
  But anybody using Unix dates as general dates has leaped into exactly the
  same sort of trap that caused people to get so paranoid about Y2K.

 Certainly true. We don't use Unix dates as general dates, we use the
 Unix time zone database and API for dates and times within the year
 range of 1903 to 2038. Well, up until now anyway...

I don't think going past 1970 is particularly safe; it certainly doesn't
seem to fit with ANSI...

By the way, the seemingly relevant link to look at for TZ info is 
http://www.twinsun.com/tz/tz-link.htm, linking to the data used by
various Unix implementations.

 Prior to the 1900s, the concept of time zones was more localized and
 not universally adopted. In the US, a first round of time zone
 standardization came with the transcontinental railroads in the 1860s.
 After 2038, it is a good bet that time zones will resemble those in
 use today, but they are as much a political construct as a physical
 one so the details are subject to change.

Some of the zones are quite peculiar if you head to Africa and Asia;
there are some sitting on 15 minute intervales, rather than the usual 1h
intervals.

(The classic Canadian timezone joke is World ends at 9:00; 9:30 in
Newfoundland.  For more information, see TZ='America/St_Johns')
--
(concatenate 'string chris @cbbrowne.com)
http://www.ntlug.org/~cbbrowne/spreadsheets.html
Heuristics (from the  French heure, hour) limit the  amount of time
spent executing something.  [When using heuristics] it shouldn't take
longer than an hour to do something.

---(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] Redhat 7.3 time manipulation bug

2002-05-24 Thread cbbrowne

   The last phase could be extending the API to allow multiple simultaneous
   time zones, detection of bad time zones, etc etc. This would involve API
   changes or extensions, and breaks compatibility with system-supplied
   infrastructure.
  One thing that wasn't clear to me, but could use investigation: if so
  many systems are using the same underlying timezone database info, maybe
  there is some commonality at a level below the ISO mktime/tzset/etc API.
  If we could make use of the system-provided TZ database at a lower level
  while still using our own APIs not tied to time_t, it'd answer the issue
  of compatibility with the surrounding system.  (Which is a real issue,
  I agree --- we should be able to accept the system's standard TZ setting
  if possible.)

 The fundamental problem (which of course can have a fundamental
 solution ;) is that a time zone database built with a 32-bit time_t
 will have time zone info through 2038 only (it is a binary file with
 32-bit time fields -- almost certainly anyway). So if we have an
 extended time zone infrastructure using something different for time_t
 we would need to handle the case of reading non-extended time zones
 databases, which puts us back to having limitations.

Ah, but the database in question _doesn't_ consist of 32 bit time_t
values.

It consists of things like:

# @(#)zone.tab  1.26
#
# TZ zone descriptions
#
# From Paul Eggert [EMAIL PROTECTED] (1996-08-05):
#
# This file contains a table with the following columns:
# 1.  ISO 3166 2-character country code.  See the file `iso3166.tab'.
# 2.  Latitude and longitude of the zone's principal location
# in ISO 6709 sign-degrees-minutes-seconds format,
# either +-DDMM+-DDDMM or +-DDMMSS+-DDDMMSS,
# first latitude (+ is north), then longitude (+ is east).
# 3.  Zone name used in value of TZ environment variable.
# 4.  Comments; present if and only if the country has multiple rows.
#
# Columns are separated by a single tab.
# The table is sorted first by country, then an order within the country that
# (1) makes some geographical sense, and
# (2) puts the most populous zones first, where that does not contradict (1).
#
# Lines beginning with `#' are comments.
#
#country-
#code   coordinates TZ  comments
AD  +4230+00131 Europe/Andorra
AE  +2518+05518 Asia/Dubai
AF  +3431+06912 Asia/Kabul
AG  +1703-06148 America/Antigua
AI  +1812-06304 America/Anguilla
AL  +4120+01950 Europe/Tirane
AM  +4011+04430 Asia/Yerevan
AN  +1211-06900 America/Curacao
AO  -0848+01314 Africa/Luanda

Then a leapseconds table, looking like:
# The correction (+ or -) is made at the given time, so lines
# will typically look like:
#   LeapYEARMON DAY 23:59:60+   R/S
# or
#   LeapYEARMON DAY 23:59:59-   R/S

# If the leapsecond is Rolling (R) the given time is local time
# If the leapsecond is Stationary (S) the given time is UTC

# Leap  YEARMONTH   DAY HH:MM:SSCORRR/S
Leap1972Jun 30  23:59:60+   S
Leap1972Dec 31  23:59:60+   S
Leap1973Dec 31  23:59:60+   S
Leap1974Dec 31  23:59:60+   S
Leap1975Dec 31  23:59:60+   S
Leap1976Dec 31  23:59:60+   S

And then a set of rules about timezone adjustments for all sorts of
localities, including the following:

# Rule  NAMEFROMTO  TYPEIN  ON  AT  SAVELETTER/S
# Summer Time Act, 1916
RuleGB-Eire 1916only-   May 21  2:00s   1:00BST
RuleGB-Eire 1916only-   Oct  1  2:00s   0   GMT
# S.R.O. 1917, No. 358
RuleGB-Eire 1917only-   Apr  8  2:00s   1:00BST
RuleGB-Eire 1917only-   Sep 17  2:00s   0   GMT


# Zone  NAMEGMTOFF  RULES   FORMAT  [UNTIL]
Zone Antarctica/Casey   0   -   zzz 1969
8:00-   WST # Western (Aus) Standard Time
Zone Antarctica/Davis   0   -   zzz 1957 Jan 13
7:00-   DAVT1964 Nov # Davis Time
0   -   zzz 1969 Feb
7:00-   DAVT
Zone Antarctica/Mawson  0   -   zzz 1954 Feb 13
6:00-   MAWT# Mawson Time

 I'm guessing that a better approach might be to have our time zone
 stuff inside our own API, which then could choose to call, for
 example, mktime() or pg_mktime(), which could each have different
 signatures.  Then the heuristics for matching one to the other are
 isolated to our thin API implementation, not to the underlying system-
 or pg-provided libraries.

 matching stringy time zones to numeric offsets for input date/times.
 The time zone databases themselves 

Re: [HACKERS] Alternatives to SQL ...

2002-06-08 Thread cbbrowne

The world rejoiced as [EMAIL PROTECTED] (Martijn van Oosterhout) wrote:
 On Fri, May 24, 2002 at 12:43:36PM -0500, Gunther Schadow wrote:
 - Sending a parse tree in XML for processing by the optimizer.
This circumvents the SQL language and avoids the kinds of
syntactic ideosyncrasies of SQL (e.g., where you put commas.)
This is fairly trivial, but of course the question is, would it
be worth it?
X-Mailer: mh-e 6.1; nmh 1.0.4+dev; Emacs 21.4

 I don't know if you can design something in XML that is expressive
 and simple enough to compete with SQL. SQL is a simple language, why
 replace it with something unless it is demonstrably better.

SQL is good at providing linear queries; queries that indicate some
linear relationship between elements.

It is not so good at representing hierarchical relationships, which is
what XML is about.

The SQL: 
   SELECT FIELDS FROM TABLE
provides you with a linear list.

SQL isn't _nearly_ as nice at representing things that are naturally
expressed as trees.  It's pretty easy to have a DB schema where you
essentially have to submit an SQL query for every level of the tree.

And I am not ignoring JOIN here; that adds _some_ ability to join
together levels of trees, but not an unlimited ability.

The XML model fundamentally involves a hierarchy, and the 'query
method' involves passing in a function that reshapes that hierarchy.
I think there would be considerable value to that.

It certainly needs to be thought about before it is implemented, but
it's worth thinking about, to be sure.
-- 
(reverse (concatenate 'string gro.gultn@ enworbbc))
http://www.ntlug.org/~cbbrowne/multiplexor.html
It  is easier to move a  problem around  (for  example, by moving the
problem to a different part  of the overall network architecture) than
it is to solve it.  -- RFC 1925

---(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] A fairly obvious optimization?

2002-06-24 Thread cbbrowne

On Sun, 23 Jun 2002 17:16:09 EDT, the world broke into rejoicing as
Bruce Momjian [EMAIL PROTECTED]  said:
 FAQ updated in section 4.8: My queries are slow or don't make use of the
 indexes. Why?
 
 is returned.  In fact, though MAX() and MIN() don't use indexes,   
 it is possible to retrieve such values using an index with ORDER BY
 and LIMIT:
 PRE
 SELECT col
 FROM tab
 ORDER BY col
 LIMIT 1
 /PRE

This sounds like the sort of thing that would be really nice to be able
to automate into the query optimizer...
--
(reverse (concatenate 'string moc.enworbbc@ sirhc))
http://www3.sympatico.ca/cbbrowne/spreadsheets.html
I decry the current  tendency to seek  patents on algorithms.   There
are better ways to  earn a living  than to  prevent other  people from
making use of one's contributions to computer science.
-- D. E. Knuth



---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]





Re: [HACKERS] Postgres idea list

2002-06-26 Thread cbbrowne

On Wed, 26 Jun 2002 11:35:07 PDT, the world broke into rejoicing as
Josh Berkus [EMAIL PROTECTED]  said:
  What do you see as the drawbacks with java, and how can they be
  circumvented?
 
 1. Java is not Open Source.  It's an open standard, but not OS.

The problem is not with the language; it is with the layered libraries
on top.

It's reasonably usable as a server side language; the _real_ serious
problems come in if you want to build a GUIed application, when your
choice is between:

 a) A really klunky AWT UI that will be unacceptable to all, and

 b) A SWING UI that makes your application critically dependent on
non-open source software.

The old Java 1.01 stuff is fairly successfully freely usable, but
that's not what anyone wants to develop with.  They want the cool new
J2EE stuff, and it takes some serious research to figure out that you
aren't going to be doing that with 'free software,' despite the
existence of stuff like JBoss.  You still need components that are
Definitely Not Free.

The answer is that someone has to implement a complete set of
replacements for the SunSoft components under free licenses.  That
circumvention is a distinctly non-trivial task.

 2. I understand that there are some serious limitations to the current
 Postgres JDBC drivers.  I have not used them, so I'm reporting rumor,
 here.

I've not run into problems with them, but maybe my use hasn't been
extensive enough :-).
--
(concatenate 'string cbbrowne @acm.org)
http://cbbrowne.com/info/rdbms.html
Remember folks.  Street lights timed for 35 mph are also timed for 70
mph.  -- Jim Samuels



---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster





Re: [HACKERS] Postgres idea list

2002-06-27 Thread cbbrowne

On 26 Jun 2002 14:36:15 EDT, the world broke into rejoicing as
Dave Cramer [EMAIL PROTECTED]  said:
 Josh,
 
 1) There is an open source implementation of java
 2) The jdbc driver is much better than it was recently we have made lots
 of improvements, and it won't affect jpgadmin anyway. I actually think
 writing the admin tool in java will make the driver better.
 3) Don't see this as a big issue we aren't writing something esoteric
 here.

There are free software implementations of Java compilers and of Java
Virtual Machines.

Are there suitable free software implementations of _all_ the
libraries that you will be needing to construct the admin tool?  

In particular, can you direct us to a free software implementation of
Swing?

I doubt that you can, and _that_ is the characteristic problem with
Java.  The language is free enough, but the libraries you will want to
use aren't...
--
(concatenate 'string chris @cbbrowne.com)
http://www3.sympatico.ca/cbbrowne/spreadsheets.html
HAKMEM ITEM 163 (Sussman):
To exchange two variables in LISP without using a third variable:
(SETQ X (PROG2 0 Y (SETQ Y X))) 



---(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] Why is MySQL more chosen over PostgreSQL?

2002-07-29 Thread cbbrowne

 
 Just a long standing curiosity?
 
 For most web sites MySQL seems to work fine, but overall PostgreSQL offers 
 more capabilites so why build upon a limited base such as MySQL?
 
 Does anyone here have any idea as to why so many people select MySQL when 
 both systems are open sourced?

Three likely effects:

a) ISP management toolsets include management tools for MySQL, and not 
PostgreSQL.

(CPanel is an example of such a toolset.)

b) Apparently the permissions model for PostgreSQL used to discourage its use 
in shared hosting environments.  (Ask Neil Conway more about this.)

c) There was corporate sponsorship of MySQL, and they probably spent money 
marketing it in the ISP web hosting market.

d) MySQL is GPL-licensed, and some people consider that very important.  (And 
are too stupid to grasp that they like XFree86, which _isn't_ licensed under 
the GPL...  Of course, this is d), and I said three likely effects...)

e) Inertia.  MySQL got more popular way back when; the reasons may no longer 
apply, but nobody is going to move to PostgreSQL without _compelling_ reason, 
and you'll have to show something _really compelling_.
--
(concatenate 'string cbbrowne @acm.org)
http://cbbrowne.com/info/advocacy.html
FLORIDA: Where your vote counts and counts and counts.



---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])



[HACKERS] Table inheritance versus views

2002-08-02 Thread cbbrowne

On 29 Jul 2002 18:27:40 MDT, the world broke into rejoicing as
Stephen Deasey [EMAIL PROTECTED]  said:
 Curt Sampson wrote:
 I'm still waiting to find out just what advantage table inheritance
 offers. I've asked a couple of times here, and nobody has even
 started to come up with anything.

 Table inheritance offers data model extensibility.  New (derived) tables
 can be added to the system, and will work with existing code that
 operates on the base tables, without having to hack up all the code.

But it kind of begs the question of why you're creating the new table in
the first place.

The new table certainly _won't_ work with existing code, at least from
the perspective that the existing code doesn't _refer_ to that table.

The same is not true for views; if you create a new view on a table, the
existing code that refers to the table in either raw form or in other
views already exist will certainly continue to work.

 Inherited indexes etc. would be nice, but it's the inability to have
 referential integrity against a base table that picks up child table
 rows that makes the current implementation useles.

Views will certainly inherit indices, and continue to maintain
referential integrity against the base table.

 I would rather see it fixed than junked, and better yet extended.  It
 would be incredibly useful in real-world projects with complex data
 models like OpenACS.

Have they found views to be an unacceptable alternative?

I just don't see that there's _all_ that much about table inheritance
that is really fundamentally wonderful.

The incredibly useful thing, it seems to me, would be to provide tools
that make it less necessary to create additional tables.  To be sure,
views do that.

I'm not quite sure what INHERITS buys us that we don't get from
  SELECT * into new_table from old_table

INHERITS may automagically draw in some contraints that have been
specifically tied to old_table that wouldn't be drawn by SELECT * INTO
NEW_TABLE; the latter _will_ inherit anything that is tied to the
types.

I'd _much_ rather have five views on one table than five tables.
--
(reverse (concatenate 'string gro.gultn@ enworbbc))
http://cbbrowne.com/info/spreadsheets.html
Everything should  be made as  simple as possible, but  not simpler.
-- Albert Einstein

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



[HACKERS] Third Manifesto

2002-08-02 Thread cbbrowne

 On Fri, 2002-08-02 at 08:55, Curt Sampson wrote:
  On Fri, 2 Aug 2002, Marc G. Fournier wrote:
  
   Isn't inheritance kinda one of those things that is required in order to
   be consider ourselves ORBDMS, which we do classify our selves as being?
  
  Well, it depends on what you call an ORDBMS. By the standards of
  Date and Darwen in _The Third Manifesto_,
 
 Is _The Third Manifesto_ available online ?

The full book is not.

An earlier version of the work is available as: http://www.acm.org/sigmod/recor
d/issues/9503/manifesto.ps

It's actually an easier read than the full book.
--
(concatenate 'string cbbrowne cbbrowne.com)
http://www3.sympatico.ca/cbbrowne/finances.html
very few people approach me in real life and insist on proving they
are drooling idiots.  -- Erik Naggum, comp.lang.lisp



---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] Standard replication interface?

2002-08-15 Thread cbbrowne

 --=-QQHYShMlxI2BY71i6NiO
 Content-Type: text/plain
 Content-Transfer-Encoding: quoted-printable
 
  As I said -- I don't really see the need for a bunch of replication
  implementations, and therefore I don't see the need for a generic API
  to make the whole mess (slightly) more manageable.
 
 I see.  So the intension of the core developers is to have one and only
 one replication solution?

If the various solutions may be folded down into a smaller set of programs, 
perhaps, ultimately, into _one_ program, that would surely be easier to 
manage, in the codebase, than having five or six such programs.

If one program can do the job that needs to be done, and it has not been 
_clearly_ established that that is _not_ possible, then I'd think it rather 
silly to have a bunch of replication solutions that need to be updated any 
time a relevant change goes into the database engine.

I'd be surprised if, in the end, there truly _needed_ to be more than about 
two approaches.

Should the team plan to _have_ a mess?  I'd think not.
--
(concatenate 'string cbbrowne ntlug.org)
http://cbbrowne.com/info/linuxdistributions.html
We don't understand the  software, and sometimes we don't  understand
the hardware, but we can *see* the blinking lights!  -- Unknown



---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] Documentation DTD

2002-08-15 Thread cbbrowne

 Rod Taylor writes:
 
  Anyone mind if we bump the DTD version to Docbook 4.2?
 
 Not sure if we should do this now.  We're approaching the time where
 people should be writing documentation, not having to refiddle their
 carefully crafted DocBook installations.  We're not going to realize any
 immediate benefits anyway.

Indeed.

  What it buys is a number of useful tags, SVGs and probably more
  importantly for the future, xsl and fop support which will probably be
  important in the future.  OpenJade hasn't had a new release in quite a
  long time -- not to say work isn't needed.
 
 The last release was in January.
 
  Yes, after updating docs to the newer DTD I intend to make them XML
  compliant to ensure they work with v5 of docbook in the future.
 
 Ah, an XML vs. SGML debate.  I look forward to it.

Please no!

If and when it becomes forcibly preferable to use XML, there's a
tool called sgml2xml that is part of the sp package (which includes nsgmls 
and sgmlnorm) that does a Perfectly Good Job of this.  Totally automated.

Possible exception: sgml2xml capitalizes all the tags, and it looks like the 
XML DTD wants MixedCaseTagging, which is a rather irritating thing about XML; 
in any case, that's something that should be fixed up in one fell swoop in a 
normalize it all and make it into XML process LATER.

It would make sense to fix use of any deprecated elements, but fixing any 
XML aspects of it now is pretty much a senseless exercise.
--
(reverse (concatenate 'string moc.enworbbc enworbbc))
http://www.ntlug.org/~cbbrowne/emacs.html
Computers in the future may weigh no more than 1.5 tons.  -- POPULAR
MECHANICS magazine forecasting the relentless march of science 1955



---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



[HACKERS] How To Make Things Appear More Dramatic

2002-08-26 Thread cbbrowne

 An alarmist style when posting a serious error is a good idea.  Hey
 guys, I found a possible problem...  Does not seem to generate the
 needed level of excitement.  DOS attacks means that business stops.  I
 think that should generate a furrowed brow, to say the least.

Obviously people have forgotten past history.  The Symbolics guys had
_great_ techniques for this that were well documented:

It is considered artful to append many messages on a subject, leaving
only the most inflammatory lines from each, and reply to all in one
swift blow.  The choice of lines to support your argument can make or
break your case.
-- from the Symbolics Guidelines for Sending Mail
%
State opinions in the syntax of fact: ...as well as the bug in LMFS
where you have to expunge directories to get rid of files.
-- from the Symbolics Guidelines for Sending Mail
%
People can be set wondering by loading obscure personal patchable
systems, and sending bug reports.  Who would not stop and wonder upon
seeing Experimental TD80-TAPE 1.17, MegaDeath 2.5...?  The same for
provocatively-named functions and variables in stack traces.
-- from the Symbolics Guidelines for Sending Mail
%
Know the list of large, chronic problems.  If there is any problem
with the window system, blame it on the activity system.  Any lack of
user functionality should be attributed to the lack of a command
processor.  A suprisingly large number of people will believe that you
have thought in depth about the issue to which you are alluding when you
do.
-- from the Symbolics Guidelines for Sending Mail
%
Know how to blow any problem up into insolubility.  Know how to use the
phrase The new ~A system to insult its argument, e.g., I guess this
destructuring LET thing is fixed in the new Lisp system, or better yet,
PROLOG.
-- from the Symbolics Guidelines for Sending Mail
%
Never hit someone head on, always sideswipe.  Never say, Foo's last
patch was brain-damaged, but rather, While fixing the miscellaneous
bugs in 243.xyz [foo's patch], I found
-- from the Symbolics Guidelines for Sending Mail
%
Idiosyncratic indentations, double-spacing, capitalization, etc., while
stamps of individuality, leave one an easy target for parody.
-- from the Symbolics Guidelines for Sending Mail
%
Strong language gets results.  The  reloader is completely broken  in
242 will open  a lot more eyes than  The reloader doesn't load files
with intermixed spaces, asterisks,  and 's in   their names that  are
bigger than 64K.  You can always say the latter in a later paragraph.
-- from the Symbolics Guidelines for Sending Mail
%
Including a destination in the CC list that will cause the recipients'
mailer to blow out is a good way to stifle dissent.
-- from the Symbolics Guidelines for Sending Mail
%
When  replying, it  is  often possible  to cleverly edit  the original
message in such a way  as to subtly alter  its meaning or tone to your
advantage while  appearing that you are  taking pains  to preserve the
author's intent.   As a   bonus,   it will   seem that your   superior
intellect is cutting through all the excess verbiage to the very heart
of the matter.  -- from the Symbolics Guidelines for Sending Mail
%
Referring to undocumented  private communications allows one to  claim
virtually anything: we discussed this idea in  our working group last
year, and concluded that it was totally brain-damaged.
-- from the Symbolics Guidelines for Sending Mail
%
Points  are awarded for   getting   the last   word in.   Drawing  the
conversation out so long  that the original  message disappears due to
being indented off the right hand edge of the screen is  one way to do
this.  Another is to imply that  anyone replying further is a hopeless
cretin and is wasting everyone's valuable time.
-- from the Symbolics Guidelines for Sending Mail
%
Keeping a secret Hall Of Flame file  of people's mail indiscretions,
or copying messages to  private mailing lists for subsequent derision,
is good  fun  and also  a worthwhile  investment  in case  you need to
blackmail  the senders later.   -- from  the Symbolics Guidelines  for
Sending Mail
%
Users should cultivate an ability to make the simplest molehill into a
mountain   by   finding   controversial interpretations   of innocuous
sounding statements that the sender never intended or imagined.
-- from the Symbolics Guidelines for Sending Mail
%
Obversely, a lot of  verbal mileage can  also be gotten by sending out
incomprehensible, cryptic,  confusing or unintelligible  messages, and
then iteratively  correcting  the mistaken  interpretations in the
replys.  -- from the Symbolics Guidelines for Sending Mail
%
Trivialize   a user's bug report  by  pointing out that   it was fixed
independently long ago in a system that hasn't been released yet.
-- from the Symbolics Guidelines for Sending Mail
%
Send  messages calling for fonts  not  available to the  recipient(s).
This can (in the case of Zmail) totally disable the user's machine and
mail system 

Re: [HACKERS] HISTORY updated, 7.3 branded

2002-09-04 Thread cbbrowne

 Shridhar Daithankar dijo: 
 
  On 4 Sep 2002 at 3:24, Bruce Momjian wrote:
  
   OK, the HISTORY file is updated, and 7.3 is branded and ready for beta1.
  
  Some minor stuff,
 
 In the schema changes description:
 
 Schemas allow users to create objects in their own namespace
 so two people can have the same table with the same name.

 Shouldn't it read so two people can have tables with the same name
 ?  My point is that the tables are not the same, they just have the
 same name.

How about this for a wording:

 Schemas allow users or applications to have their own namespaces in
 which to create objects.  

 A typical application of this is to allow creation of tables that
 _appear_ to have the same name.  For instance, if some GNOME
 applications were using PostgreSQL to store their configuration, a
 GNUMERIC namespace might have a table PREFERENCES to store
 preferences for that application, while a POWERSHELL namespace
 would allow _that_ application to store configuration in a
 PREFERENCES table that is quite distinct from the GNUMERIC one.

 The true table names may be GNUMERIC.PREFERENCES and
 POWERSHELL.PREFERENCES, but by using Schemas, applications do not
 need to be speckled with gratuitious added prefixes of GNUMERIC or
 POWERSHELL.

Note that I'm pointing at applications as the primary purpose for
this, as opposed to users.

In the long run, are not applications more likely to be the driving
force encouraging the use of schemas?
--
(reverse (concatenate 'string gro.gultn@ enworbbc))
http://www3.sympatico.ca/cbbrowne/unix.html
The   most  precisely-explained   and   voluminously-documented  user
interface rule can and will  be shot to pieces with the introduction
of a single new priority consideration. -- Michael Peck





---(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] Inheritance

2002-09-06 Thread cbbrowne

 On Fri, 2002-09-06 at 07:37, Curt Sampson wrote:
  On 5 Sep 2002, Hannu Krosing wrote:
  
   Suppose you have a table CITIZEN with table-level constraint IS_GOOD
   which is defined as kills_not_others(CITIZEN). and there is table
   CIVIL_SERVANT (..) UNDER CITIZEN. Now you have just one table MILITARY
   (...) UNDER CIVIL_SERVANT, where you have other criteria for IS_GOOD
  
  This I very much disagree with.
  
  In most object-oriented languages (Eiffel being a notable exception, IIRC),
  you can't specify constraints on objects. But in a relational database,
  you can specify constraints on tables, and it should *never* *ever* be
  possible to violate those constraints, or the constraints are pointless.
 
 That's not how real world (which data is supposed to model) operates ;)
 
 As Greg already pointed out, there are two kinds of constraints -
 database integrity constraints (foreign key, unique, not null, check),
 which should never be overridden and business-rule constraints which
 should be overridable in child tables.
 
 one can argue that the latter are not constraints at all, but they sure
 look like constraints to me ;)
 
 To elaborate on Gregs example if you have table GOODS and under it a
 table CAMPAIGN_GOODS then you may place a general overridable constraint
 valid_prices on GOODS which checks that you dont sell cheaper than you
 bought, but you still want sell CAMPAIGN_GOODS under aquiring price, so
 you override the constraint for CAMPAIGN_GOODS.

What that tells me is that the constraint, valid_prices, shouldn't have been 
on GOODS in the first place.  If it is not a legitimate constraint for the 
children, then it is not a legitimate constraint for the parent.

In human inheritance, if you marry someone with funny coloured skin, you 
don't get to choose that your children won't have funny coloured skin.  
That's a pretty forcible constraint.  :-).

For the GOODS situation, the constraint ought not to be on GOODS in the first 
place.  There ought to be a table ORDINARY_GOODS, or some such thing, to which 
the constraint applies, and from which CAMPAIGN_GOODS will _not_ be inheriting.

  So if I have a constraint that says, no rows appearing in this
  table will ever violate constraint X, and then you go and create
  a way of inserting rows into that table that violate that constraint,
  I think you've just made the database into a non-relational database.
 
 SQL standard constraints should be non-overridable. I still think that
 Constraint triggers should be overridable/dynamic. 
 
 Or maybe it is better to just make the check function should be
 dynamically dispatched, so the constraint will always hold, it just can
 mean different things for different types.

Or maybe if someone is doing an Object Oriented design, and making extensive 
use of inheritance, they'll need to apply constraints in a manner that allow 
them to be properly inherited.
--
(concatenate 'string aa454 @freenet.carleton.ca)
http://cbbrowne.com/info/
If a cow laughed, would milk come out its nose? 



---(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] Inheritance

2002-09-06 Thread cbbrowne

Oops! [EMAIL PROTECTED] (Greg Copeland) was seen spray-painting on a wall:
 --=-eu74lKXry3SVx8eZ/qBD
 Content-Type: text/plain
 Content-Transfer-Encoding: quoted-printable
 On Fri, 2002-09-06 at 08:57, [EMAIL PROTECTED] wrote:
  On Fri, 2002-09-06 at 07:37, Curt Sampson wrote:
   On 5 Sep 2002, Hannu Krosing wrote:
  To elaborate on Gregs example if you have table GOODS and under it a
  table CAMPAIGN_GOODS then you may place a general overridable constraint
  valid_prices on GOODS which checks that you dont sell cheaper than you
  bought, but you still want sell CAMPAIGN_GOODS under aquiring price, so
  you override the constraint for CAMPAIGN_GOODS.

 What that tells me is that the constraint, valid_prices, shouldn't
 have been on GOODS in the first place.  If it is not a legitimate
 constraint for the children, then it is not a legitimate constraint
 for the parent.

 I don't agree with you on that point.  This concept is common to
 many OO-implementations.  Unless you can come up with a powerful
 argument as to why our to-be picture should never do this, I'm
 less than convinced.

If the plan is for table CAMPAIGN_GOODS to virtually be a view on GOODS,
then I'd say it _is_ necessary.

 In human inheritance, if you marry someone with funny coloured skin, yo=
 u=20
 don't get to choose that your children won't have funny coloured skin.=
 =20=20
 That's a pretty forcible constraint.  :-).
=20

Is there something broken with your mailer?  It's reformatting quotes
rather horribly...

 Fine, but that only works for YOUR specific example.  In that
 example, the color constraint should be non-virtual, meaning, the
 child should not be able to change it.  On the other hand, if I
 replace human with metal product, hopefully I won't be stuck
 with gun metal gray for every derived product.  Hopefully, somewhere
 along the lines, I'll be able to override the parent's color
 constraint.

That happens by _adding_ an additional characteristic, presumably that
of what kind of paint the metal is covered with.  That doesn't
override the fundamental constraint that if it's a metal product,
there _will_ be metallic properties.

If you decide to add in some non-metallic products, then it would be
_silly_ to have them inherit all their characteristics from
METAL_PRODUCTS; they should head back up the class hierarchy and
inherit their basic characteristics from the _appropriate_ parent.

Reality, with the GOODS/CAMPAIGN_GOODS example, is that GOODS isn't
the appropriate parent class for CAMPAIGN_GOODS.  Both should be
inheriting the common characteristics from some common ancestor.  If
that is done, then there's nothing to override.

  Or maybe it is better to just make the check function should be
  dynamically dispatched, so the constraint will always hold, it just can
  mean different things for different types.
=20
 Or maybe if someone is doing an Object Oriented design, and making extens=
 ive=20
 use of inheritance, they'll need to apply constraints in a manner that al=
 low=20
 them to be properly inherited.

 The problem with that assumption is that there is normally nothing
 wrong with having seemingly mutually exclusive sets of *business
 rules* for a parent and child.

If the rules are totally different, it begs the question of why they
_should_ be considered to be related in a parent/child relationship.

It may well be that they _aren't_ related as parent/child.  They may
merely be cousins, sharing some common ancestors.
-- 
(concatenate 'string chris @cbbrowne.com)
http://cbbrowne.com/info/spreadsheets.html
Note that if I can get you  to `su and say' something just by asking,
you have a very serious security problem on your system and you should
look into it.  -- Paul Vixie, vixie-cron 3.0.1 installation notes

---(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] PostgreSQL and SOAP, version 7.4/8.0

2003-03-28 Thread cbbrowne
Jason wrote:
 If you can support xmlrpc instead, you'll save yourself a lot of headaches.

XML-RPC has three merits over SOAP:

 1.  It's a simple specification, and thus readily implemented.

 2.  Microsoft and IBM aren't fighting over control over it, so it's
 not suffering from the we keep adding pseudo-standards to it
 problem.  (Which further complicates the specifications.)
 You can have a /complete/ implementation of XML-RPC, whereas,
 for SOAP, you can hold ghastly long arguments as to what SOAP
 means, anyways.

 3.  There's a (perhaps not standard, but definitely widely
 implemented) scheme for bundling multiple XML-RPC requests into
 one message, which improves latency a LOT for small messages.

Of course, CORBA has actually been quite formally standardized, suffers
from many fairly interoperable implementations, and is rather a lot less
bloated than any of the XML-based schemes.  It might be worth trying,
too...
--
If this was helpful, http://svcs.affero.net/rm.php?r=cbbrowne rate me
http://cbbrowne.com/info/soap.html
I just got skylights put in my place. The people who live above me are
furious.


---(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] Newbie: problem Connecting to Server

2003-03-30 Thread cbbrowne
Ferindo Middleton Jr [EMAIL PROTECTED] wrote:
 I'm running Redhat Linux 8. I have registration to the Redhat
 Network so I'm probably running the latest version of postgresql
 available. I also have Redhat Databse v2.1 installed, but whenever I
 try to start a session, I get the following error message:

 psql: could not connect to server: No such file or directory
 Is the server running locally and accepting
 connections on Unix domain socket /tmp/.s.PGSQL.5432?

 Please help me configure my system so that I can connect and begin to use
 postgresql.

Have you checked to see if it is actually running?  I rather expect
that it isn't.

I think RHAT distributes GUIfied tools to manage services started via
init.d, so that even if you are afraid of Unix, you should be able to
see what it's doing.

And it's quite unlikely that RHAT has packaged the very latest
version; the fact that they are numbering things independently is
quite irritating as it makes it more difficult to ascertain what
version it actually is.
-- 
output = (cbbrowne @acm.org)
http://www3.sympatico.ca/cbbrowne/rdbms.html
...while   I   know  many   people   who   emphatically  believe   in
reincarnation, I have  never met or read one  who could satisfactorily
explain population growth. -- Spider Robinson


---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster


Re: [HACKERS] PostgreSQL and SOAP, suggestions?

2003-04-02 Thread cbbrowne
mlw wrote:
 I think you are interpreting the spec a bit too restrictively. The 
 syntax is fairly rigid, but the spec has a great degree of flexibility. 
 I agree that, syntactically, it must work through a parser, but there is 
 lots of room to be flexible.

This is /exactly/ the standard problem with SOAP.

There is enough flexibility that there are differing approaches
associated, generally speaking, with IBM versus Microsoft whereby it's
easy to generate SOAP requests that work fine with one that break with
the other.

For a pretty simple example of a longstanding bug that has never been
fixed, see:
http://sourceforge.net/tracker/index.php?func=detailaid=559324group_id=26590atid=387667

The precis:

The SOAP implementation used by the XMethods folks to publish stock
prices is buggy, rejecting perfectly legitimate messages submitted using
ZSI (a Python SOAP implementation).

The bug isn't with ZSI; it is quite clearly with the server, apparently
implemented in Java using one of the EJB frameworks.  

In practice, what happens is that since that service is fairly popular,
particularly for sample applications, the implementors of SOAP libraries
wind up coding around the bugs.

The problem is that it gets difficult to tell the difference between
bugs and variations in interpretations of the standards.

If the specs were more strictly defined, it would be a lot easier to use
SOAP, because you wouldn't be left puzzling over whether the
interoperability problems you're having are:

 a) Problems with the client;
 b) Problems with the server;
 c) Problems with interpretation of specs;
 d) ...

The vast degree to which messages can get rewritten behind your back
adds to the fun.

Of course, it's only fun if you *enjoy* having interoperability
problems...
--
If this was helpful, http://svcs.affero.net/rm.php?r=cbbrowne rate me
http://www.ntlug.org/~cbbrowne/soap.html
He who laughs last thinks slowest. 


---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster


Re: [HACKERS] PostgreSQL and SOAP, suggestions?

2003-04-03 Thread cbbrowne
 [EMAIL PROTECTED] kirjutas N, 03.04.2003 kell 02:01:
  mlw wrote:
   I think you are interpreting the spec a bit too restrictively. The 
   syntax is fairly rigid, but the spec has a great degree of flexibility. 
   I agree that, syntactically, it must work through a parser, but there is 
   lots of room to be flexible.
  
  This is /exactly/ the standard problem with SOAP.
  
  There is enough flexibility that there are differing approaches
  associated, generally speaking, with IBM versus Microsoft whereby it's
  easy to generate SOAP requests that work fine with one that break with
  the other.
 
 Do you know of some:
 
 a) standard conformance tests
 
 b) recommended best practices for being compatible with all mainstream
 implementations (I'd guess a good approach would be to generate very
 strictly conformant code but accept all that you can, even if against
 pedantic reading of the spec)

The problem with a) is that SOAP, unlike CORBA, doesn't have the notion of 
standardized language bindings.  That makes it tough to be sure that your 
implementation is standard in any meaningful way in the first place.

The best practices have involved scripting up interoperability tests where 
they construct sets of functions with varying data types and verify that my 
client implementation can talk to your server implementation, and vice-versa.

And when you run into problems, you chip off bits of code until the block of 
stone starts looking like an elephant.

In order to have confidence of interoperability, you have to test your client 
library against all the servers you care about, or vice-versa.  That's 
definitely not the same thing as being a conformance test.

Trying to be really strict doesn't seem to be a viable strategy, as far as I 
can see...
--
(concatenate 'string cbbrowne @ntlug.org)
http://www3.sympatico.ca/cbbrowne/wp.html
The cost of living has just gone up another dollar a quart.  
-- W.C. Fields


---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]


Re: [HACKERS] PostgreSQL and SOAP, suggestions?

2003-04-03 Thread cbbrowne
 I have been planning to test the whole thing with a few .NET 
 applications. I am currently using expat to parse the output to ensure 
 that it all works correcty.

That, unfortunately, probably implies that your implementation is almost 
totally non-interoperable.

You should put out of your mind the notion of being correct.  Being 
correct is pretty irrelevant if 80% of the requests that come from a VB.NET 
client fail because Microsoft implemented part of their request differently 
than what you interpreted as correct.

The point is that correctness isn't the thing you need to aim for; what you 
should aim for is interoperability with the important client implementations.

SOAP::Lite, .NET, probably some Java ones, C++ ones, and such.

Nobody does correctness testing; they do interoperability tests where they 
try to submit requests to Apache AXIS, .NET, WebSphere, and the lot of other 
important implementations.  If you're testing a server (as is the case here), 
then the point is to run tests with a bunch of clients.

Head to the SOAP::Lite and Axis projects; you'll see matrices describing this 
sort of thing...
--
(reverse (concatenate 'string ac.notelrac.teneerf@ 454aa))
http://www.ntlug.org/~cbbrowne/advocacy.html
Fear leads to anger. Anger leads to hate. Hate leads to using Windows
NT for mission-critical applications.  --- What Yoda *meant* to say


---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send unregister YourEmailAddressHere to [EMAIL PROTECTED])