[HACKERS] `make world` exit code

2011-07-02 Thread David E. Wheeler
Hackers, I'm building a new server using 9.1beta2. My build script includes these two line: make world -j3 || exit $? make install-world || exit $? Much to my annoyance, `make world` seems to succeed, but the script exits with no error message. So the second line never executes. I

Re: [HACKERS] Range Types, constructors, and the type system

2011-06-30 Thread David E. Wheeler
On Jun 30, 2011, at 9:29 AM, Jeff Davis wrote: Right. In that respect, it's more like a record type: many possible record types exist, but you only define the ones you want. Well, okay. How is this same problem handled for RECORD types, then? By default, no range types would exists I

Re: [HACKERS] Range Types, constructors, and the type system

2011-06-30 Thread David E. Wheeler
On Jun 30, 2011, at 9:34 AM, Jeff Davis wrote: Then how do you get a text range that doesn't correspond to the LC_COLLATE setting? You cast it. Does that mean you couldn't dump/reload from a system with one collation and get the same values in a system with a different collation? That

Re: [HACKERS] [COMMITTERS] pgsql: Enable CHECK constraints to be declared NOT VALID

2011-06-30 Thread David E. Wheeler
On Jun 30, 2011, at 12:09 PM, Alvaro Herrera wrote: Robert Hass (whose name I misspelled in the commit message above) just mentioned to me (in an answer to my apologizing about it) that he didn't think that mentioning sponsors for patch development was a good idea. I don't think we have a

Re: [HACKERS] Range Types, constructors, and the type system

2011-06-29 Thread David E. Wheeler
On Jun 28, 2011, at 8:02 PM, Jeff Davis wrote: I think David Wheeler was trying to make a similar point, but I'm still not convinced. It's not a pair, because it can be made up of 0, 1, or 2 scalar values (unless you count infinity as one of those values, in which case 0 or 2). And without

Re: [HACKERS] Range Types, constructors, and the type system

2011-06-29 Thread David E. Wheeler
On Jun 29, 2011, at 8:41 AM, Jeff Davis wrote: We could make it a pseudo-type and make the IO functions generate exceptions. That should prevent most mistakes and effectively hide it from the user (sure, they could probably use it somewhere if they really want to, but I wouldn't be worried

Re: [HACKERS] Range Types, constructors, and the type system

2011-06-29 Thread David E. Wheeler
On Jun 29, 2011, at 10:13 AM, Florian Pflug wrote: Because there might be more than one range type for a base type. Say there are two range types over text, one with collation 'de_DE' and one with collation 'en_US'. What would the type of range('foo', 'f') be? The one that corresponds

Re: [HACKERS] Range Types, constructors, and the type system

2011-06-28 Thread David E. Wheeler
On Jun 27, 2011, at 8:42 PM, Jeff Davis wrote: Do we think that this is a good way forward? The only thing I can think of that's undesirable is that it's not normal to be required to cast the result of a function, and might be slightly difficult to explain in the documentation in a

[HACKERS] generate_series() Interpretation

2011-06-27 Thread David E. Wheeler
Hackers, I'm curious about behavior such as this: bric=# select generate_series('2011-05-31'::timestamp , '2012-04-01'::timestamp, '1 month'); generate_series - 2011-05-31 00:00:00 2011-06-30 00:00:00 2011-07-30 00:00:00 2011-08-30 00:00:00 2011-09-30 00:00:00

Re: [HACKERS] generate_series() Interpretation

2011-06-27 Thread David E. Wheeler
On Jun 27, 2011, at 10:54 AM, Steve Crawford wrote: That's just how intervals that represent varying periods of time work. You would need to write your own. But a series of end-of-month dates is pretty easy: select generate_series('2011-06-01'::timestamp , '2012-04-01'::timestamp, '1

Re: [HACKERS] generate_series() Interpretation

2011-06-27 Thread David E. Wheeler
On Jun 27, 2011, at 11:03 AM, Kevin Grittner wrote: It is precisely to support such fancy things that some products support a more abstract date type which allows 31 days in any month, and then normalizes to real dates as needed. The PostgreSQL developer community has generally not been

Re: [HACKERS] generate_series() Interpretation

2011-06-27 Thread David E. Wheeler
On Jun 27, 2011, at 11:36 AM, Steve Crawford wrote: The query is marginally trickier. But the better calendaring apps give a variety of options when selecting repeat: A user who selects June 30, 2011 and wants a monthly repeat might want: 30th of every month - skip months without a 30th

Re: [HACKERS] generate_series() Interpretation

2011-06-27 Thread David E. Wheeler
On Jun 27, 2011, at 12:36 PM, Christopher Browne wrote: I wrote something on this on pgsql-general about 5 years ago that still seems pretty relevant. http://archives.postgresql.org/pgsql-general/2006-02/msg00159.php iwantsandy.com (now defunct) originally had a solution like this. However

Re: [HACKERS] Adding a distinct pattern type to resolve the ~ commutator stalemate

2011-06-20 Thread David E. Wheeler
On Jun 19, 2011, at 4:56 PM, Florian Pflug wrote: Hm, it seems we either all have different idea about how such a pattern type would be be defined, or have grown so accustomed to pg's type system that we've forgotten how powerful it really is ;-) (For me, the latter is surely true...).

Re: [HACKERS] ITYM DROP TABLE

2011-06-14 Thread David E. Wheeler
On Jun 14, 2011, at 8:03 AM, Tom Lane wrote: - commandALTER TABLE/ is far faster than a bulk operation. + commandALTER TABLE/ (to split out a sub-table from the partitioned + table) and commandDROP TABLE/ (to remove a partition altogether) are + both far faster than a

[HACKERS] ITYM DROP TABLE

2011-06-13 Thread David E. Wheeler
I was reading the partitioning docs when I spotted this. I think it means to highlight the advantages of DROP TABLE over DELETE rather than ALTER TABLE. Best, David diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml index 4c9fc5d..0cdb800 100644 *** a/doc/src/sgml/ddl.sgml ---

Re: [HACKERS] contrib/citext versus collations

2011-06-07 Thread David E. Wheeler
On Jun 6, 2011, at 4:35 PM, Tom Lane wrote: That sounds like a good idea. BTW, it struck me shortly after sending this that we'd already discussed the idea of a flag in pg_proc showing whether a function pays attention to collation. We could of course use that for this purpose. Seems like

Re: [HACKERS] contrib/citext versus collations

2011-06-06 Thread David E. Wheeler
On Jun 6, 2011, at 1:14 PM, Tom Lane wrote: The most workable alternative that I can see is to lobotomize citext so that it always does lower-casing according to the database's default collation, which would allow us to pretend that its notion of equality is not collation-sensitive after all.

Re: [HACKERS] Domains versus polymorphic functions, redux

2011-06-03 Thread David E. Wheeler
On Jun 3, 2011, at 8:22 AM, Robert Haas wrote: Well, as Bill Clinton once said, it depends on what the meaning of the word 'is' is. I think of array types in PostgreSQL as meaning the types whose monikers end in a pair of square brackets. Man, range types are going to fuck with your brainz.

Re: [HACKERS] storing TZ along timestamps

2011-05-27 Thread David E. Wheeler
On May 27, 2011, at 1:43 PM, Alvaro Herrera wrote: Right now we rely on the tzdata files on disk for things like pg_timezone_names and other accesses of TZ data; so the files are the authoritative source of TZ info. So we need to ensure that whenever the files are updated, the catalogs are

Re: [HACKERS] storing TZ along timestamps

2011-05-27 Thread David E. Wheeler
On May 27, 2011, at 2:35 PM, Tom Lane wrote: David E. Wheeler da...@kineticode.com writes: I like it, but what do you do when a TZ has been renamed or has ceased to exist. As far as that goes, I think nothing is a sufficient answer. There's no requirement that an OID in the mapping table

Re: [HACKERS] Domains versus polymorphic functions, redux

2011-05-24 Thread David E. Wheeler
On May 24, 2011, at 9:12 AM, Tom Lane wrote: An alternative rule we could use in place of #2 is just smash domains to base types always, when they're matched to ANYELEMENT. That would be simpler and more in keeping with #1, but it might change the behavior in cases where the historical

Re: [HACKERS] Domains versus polymorphic functions, redux

2011-05-24 Thread David E. Wheeler
On May 24, 2011, at 10:11 AM, Tom Lane wrote: regression=# select negate(42::pos); ERROR: return type mismatch in function declared to return pos DETAIL: Actual return type is integer. CONTEXT: SQL function negate during inlining If we smashed to base type then this issue would go away.

Re: [HACKERS] Domains versus polymorphic functions, redux

2011-05-24 Thread David E. Wheeler
On May 24, 2011, at 11:30 AM, Tom Lane wrote: Well, if they actually were first-class types, they probably wouldn't be born with an implicit cast to some other type to handle 99% of operations on them ;-). I think the hard part here is having that cake and eating it too, ie, supporting

Re: [HACKERS] deprecating contrib for PGXN

2011-05-18 Thread David E. Wheeler
On May 18, 2011, at 10:30 AM, Dimitri Fontaine wrote: The other problem is that the facility we need to provide the most is binary distributions (think apt-get). Lots of site won't ever compile stuff on their production servers. So while PGXN is a good tool, it's not a universal answer.

Re: [HACKERS] deprecating contrib for PGXN

2011-05-18 Thread David E. Wheeler
On May 18, 2011, at 12:24 PM, Christopher Browne wrote: It'll be time to drop the contrib material from the core when that shift leads to a 1 line configuration change somewhere that leads to packages for Debian/Fedora/Ports drawing their code from the new spot. I'd fully expect that to

Re: [HACKERS] deprecating contrib for PGXN

2011-05-18 Thread David E. Wheeler
On May 18, 2011, at 1:23 PM, Tom Lane wrote: I think building tools so that PGXN distributions are automatically harvested and turned into StackBuilder/RPM/.deb binaries would be the place to start on that. Hmmm ... I think the real point of those policies about no source builds is to

Re: [HACKERS] deprecating contrib for PGXN

2011-05-18 Thread David E. Wheeler
On May 18, 2011, at 1:47 PM, Dimitri Fontaine wrote: Well, I'm not sure I buy into that idea, I need to think about it some more. The thing with debian for example is that the package building needs to be all automatic, and determistic — you're not granted to have the next version build a

Re: [HACKERS] deprecating contrib for PGXN

2011-05-18 Thread David E. Wheeler
On May 18, 2011, at 2:47 PM, Magnus Hagander wrote: I don't see why it couldn't, at least for a fair number of extensions.. It does require the ability to differentiate between patch releases and feature releases, though, which I believe is currently missing in pgxn (correct me if i'm wrong),

Re: [HACKERS] deprecating contrib for PGXN

2011-05-18 Thread David E. Wheeler
On May 18, 2011, at 2:58 PM, Magnus Hagander wrote: Does it support having both v 1.3.1 and v1.4.0 and v2.0.2 at the same time? I somehow got the idea that old versions were removed when I uploaded a new one, but I happy to be wrong :-) The distribution has only one version, of course, but

Re: [HACKERS] deprecating contrib for PGXN

2011-05-18 Thread David E. Wheeler
On May 18, 2011, at 3:08 PM, Magnus Hagander wrote: The distribution has only one version, of course, but perl extensions in 9.1, you can include multiple versions of an extension in one distribution. Won't that break if different (major) versions have different dependencies? I don't

Re: [HACKERS] deprecating contrib for PGXN

2011-05-18 Thread David E. Wheeler
On May 18, 2011, at 3:22 PM, Magnus Hagander wrote: If I include both version 1 and version 2 of an extension in one. And version 2 has more dependencies than version 1 (or the other way around). Then those dependencies will be required for version 1 as well... Yes. But if they're that

Re: [HACKERS] deprecating contrib for PGXN

2011-05-18 Thread David E. Wheeler
On May 18, 2011, at 3:27 PM, Dimitri Fontaine wrote: David E. Wheeler da...@kineticode.com writes: Yes. But if they're that decoupled, then they ought to be in separate distributions. I somehow fail to picture how you map distributions with debian packages. The simple way is to have

Re: [HACKERS] Extension Packaging

2011-05-17 Thread David E. Wheeler
On May 17, 2011, at 9:44 AM, Peter van Hardenberg wrote: My apologies for wading in out of the blue here as a first time poster with big demands, but allow me to briefly state my hopes without trying to be too proscriptive about particular mechanisms. You are not alone, I assure you. :-)

[HACKERS] Contrib Versions

2011-05-12 Thread David E. Wheeler
Hackers, I don't suppose I could convince you to use dotted-decimal version numbers for the contrib extension versions, rather than numerics, could I? At this point, I think that would just mean changing them from 1.0 to 1.0.0. Why? Well, PGXN uses semantic versions, which have this format, so

Re: [HACKERS] Contrib Versions

2011-05-12 Thread David E. Wheeler
On May 12, 2011, at 3:09 PM, Tom Lane wrote: I had somewhat intentionally not numbered them in the same format as the main release numbers, because if we did that, people would expect them to match the main release numbers. Well, I think the fact that they're all 1.x managed to do that well

Re: [HACKERS] Contrib Versions

2011-05-12 Thread David E. Wheeler
On May 12, 2011, at 3:50 PM, Tom Lane wrote: Would changing the versions from 1.0 to 1.0.0 really break anything for those folks? It would as soon as they needed to do an ALTER EXTENSION UPDATE .. Ah-ite, screw it then. Best, David -- Sent via pgsql-hackers mailing list

Re: [HACKERS] Extension Packaging

2011-05-11 Thread David E. Wheeler
On Apr 28, 2011, at 2:16 PM, David E. Wheeler wrote: So maybe it's half-assed. Maybe the version can be anything but the revision must be an integer. Maybe there's a `pg_extension_version($extension_name)` function that returns ARRAY[$version, $revision], and the revision is set

Re: [HACKERS] Extension Packaging

2011-05-11 Thread David E. Wheeler
On May 11, 2011, at 2:47 PM, Robert Haas wrote: Okay, how we add a revision key to the control file and extrevision to the pg_extension catalog. Its type can be TEXT and is optional for use by extensions. This would allow extension authors to identify the base version of an extension

Re: [HACKERS] Extension Packaging

2011-05-04 Thread David E. Wheeler
Hey folks, I'd kind of like to get this issue nailed down soon so I can update the PGXN HOWTO and illustrate a generally agreed-upon best practice for extension developers. How *do* we want people to use versions in their extension? Thanks, David On Apr 28, 2011, at 2:16 PM, David E. Wheeler

Re: [HACKERS] VARIANT / ANYTYPE datatype

2011-05-04 Thread David E. Wheeler
On May 4, 2011, at 3:04 PM, Alvaro Herrera wrote: As someone commented downthread, they also want to have things such as a typeof operator. It could be used in (say) a plpgsql function to choose different branches of code. FWIW, pg_typeof(any) has been in core since 9.0. Best, David --

Re: [HACKERS] Changing the continuation-line prompt in psql?

2011-04-29 Thread David E. Wheeler
On Apr 29, 2011, at 8:22 AM, Tom Lane wrote: AFAICT the initial prompt is always mysql , so they don't have to think hard about how many spaces to insert to make it line up. But we could certainly invent a prompt escape that means as many spaces as there are characters in the current DB

[HACKERS] EXPLAIN Node Docs?

2011-04-29 Thread David E. Wheeler
Hackers, Is there any place where the contents of EXPLAIN nodes are documented? I'm making a lot of use of the XML format right now to figure out what queries sort on what tables and with what columns, but I've had to do a lot of experimentation to figure out what each type of node contains.

Re: [HACKERS] EXPLAIN Node Docs?

2011-04-29 Thread David E. Wheeler
On Apr 29, 2011, at 2:07 PM, Tom Lane wrote: In particular, src/include/nodes/plannodes.h is pretty well commented. Ah, that's a useful file to scan, thanks. If it's not immediately obvious how that maps to what's shown by EXPLAIN, look into commands/explain.c. Yeah, that's the file I have

Re: [HACKERS] Extension Packaging

2011-04-28 Thread David E. Wheeler
On Apr 28, 2011, at 7:04 AM, Tom Lane wrote: I think what we're discussing here is bug-fix revisions that don't affect the SQL declarations for the extension. Presumably, that means a change in the C code, so the shared library is the right place to keep the revision number. A version

[HACKERS] Explain Nodes

2011-04-28 Thread David E. Wheeler
Hackers, For my [explanation extension](http://pgxn.org/extension/explanation) I wanted to put together a list of node types, since I'm always having to figure them out to decide which nodes I'm interested in. Reading src/backend/commands/explain.c I assembled this list: + Aggregate +

Re: [HACKERS] Explain Nodes

2011-04-28 Thread David E. Wheeler
On Apr 28, 2011, at 3:02 PM, Peter Geoghegan wrote: The code for all nodes is in src/backend/executor. I think that you will find it useful to look at the big switch statements in ExecInitNode() and friends in execProcnode.c . Yep, same as what I found in src/backend/commands/explain.c.

Re: [HACKERS] Explain Nodes

2011-04-28 Thread David E. Wheeler
On Apr 28, 2011, at 3:40 PM, Andrew Dunstan wrote: It's been pointed out before that plugins (like FDWs) can invent their own explain nodes, so we'll never have a canonical list of such nodes. Oh, interesting. Stil, a list of core nodes is a good 90% solution, IMHO. Best, David -- Sent

Re: [HACKERS] stored procedures - use cases?

2011-04-27 Thread David E. Wheeler
On Apr 27, 2011, at 3:28 PM, Josh Berkus wrote: Actually, you can already sort of do that using XSLT. So I don't necessary think that's a prohibitive idea, depending on implementation. After all, many of the new non-relational databases implement exactly this. The proposed JSON data type

Re: [HACKERS] Extension Packaging

2011-04-25 Thread David E. Wheeler
On Apr 25, 2011, at 5:49 AM, Robert Haas wrote: I think it's a bit awkward that we have to do it this way, though. The installed version of the extension at the SQL level won't match what the user thinks they've installed. Granted, it'll be in the ballpark (1.0 vs 1.0.3, for example) but

Re: [HACKERS] Extension Packaging

2011-04-25 Thread David E. Wheeler
On Apr 25, 2011, at 9:14 AM, Aidan Van Dyk wrote: Really, that means you just a sql function to your extension, somethign similary to uname -a, or rpm -qi, which includes something that is *forced* to change the postgresql catalog view of your extension every time you ship a new version

Re: [HACKERS] Extension Packaging

2011-04-24 Thread David E. Wheeler
On Apr 24, 2011, at 2:46 PM, Tom Lane wrote: IMO it'd be better if the bug fix level was tracked outside the database, for instance via an RPM package version/release number. I'm not sure whether PGXN has anything for that at the moment. Distributions may have their own versions independent

Re: [HACKERS] Extension Packaging

2011-04-24 Thread David E. Wheeler
On Apr 24, 2011, at 2:55 PM, Tom Lane wrote: Hmm ... it's sufficient, but I think people are going to be confused as to proper usage if you call two different things the version. In RPM terminology there's a clear difference between version and release; maybe some similar wording should be

Re: [HACKERS] Extension Packaging

2011-04-24 Thread David E. Wheeler
On Apr 24, 2011, at 3:03 PM, Tom Lane wrote: Yeah. It seems like a bad idea if the distribution name doesn't include sufficient information to tell which version it contains. I had in mind a convention like distribution version x.y.z always contains extension version x.y. Seems like minor

Re: [HACKERS] Extension Packaging

2011-04-23 Thread David E. Wheeler
On Apr 23, 2011, at 1:03 PM, Dimitri Fontaine wrote: Daniele Varrazzo daniele.varra...@gmail.com writes: For my extension I'm less concerned by having the install sql named in different ways or by the upgrade sql as all these files are generated by scripts. You may find useful this one You

Re: [HACKERS] my signature

2011-04-21 Thread David E. Wheeler
On Apr 21, 2011, at 10:06 AM, Robert Haas wrote: Heck, even the name PostgreSQL Experts, Inc. could be taken to imply that the rest of us are all chumps. Send me your résumé, we’ll talk. Best, David -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to

[HACKERS] Extension Packaging

2011-04-20 Thread David E. Wheeler
Hackers, I finally got round to updating a couple of my extensions to support 9.1 extensions. Unlike the contrib extensions, these needed to target older versions of PostgreSQL, as well. Case in point, the semver data type; you might find the Makefile of particular interest:

Re: [HACKERS] Extension Packaging

2011-04-20 Thread David E. Wheeler
On Apr 20, 2011, at 8:16 PM, Tom Lane wrote: I'm not interested in kluging things up after the fact to try to somehow reverse that mindset and make pre-extension-world and post-extension-world scripts compatible. That looks like long-term pain in return for very small short-term gain to me.

Re: [HACKERS] Extension Packaging

2011-04-20 Thread David E. Wheeler
On Apr 20, 2011, at 8:04 PM, Daniele Varrazzo wrote: Specifically, I parse the version from the control file using: PGMP_VERSION=$(shell grep default_version pgmp.control | sed -e s/default_version = '\(.*\)'/\1/) Oh, that's not bad. Thanks. so the Makefile doesn't have to be

Re: [HACKERS] Extension Packaging

2011-04-20 Thread David E . Wheeler
On Apr 20, 2011, at 8:25 PM, David E. Wheeler wrote: Okay. What about building something into PGXS that could handle these kinds of things? I just can't help but wonder if there isn't some better way to do the kinds of things that Daniele and I have resorted to to use a PostgreSQL version

Re: [HACKERS] Teaching regex operators about collations

2011-04-09 Thread David E. Wheeler
On Apr 9, 2011, at 2:40 PM, Tom Lane wrote: Since ILIKE now responds to collations, it would be nice if the case-insensitive regex operators did too. The hard part of that is getting the information from src/backend/utils/adt/regexp.c to src/backend/regex/regc_locale.c. In principle we

Re: [HACKERS] WIP: Allow SQL-language functions to reference parameters by parameter name

2011-04-08 Thread David E. Wheeler
On Apr 8, 2011, at 8:05 AM, Robert Haas wrote: same mechanism works well in plpgsql and nobody requested a some special shortcut. I did. That mechanism sucks. But I think we're committed to doing what the standard and/or Oracle do, so oh well. I think I've worked around that in PL/pgSQL

Re: [HACKERS] WIP: Allow SQL-language functions to reference parameters by parameter name

2011-04-07 Thread David E. Wheeler
On Apr 7, 2011, at 6:58 PM, Tom Lane wrote: Well, if we're going to consider 100% backwards compatibility a must, then we should just stick with what the submitted patch does, ie, unqualified names are matched first to query columns, and to parameters only if there's no column match. This is

Re: [HACKERS] Extensions Dependency Checking

2011-04-05 Thread David E. Wheeler
On Apr 4, 2011, at 3:57 PM, Tom Lane wrote: I think the general movement is toward *feature* dependancies. So for intstance, an extension can specify what *feature* it requires, and difference versions of an extension can provide different features. Right. Sounds like a book-keeping

Re: [HACKERS] Extensions Dependency Checking

2011-04-05 Thread David E. Wheeler
On Apr 5, 2011, at 1:42 PM, Aidan Van Dyk wrote: Sure, but if you want, the feature you can provide can be something like: pgtap-1.0 (or any of pgtap-0.2{0,1,2,3,4}). And if your package is backwards compatable, it could even provide: pgtap-0.25 pgtap-0.24 pgtap-0.23 I see, I get

Re: [HACKERS] .ini support for .pgpass

2011-04-05 Thread David E. Wheeler
On Apr 5, 2011, at 3:34 PM, Joshua D. Drake wrote: boom, I am in. Thoughts? boom, you have patch? David -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers

Re: [HACKERS] Extensions Dependency Checking

2011-04-04 Thread David E. Wheeler
On Apr 4, 2011, at 2:48 PM, Tom Lane wrote: Once 9.1 is out, it'll probably be too late to dictate any semantics for version numbers, because somebody will have done something incompatible with it before 9.2 is released. If we are going to try to insist on this, now is the time. Yes,

[HACKERS] Extensions Dependency Checking

2011-04-01 Thread David E . Wheeler
Hackers, I wanted to get a (ok, not so) quick note in about this before the beta dropped. I've been thinking about the requires parameter on extensions control files. Right now it just lists the names of extensions that are required for the extension to run: requires = 'foo, bar' But I'm

Re: [HACKERS] WIP: Allow SQL-language functions to reference parameters by parameter name

2011-03-26 Thread David E. Wheeler
On Mar 25, 2011, at 11:23 PM, Tom Lane wrote: If this were PL/perl, or PL/almost-anything-except-SQL, I could get behind such a proposal. But it's not, it's SQL; and SQL doesn't do things that way. SQL's idea of disambiguation is qualified names. And even more to the point: to the extent

Re: [HACKERS] WIP: Allow SQL-language functions to reference parameters by parameter name

2011-03-25 Thread David E. Wheeler
On Mar 25, 2011, at 9:12 PM, Robert Haas wrote: As I've said before, I believe that the root cause of this problem is that using the same syntax for variables and column names is a bad idea in the first place. If we used $foo or ?foo or ${foo} or $.foo or foo!!$#? to mean the parameter

[HACKERS] ModifyTable EXPLAIN Node

2011-03-07 Thread David E . Wheeler
Howdy, I saw that Tom added the ModifyTable node to EXPLAIN output last week. I'd like to update my explanation extension to use it, but I've no idea what it would look like. Could someone send me an example in the XML format? Thanks! David -- Sent via pgsql-hackers mailing list

Re: [HACKERS] ModifyTable EXPLAIN Node

2011-03-07 Thread David E. Wheeler
On Mar 7, 2011, at 4:41 PM, Tom Lane wrote: David E. Wheeler da...@kineticode.com writes: I saw that Tom added the ModifyTable node to EXPLAIN output last week. I'd like to update my explanation extension to use it, but I've no idea what it would look like. Could someone send me an example

Re: [HACKERS] Quick Extensions Question

2011-03-05 Thread David E. Wheeler
On Mar 5, 2011, at 10:03 AM, Tom Lane wrote: On reflection I think it makes no sense at all to leave those tools issuing CREATE/DROP LANGUAGE. We want to move people over to managing languages via extensions, and leaving those tools unchanged will not serve that goal. However, I don't mind

Re: [HACKERS] Alpha4 release blockers (was Re: wrapping up this CommitFest)

2011-03-05 Thread David E. Wheeler
On Mar 4, 2011, at 7:44 PM, Robert Haas wrote: So it seems like the only thing that is an absolute must-do is write some release notes. What about this? Yeah, the real problem in my mind is not so much citext as whether the current representation of a type's collation property is sane in

Re: [HACKERS] Quick Extensions Question

2011-03-04 Thread David E. Wheeler
On Mar 4, 2011, at 7:43 AM, Tom Lane wrote: Well it's easy to read that the other way round. Is superuser = true means that I need to be a superuser or does it mean that the script will get run as superuser no matter what? Not a huge problem, but still. What about using the PL terminology

Re: [HACKERS] Quick Extensions Question

2011-03-04 Thread David E. Wheeler
On Mar 4, 2011, at 8:19 AM, Tom Lane wrote: Hmm. Personally I do use createdb/dropdb but never createlang/droplang; but I'm well aware that my usage may not be typical. I'm a bit hesitant to just go and drop these without any warning. I could see deprecating them for a release or two and

Re: [HACKERS] Quick Extensions Question

2011-03-03 Thread David E. Wheeler
On Mar 3, 2011, at 9:47 AM, Dimitri Fontaine wrote: Then, what about a control file property to cover that? pl_language = plpgsql Then when running the script any object attached to the extension that is not a 'pg_catalog.pg_language'::regclass is an ERROR. And only when the

Re: [HACKERS] Quick Extensions Question

2011-03-03 Thread David E. Wheeler
On Mar 3, 2011, at 9:55 AM, Dimitri Fontaine wrote: Then those should be marked System and only get displayed with \dxS, or this will completely bloat the extension listings. Also if we get there, what about listing all the SQL Standard Features (optional only maybe) that are provided by the

Re: [HACKERS] Quick Extensions Question

2011-03-03 Thread David E. Wheeler
On Mar 3, 2011, at 10:12 AM, Dimitri Fontaine wrote: David E. Wheeler da...@kineticode.com writes: core_requires = 9.0, plpgsql, libxml As soon as you get there you need an or operator to be able to say 9.0 | 9.1, or maybe some comparison operators to say = 9.0. Remember that about all

Re: [HACKERS] Quick Extensions Question

2011-03-03 Thread David E. Wheeler
On Mar 3, 2011, at 10:22 AM, Robert Haas wrote: Requires: package Requires: package = minversion Requires: package = maxversion Requires: package = exactversion The usefulness of the first two should be obvious, but the third and fourth are needed as well. In the long term, perhaps. But

Re: [HACKERS] Quick Extensions Question

2011-03-03 Thread David E. Wheeler
On Mar 3, 2011, at 10:32 AM, Robert Haas wrote: Who said anything about full generality? I'm interested in a 90% (or even 99%) solution. It's pretty important that we don't design ourselves into a corner her Which is why my suggestion is pretty much free from any design. Just a list of

Re: [HACKERS] Quick Extensions Question

2011-03-03 Thread David E. Wheeler
On Mar 3, 2011, at 10:49 AM, Kevin Grittner wrote: Which is why my suggestion is pretty much free from any design Now you're scaring me. I read that as the proposed design is free from the influence of any design effort. No. Just as simple as possible. That's precisely how you can find

Re: [HACKERS] Quick Extensions Question

2011-03-03 Thread David E. Wheeler
On Mar 3, 2011, at 10:54 AM, Tom Lane wrote: Which is why my suggestion is pretty much free from any design. Just a list of dependencies, with only a server version number. No other syntax at all. It can be added later. I basically agree with Robert that requires = 9.1 is entirely

Re: [HACKERS] Quick Extensions Question

2011-03-03 Thread David E. Wheeler
On Mar 3, 2011, at 11:09 AM, Tom Lane wrote: That's not a design, that's just a very arbitrary kluge. And it doesn't solve anything at all that we need to solve today, because you can already assume that you're running on = 9.1 just by the fact that you're writing an extension. Having a

Re: [HACKERS] Quick Extensions Question

2011-03-03 Thread David E. Wheeler
On Mar 3, 2011, at 1:31 PM, Tom Lane wrote: However, it does strike me that there is one simple case we could support without a great deal of sweat. Namely, what if we allow non-superusers to create an extension if all the commands in the script are ones they could execute anyway? In

Re: [HACKERS] Quick Extensions Question

2011-03-03 Thread David E. Wheeler
On Mar 3, 2011, at 2:16 PM, Tom Lane wrote: Extensions yes, but not managed with those commands. You'd have to switch over to saying CREATE/DROP EXTENSION plpgsql, etc. The LANGUAGE commands themselves would now only occur within those extension scripts. Ah, I see. So if someone installed

Re: [HACKERS] Alpha4 release blockers (was Re: wrapping up this CommitFest)

2011-03-02 Thread David E. Wheeler
On Mar 2, 2011, at 9:02 AM, Andrew Dunstan wrote: That's because David apparently hasn't run update_personality.pl, although he has in the past. Is this something we can run against crazier community members? Best, David -- Sent via pgsql-hackers mailing list

[HACKERS] Quick Extensions Question

2011-03-02 Thread David E. Wheeler
It's about dependences. If my extension requires a procedural language, will adding that language to the `requires` control key do what I think it should do? If not, how should one require a PL? Come to think of it, how might I require other features that might not be included in a particular

Re: [HACKERS] Testing extension upgrade scripts

2011-03-02 Thread David E. Wheeler
You should blog this. David On Mar 2, 2011, at 11:58 AM, Tom Lane wrote: It occurred to me that it might be a good idea to describe how I've been testing extension upgrade scripts. So: 1. Install the 9.0 version of the module in an empty 9.0 database. pg_dump this database. 2. Load

Re: [HACKERS] Quick Extensions Question

2011-03-02 Thread David E. Wheeler
On Mar 2, 2011, at 11:00 PM, Tom Lane wrote: David E. Wheeler da...@kineticode.com writes: If my extension requires a procedural language, will adding that language to the `requires` control key do what I think it should do? No. Probably in future the standard PLs will be packaged

Re: [HACKERS] Alpha4 release blockers (was Re: wrapping up this CommitFest)

2011-03-01 Thread David E. Wheeler
On Mar 1, 2011, at 12:35 PM, Tom Lane wrote: * Collation-related changes still needed in contrib/citext. If we don't have this done before alpha4, I'm afraid we'll have to generate a 1.1 update script to fix it for alpha4 users. I'd just as soon not deal with that overhead. What needs to

Re: [HACKERS] Alpha4 release blockers (was Re: wrapping up this CommitFest)

2011-03-01 Thread David E. Wheeler
On Mar 1, 2011, at 1:12 PM, Tom Lane wrote: Collation, not correlation. Yeah, I'm fat-fingered today. The question is what collation property the citext type needs to have, and how we get it to have that setting during an upgrade from 9.0. See

Re: [HACKERS] Native XML

2011-02-27 Thread David E. Wheeler
On Feb 27, 2011, at 11:23 AM, Tom Lane wrote: Well, that's why I asked --- if it's going to be a huge chunk of code, then I agree this is the wrong path to pursue. However, I do feel that libxml pretty well sucks, so if we could replace it with a relatively small amount of code, that might

Re: [HACKERS] Native XML

2011-02-27 Thread David E. Wheeler
On Feb 27, 2011, at 11:43 AM, Tom Lane wrote: XPath is broken? I use it heavily in the Perl module Test::XPath and now, in PostgreSQL, with my explanation extension. Well, if you're only using cases that work, you don't need to worry. Okay then. David -- Sent via pgsql-hackers mailing

Re: [HACKERS] wCTE: about the name of the feature

2011-02-24 Thread David E. Wheeler
On Feb 24, 2011, at 10:43 AM, Robert Haas wrote: The best idea I have at the moment is to spell out data modifying command (or statement) rather than relying on the acronym. In the code, we could change hasDmlWith to hasModifyingWith, for example. The error messages could read like

Re: [HACKERS] FDW API: don't like the EXPLAIN mechanism

2011-02-21 Thread David E. Wheeler
On Feb 21, 2011, at 9:12 AM, Andrew Dunstan wrote: my $parser= XML::DOM::Parser-new(); my $xp = $parser-parsefile($xmlfile); my ($provider) = $xp-findvalue(//SERVICE_PROVIDER_CODE); my ($invoice_num) = $xp-findvalue(//invoice_num); Not that hard, is it? No regex matching there. :-)

Re: [HACKERS] FDW API: don't like the EXPLAIN mechanism

2011-02-21 Thread David E . Wheeler
On Feb 21, 2011, at 10:07 AM, David E. Wheeler wrote: See also https://github.com/theory/explain-table Oops, sorry, make that https://github.com/pgexperts/explain-table Best, David -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your

Re: [HACKERS] FDW API: don't like the EXPLAIN mechanism

2011-02-21 Thread David E . Wheeler
On Feb 21, 2011, at 10:11 AM, David E. Wheeler wrote: Oops, sorry, make that https://github.com/pgexperts/explain-table And now I've renamed it (sorry) and released it on PGXN. New links: https://github.com/pgexperts/explanation http://master.pgxn.org/dist/explanation/ Best, David

Re: [HACKERS] Rewrite, normal execution vs. EXPLAIN ANALYZE

2011-02-17 Thread David E. Wheeler
On Feb 17, 2011, at 11:28 AM, Tom Lane wrote: The status of that patch is that Tom promised to look at it two months ago and hasn't. It would be nice if someone else could pick it up. I'm pedaling as fast as I can, honestly Tom leaves everything on the road.

Re: [HACKERS] ALTER TYPE COLLATABLE?

2011-02-17 Thread David E. Wheeler
On Feb 17, 2011, at 2:50 PM, Tom Lane wrote: I observe the following discrepancy between the 9.0 and 9.1 citext install scripts: *** *** 52,58 STORAGE= extended, -- make it a non-preferred member of string type category CATEGORY = 'S', !

<    1   2   3   4   5   6   7   8   9   10   >