Re: [HACKERS] Weird prepared stmt behavior

2004-05-05 Thread Oliver Jowett
(I'm not on -hackers, but saw this in the archives) Alvaro Herrera wrote: On Fri, Apr 30, 2004 at 09:44:52PM -0400, Tom Lane wrote: Alvaro Herrera alvherre ( at ) dcc ( dot ) uchile ( dot ) cl writes: Is this expected? If so, why? I'd expect the prepared stmt to be deallocated. prepare.c

[HACKERS] Delaying the planning of unnamed statements until Bind

2004-05-19 Thread Oliver Jowett
Hello pgsql-hackers, Following a recent discussion on the JDBC list (http://archives.postgresql.org/pgsql-jdbc/2004-05/msg00100.php) I'm looking at modifying when unnamed statements received via a v3 protocol Parse message are planned. The idea is to delay planning until the Bind message

Re: [HACKERS] Delaying the planning of unnamed statements until Bind

2004-05-20 Thread Oliver Jowett
Tom Lane wrote: Oliver Jowett [EMAIL PROTECTED] writes: Following a recent discussion on the JDBC list (http://archives.postgresql.org/pgsql-jdbc/2004-05/msg00100.php) I'm looking at modifying when unnamed statements received via a v3 protocol Parse message are planned. The idea is to delay

Re: [HACKERS] Delaying the planning of unnamed statements until Bind

2004-05-21 Thread Oliver Jowett
Tom Lane wrote: Oliver Jowett [EMAIL PROTECTED] writes: Tom Lane wrote: I don't like that at all. Do the planning using the given parameters, but save the plan. Otherwise you have substantially pessimized the behavior for the case where an unnamed statement is reused. How often is the unnamed

Re: [HACKERS] Delaying the planning of unnamed statements until Bind

2004-05-21 Thread Oliver Jowett
Tom Lane wrote: Oliver Jowett [EMAIL PROTECTED] writes: This leads to my next problem (which was one of the original reasons I went with node replacement): don't we get different performance between a parameterized query and an equivalent unparameterized query in cases such as this? : SELECT

Re: [HACKERS]

2004-05-24 Thread Oliver Jowett
Magnus Hagander wrote: FWIW, I think reporting a differnt version is just a *terrible* idea. Any client side program (say, pgadmin for example) that tries to determine what version backend it's connected to in order to know if a feature exists or not will be confused, in many cases to the point of

[HACKERS] log_statement and Parse/Bind

2004-05-24 Thread Oliver Jowett
I notice that when using the extended query protocol, statement logging appears to happen only when a Parse message is received. This is less than ideal: - statements can be logged that are not actually executed (i.e. a Parse/Bind with no corresponding Execute). - if statements are re-executed

Re: [HACKERS] log_statement and Parse/Bind

2004-05-24 Thread Oliver Jowett
Bruce Momjian wrote: Well, at execute time, we don't have easy access to the original prepare statement, especially at that stage in the code. Do you see anyway to improve that? We have portal-sourceText which looks like it should contain the original query. (note that I'm talking about the V3

Re: [HACKERS] Timezone fun (bugs and a request)

2004-05-24 Thread Oliver Jowett
Tom Lane wrote: Alvaro Herrera [EMAIL PROTECTED] writes: First I initdb'd without TZ set. So every time I start the server I get LOG: could not recognize system timezone, defaulting to Etc/GMT-4 HINT: You can specify the correct timezone in postgresql.conf. I've fixed the minor issue here,

Re: [HACKERS] Timezone fun (bugs and a request)

2004-05-24 Thread Oliver Jowett
Tom Lane wrote: Oliver Jowett [EMAIL PROTECTED] writes: Also, unless I'm missing something, shouldn't Chile (Alvaro's timezone?) be behind GMT (GMT-something) not ahead of it (GMT+something)? Part of the confusion here is that the zone names in the zic database follow POSIX rules: plus is west

Re: [HACKERS] Timezone fun (bugs and a request)

2004-05-25 Thread Oliver Jowett
Zeugswetter Andreas SB SD wrote: LOG: database system was shut down at 2004-05-25 15:15:44 GMT-12 For comparison, 7.4.1 on the same system says: LOG: database system was shut down at 2004-05-25 16:03:43 NZST Can we keep the zic database convention unchanged but change the display format in

Re: [HACKERS] Timezone fun (bugs and a request)

2004-05-25 Thread Oliver Jowett
Tom Lane wrote: BTW, as of an hour or so ago, identify_system_timezone is a bit smarter than before. Please try it and see if it gets it right on your machine. Looks good: LOG: database system was shut down at 2004-05-26 12:43:55 NZST test=# select now(); now

Re: [HACKERS] log_statement and Parse/Bind

2004-05-25 Thread Oliver Jowett
Tom Lane wrote: Oliver Jowett [EMAIL PROTECTED] writes: I notice that when using the extended query protocol, statement logging appears to happen only when a Parse message is received. This is less than ideal: I agree, but I didn't have time at the end of the 7.4 development cycle to work out

[HACKERS] temp tables broken in CVS HEAD?

2004-05-28 Thread Oliver Jowett
Against current CVS HEAD: $ ./createuser test Shall the new user be allowed to create databases? (y/n) y Shall the new user be allowed to create more new users? (y/n) n CREATE USER $ ./createdb -O test test CREATE DATABASE $ ./psql -U test test Welcome to psql 7.5devel, the PostgreSQL interactive

[HACKERS] v3 protocol string encoding

2004-05-30 Thread Oliver Jowett
Couple of quick protocol questions: 1) What encoding is used for strings sent and received during the startup phase? I can set client_encoding to a known value as a parameter in the startup packet, but the protocol spec doesn't appear to say how the startup packet itself and the various strings

Re: [HACKERS] v3 protocol string encoding

2004-05-30 Thread Oliver Jowett
Tom Lane wrote: Oliver Jowett [EMAIL PROTECTED] writes: 1) What encoding is used for strings sent and received during the startup phase? The startup packet itself will not get any encoding conversion AFAIR, so one way to look at it is that the data therein must be in server encoding

Re: [HACKERS] Delaying the planning of unnamed statements until Bind

2004-05-30 Thread Oliver Jowett
Heikki Linnakangas wrote: I'm worried about plan stability if we enable it by default. It could lead to nasty, hard to reproduce performance problems. Think about this scenario: This is my main concern with the approach Tom suggested. Also keep in mind that at least some application servers have a

Re: [HACKERS] v3 protocol string encoding

2004-05-30 Thread Oliver Jowett
Tom Lane wrote: Oliver Jowett [EMAIL PROTECTED] writes: 2) At what point in the stream does a client_encoding change take effect -- immediately after the corresponding ParameterStatus message, or at some other point? ParameterStatus is sent when the change is made. Are the strings

Re: [HACKERS] Official Freeze Date for 7.5: July 1st, 2004

2004-05-31 Thread Oliver Jowett
Marc G. Fournier wrote: If anyone is working on other features that they feel can be polished off before the July 1st deadline, we would be most happy to incorporate those as well, but do recommend submitting patches for review *sooner*, rather then later, so that any recommended corrections

Re: [HACKERS] Nesting level in protocol?

2004-05-31 Thread Oliver Jowett
Alvaro Herrera wrote: Hackers, Is there a way to add the current transaction nesting level in the be/fe protocol without breaking compatibility? AFAICS the ReadyForQuery message is not expansible (sp?) :-( Perhaps you could treat the nesting level as a runtime parameter and generate a

Re: [HACKERS] Delaying the planning of unnamed statements until Bind

2004-06-13 Thread Oliver Jowett
Tom Lane wrote: I've applied the patch you sent in for this, with some editorializations --- you were being too aggressive about substituting constants, with the net effect that the plan was not still parameterized as it was supposed to be. Thanks. This should make my JDBC driver changes easier to

Re: [HACKERS] Delaying the planning of unnamed statements until Bind

2004-06-13 Thread Oliver Jowett
Tom Lane wrote: Oliver Jowett [EMAIL PROTECTED] writes: At execution time the executor can cache the results of expressions flagged as constant at execution, assuming there's somewhere safe to cache the result for just that execution (ExprState?). That would be the problem; there isn't anyplace

Re: [HACKERS] Delaying the planning of unnamed statements until Bind

2004-06-14 Thread Oliver Jowett
Tom Lane wrote: Oliver Jowett [EMAIL PROTECTED] writes: I guess that ExprState does not live long enough to be useful. Actually the opposite: it lasts too long, namely the entire execution of a query. I don't think there's any convenient way to reset it on the timescale appropriate for STABLE

Re: [HACKERS] Delaying the planning of unnamed statements until Bind

2004-06-14 Thread Oliver Jowett
Tom Lane wrote: Oliver Jowett [EMAIL PROTECTED] writes: But there are still other expression trees that would benefit, e.g. those involving an IMMUTABLE function with parameterized arguments. Oh, you are thinking of some very-long-lived cache. This has been proposed and rejected before; it's

Re: [Re] Re: [HACKERS] PREPARE and transactions

2004-06-25 Thread Oliver Jowett
Jeroen T. Vermeulen wrote: There was also the middleware argument--some intermediate software layer may be in control of bracketing. But in such cases, can you even rely on two independent transactions executing in the same session? You'd need to assume that to make the current semantics work in

Re: [Re] Re: [HACKERS] PREPARE and transactions

2004-07-01 Thread Oliver Jowett
Jeroen T. Vermeulen wrote: If it's that important, come up with a generic session-not-transaction syntax to temporarily escape bracketing. Do you have a proposal for this? It seems to me that if your argument is that if you want the old behaviour, you could add this extension means that you need

Re: [Re] Re: [HACKERS] PREPARE and transactions

2004-07-02 Thread Oliver Jowett
Jeroen T. Vermeulen wrote: Just don't tell me that making PREPARE respect rollbacks would break compatibility Why not? It's true. So many things are true. But _not_ doing so also breaks compatibility, so like I said, there are counterexamples. This is nonsense. Not changing the current

Re: [Re] Re: [HACKERS] PREPARE and transactions

2004-07-02 Thread Oliver Jowett
Jeroen T. Vermeulen wrote: On Sat, Jul 03, 2004 at 11:17:18AM +1200, Oliver Jowett wrote: So many things are true. But _not_ doing so also breaks compatibility, so like I said, there are counterexamples. This is nonsense. Not changing the current behaviour cannot break compatibility, almost

Re: [Re] Re: [HACKERS] PREPARE and transactions

2004-07-02 Thread Oliver Jowett
Jeroen T. Vermeulen wrote: On Sat, Jul 03, 2004 at 12:16:50PM +1200, Oliver Jowett wrote: I stand by my original statement: making no change does not break compatibility. Please provide an example of PREPARE/EXECUTE use that works under 7.3/7.4 but does not work with current 7.5. Whether

Re: [HACKERS] Nested Transaction TODO list

2004-07-03 Thread Oliver Jowett
Tom Lane wrote: I don't like using ParameterStatus because it's not designed for dealing with values that may change many times in a single query. Also it sends strings, which this really isn't. What about including the new nesting level in the SUBBEGIN/SUBCOMMIT/SUBABORT CommandStatus string?

Re: [HACKERS] Nested Transaction TODO list

2004-07-03 Thread Oliver Jowett
Tom Lane wrote: Oliver Jowett [EMAIL PROTECTED] writes: Tom Lane wrote: I haven't looked at JDBC, but at least in the libpq code, what we could safely do is extend the existing no transaction/in transaction/in failed transaction field to provide a five-way distinction: those three cases plus

Re: [Re] Re: [HACKERS] PREPARE and transactions

2004-07-04 Thread Oliver Jowett
Jeroen T. Vermeulen wrote: On Sun, Jul 04, 2004 at 02:33:53PM +1200, Oliver Jowett wrote: Consider SET client_encoding then.. Does that really affect most middleware? In my situation for instance, what goes through the connection either way is just bytes to the middleware. Its interpretation

Re: [HACKERS] Nested Transactions, Abort All

2004-07-04 Thread Oliver Jowett
Greg Stark wrote: Alvaro Herrera [EMAIL PROTECTED] writes: If we change the syntax, say by using SUBCOMMIT/SUBABORT for subtransactions, then using a simple ABORT would abort the whole transaction tree. This seems like a non-starter to me. That would make it impossible to write SQL generic code

Re: [HACKERS] Nested Transaction TODO list

2004-07-04 Thread Oliver Jowett
Tom Lane wrote: Still need to agree about externally visible behavior (a different stmt than begin/commit for subxacts? What about savepoints?) Also, what about exposing this functionality in plpgsql? Seems like we need some kind of exception handling syntax to make this useful. What does

Re: [Re] Re: [HACKERS] PREPARE and transactions

2004-07-05 Thread Oliver Jowett
Jeroen T. Vermeulen wrote: So perhaps we should be distinguishing several layers in a session's state, along the lines of: SQL session - temp tables, session variables, database contents Interchange - encoding representation Protocol - COPY, bind/execute c.

Re: [Re] Re: [HACKERS] PREPARE and transactions

2004-07-05 Thread Oliver Jowett
Jeroen T. Vermeulen wrote: Well, I'd say DEALLOCATE is implicitly lumped in with PREPARE. But as for FETCH, are you referring to cursors that live outside transactions (but get manipulated inside transactions)? Are those implemented yet and if so, how does FETCH work there? I'm thinking WITH

subtransactions and FETCH behaviour (was Re: [HACKERS] PREPARE and transactions)

2004-07-05 Thread Oliver Jowett
Jeroen T. Vermeulen wrote: That makes me wonder why people want to maintain transactionality w.r.t. nested transactions but not with outer ones. Odd! Yep. But then the FETCH should still occur before the transaction as far as I'm concerned. You fetch a batch (if it fails, you terminate) and

Re: subtransactions and FETCH behaviour (was Re: [HACKERS] PREPARE

2004-07-05 Thread Oliver Jowett
Alvaro Herrera wrote: Well, the proposal of implementing it like holdable cursors means using a Materialize node which, if I understand correctly, means taking the whole result set and storing it on memory (or disk). So the same question arises: why bother implementing that at all? Of course the

Re: [HACKERS] Nested Transactions, Abort All

2004-07-07 Thread Oliver Jowett
Dennis Bjorklund wrote: On Tue, 6 Jul 2004, Alvaro Herrera wrote: We can later implement savepoints, which will have SAVEPOINT foo and ROLLBACK TO foo as interface. (Note that a subtransaction is slightly different from a savepoint, so we can't use ROLLBACK TO foo in subtransactions because that

Re: [HACKERS] nested-xacts cursors (was Re: Performance with new

2004-07-07 Thread Oliver Jowett
Tom Lane wrote: Alvaro Herrera [EMAIL PROTECTED] writes: Well, my opinion is that cursors and other resources should at least be usable from a inner subtransaction in its parent -- because if that can't be done we are wasting some of the benefits, because we can't just stick everything in a

Re: [HACKERS] Nested Transactions, Abort All

2004-07-07 Thread Oliver Jowett
Dennis Bjorklund wrote: On Wed, 7 Jul 2004, Oliver Jowett wrote: So how do you propose supporting simple rollback of a subtransaction? It seems like an extension regardless of how it's done. If I understand you correctly what you want is a ROLLBACK TO SAVEPOINT foo; followed by a RELEASE

Re: [HACKERS] Nested Transactions, Abort All

2004-07-09 Thread Oliver Jowett
Alvaro Herrera wrote: We can't actually release anything (commit the subtransactions), because they may be savepoints established after that point, and they are logically inside the previously established ones. At RELEASE we can't really release -- we just lose the name and thus the opportunity

Re: [HACKERS] Nested Transactions, Abort All

2004-07-09 Thread Oliver Jowett
Oliver Jowett wrote: The 2003 draft claims that RELEASE SAVEPOINT invalidates savepoints subsequent to the RELEASE: subsequent to the released savepoint rather. -O ---(end of broadcast)--- TIP 6: Have you searched our list archives

Re: [HACKERS] Nested Transactions, Abort All

2004-07-10 Thread Oliver Jowett
Alvaro Herrera wrote: On Sat, Jul 10, 2004 at 09:46:56AM +1200, Oliver Jowett wrote: Alvaro Herrera wrote: We can't actually release anything (commit the subtransactions), because they may be savepoints established after that point, and they are logically inside the previously established ones

Re: [HACKERS] Nested Transactions, Abort All

2004-07-10 Thread Oliver Jowett
Josh Berkus wrote: 3) We adopt a slightly mutated form of the SQL3 SAVEPOINT syntax. This would have the twin benefit of both allowing us to improve our standards compliance and make savepoints completely compliant in the next version, as well as helping those wishing to migrate from Oracle

Re: [HACKERS] [BUGS] BUG #1118: Misleading Commit message

2004-07-10 Thread Oliver Jowett
Bruce Momjian wrote: elein wrote: FYI: I'm agreeing w/Tom who is agreeing with me. The tag change should be good. I do hope people are not relying on seeing COMMIT when the transaction rolled back. It does not seem that in this case they would. If it is a problem, hopefully we will hear about

Re: [HACKERS] Portals and nested transactions

2004-07-14 Thread Oliver Jowett
Josh Berkus wrote: Tom, As much as I can understand the arguments -- many of them performance-oriented -- for handling Portals non-transactionally, I simply don't see how we can do it and not create huge problems for anyone who uses both cursors and NTs together ... as those who use either are

Re: [HACKERS] Portals and nested transactions

2004-07-14 Thread Oliver Jowett
Alvaro Herrera wrote: On the other hand, some people supported the idea that v3 Bind portals should behave nontransactionally, while DECLARE portals should behave transactionally. Maybe we could make that a property of the portal, or even a user-selectable property (where we would define a

Re: [pgsql-hackers-win32] [HACKERS] Weird new time zone

2004-07-15 Thread Oliver Jowett
Tom Lane wrote: I thought about restricting the scope of the TZ testing to start in 1990 or so to avoid this, but that seems certain to fall foul of the other problem, which is distinguishing closely-related timezones (cf Chris K-L discovering that he lives in Antarctica, a few days back...) How

[HACKERS] V3 protocol + DECLARE problems

2004-07-20 Thread Oliver Jowett
(cc: -hackers as I think this has been raised there before) It's going to be fun using anything more than very basic cursors via the V3 protocol in the JDBC driver. DECLARE does not work with parameters passed via a Parse/Bind combination -- which is how we currently always pass parameters when

Re: [HACKERS] [JDBC] V3 protocol + DECLARE problems

2004-07-21 Thread Oliver Jowett
Tom Lane wrote: Any chance of getting this fixed for 7.5? I'm up to my keister in PITR and nested-xact issues and won't have time to look at it soon. Do you want to take a look and see if you can find where the ball is getting dropped? Ok, I'll do that. -O ---(end of

Re: [HACKERS] parameter hints to the optimizer

2004-07-21 Thread Oliver Jowett
Merlin Moncure wrote: Another way to deal with the problem is to defer plan generation until the first plan execution and use the parameters from that execution. When talking the V3 protocol, 7.5 defers plan generation for the unnamed statement until parameters are received in the Bind message

Re: [HACKERS] [JDBC] V3 protocol + DECLARE problems

2004-07-22 Thread Oliver Jowett
Oliver Jowett wrote: It seems like we should pass the original parameters from execution of the DECLARE utility portal down through PortalRunUtility - ProcessUtility - PerformCursorOpen, copy them into the newly created portal's memory context, and pass the copies to PortalStart on the new

Re: [pgsql-hackers-win32] [HACKERS] Weird new time zone

2004-07-22 Thread Oliver Jowett
Tom Lane wrote: Oliver Jowett [EMAIL PROTECTED] writes: It'd be nice to have a predictable timezone choice made when there's a tie. Perhaps we should order on timezone name in this case? The Antarctica zones would tend to win with such a rule, which is probably not what we want

Re: [HACKERS] [JDBC] V3 protocol + DECLARE problems

2004-07-25 Thread Oliver Jowett
Tom Lane wrote: BTW, rather than hacking the parameter list of ProcessUtility, I'd be inclined to just look at ActivePortal-portalParams in PerformCursorOpen. (Come to think of it, we could also copy ActivePortal's sourceText at the PortalDefineQuery step.) I've done this and it seems to work

Re: [HACKERS] Binary Cursors, and the COPY command

2004-07-26 Thread Oliver Jowett
[EMAIL PROTECTED] wrote: The only use case network byte order fixes is a BINARY COPY between different machine types, but in doing that, it forces anyone trying to add value to postgresql or create a utility that uses COPY to reimplement all the data type handlers outside of the database, even if

Re: [HACKERS] Binary Cursors, and the COPY command

2004-07-27 Thread Oliver Jowett
Thomas Hallgren wrote: Oliver Jowett wrote: This is not true if you happen to be using Java on the client side, which has no idea (unless you grot around in the guts of the JVM) what the native byte order is. The method java.nio.ByteOrder.nativeOrder() will tell you what the native byte

Re: [HACKERS] Binary Cursors, and the COPY command

2004-07-27 Thread Oliver Jowett
Thomas Hallgren wrote: Oliver Jowett [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] NIO is not present before JDK 1.4. The JDBC driver, at least, needs to support earlier JVMs. Clients only capable of network order (such as a Java 1.3 based JDBC driver) must of course be supported still

Re: [HACKERS] [JDBC] Very strange Error in Updates

2004-08-04 Thread Oliver Jowett
Tom Lane wrote: Oliver Jowett [EMAIL PROTECTED] writes: What about refusing to change client_encoding to something other than SQL_ASCII on SQL_ASCII databases? Not sure that would do anything very useful. People who aren't thinking about this probably aren't thinking about setting

[HACKERS] making integer_datetimes report on startup

2004-08-04 Thread Oliver Jowett
Would it be possible to report the integer_datetimes GUC in the V3 startup packet? Currently if you want to use binary-format parameters or results that might involve dates/times, you have to explicitly check integer_datetimes first; this means another roundtrip on startup for generic client

Re: [HACKERS] parameter hints to the optimizer

2004-08-07 Thread Oliver Jowett
Bruce Momjian wrote: Oliver Jowett wrote: Merlin Moncure wrote: Another way to deal with the problem is to defer plan generation until the first plan execution and use the parameters from that execution. When talking the V3 protocol, 7.5 defers plan generation for the unnamed statement until

Re: [PATCHES] [HACKERS] UNICODE characters above 0x10000

2004-08-07 Thread Oliver Jowett
Tom Lane wrote: If I understood what I was reading, this would take several things: * Remove the special UTF-8 check in pg_verifymbstr; * Extend pg_utf2wchar_with_len and pg_utf_mblen to handle the 4-byte case; * Set maxmblen to 4 in the pg_wchar_table[] entry for UTF-8. Are there any other places

Re: [HACKERS] parameter hints to the optimizer

2004-08-07 Thread Oliver Jowett
Bruce Momjian wrote: Oliver Jowett wrote: Bruce Momjian wrote: Oliver Jowett wrote: Merlin Moncure wrote: Another way to deal with the problem is to defer plan generation until the first plan execution and use the parameters from that execution. When talking the V3 protocol, 7.5 defers plan

Re: [PATCHES] [HACKERS] UNICODE characters above 0x10000

2004-08-07 Thread Oliver Jowett
Tatsuo Ishii wrote: Tom Lane wrote: If I understood what I was reading, this would take several things: * Remove the special UTF-8 check in pg_verifymbstr; * Extend pg_utf2wchar_with_len and pg_utf_mblen to handle the 4-byte case; * Set maxmblen to 4 in the pg_wchar_table[] entry for UTF-8. Are

[HACKERS] SAVEPOINT syntax again

2004-08-11 Thread Oliver Jowett
Against CVS HEAD: test=# select version(); version --- PostgreSQL 8.0.0beta1 on i686-pc-linux-gnu, compiled by GCC

Re: [HACKERS] Calling PL functions with named parameters

2004-08-13 Thread Oliver Jowett
David Fetter wrote: Dennis has pointed out that mixing the call-with-named-parameter interface with call-by-order-of-parameters one would cause confusion, and I think it would be OK to disallow this type mixing, so SELECT foo_func(name AS 'yet another name', 35); would be disallowed. Python's

Re: [HACKERS] Calling PL functions with named parameters

2004-08-13 Thread Oliver Jowett
Tom Lane wrote: On a related note, it would also be nice to have default parameters and some way to say to use them. That is fundamentally not ever going to happen, because it blows overloaded-function resolution out of the water: there is no way to choose whether foo(42, 2.5) matches foo(int,

Re: [HACKERS] Calling PL functions with named parameters

2004-08-13 Thread Oliver Jowett
Gaetano Mendola wrote: Oliver Jowett wrote: David Fetter wrote: Dennis has pointed out that mixing the call-with-named-parameter interface with call-by-order-of-parameters one would cause confusion, Python's equivalent syntax allows you to mix the two forms so long as all the by-position

Re: [HACKERS] Calling PL functions with named parameters

2004-08-14 Thread Oliver Jowett
Gaetano Mendola wrote: C++ manages to solve this problem, although I can't remember the exact mechanics (and C++ is usually not a good example to follow anyway ;) Your're wrong: try to compile this: [...] a.cpp:6: error: call of overloaded `foo(int, double)' is ambiguous a.cpp:1: error:

Re: [HACKERS] Calling PL functions with named parameters

2004-08-14 Thread Oliver Jowett
Gaetano Mendola wrote: Oliver Jowett wrote: Gaetano Mendola wrote: Oliver Jowett wrote: David Fetter wrote: Dennis has pointed out that mixing the call-with-named-parameter interface with call-by-order-of-parameters one would cause confusion, Python's equivalent syntax allows you to mix the two

Re: [HACKERS] Calling PL functions with named parameters

2004-08-14 Thread Oliver Jowett
Gaetano Mendola wrote: Oliver Jowett wrote: David Fetter wrote: Dennis has pointed out that mixing the call-with-named-parameter interface with call-by-order-of-parameters one would cause confusion, Python's equivalent syntax allows you to mix the two forms so long as all

Re: [HACKERS] stats collector dies in current

2004-08-14 Thread Oliver Jowett
Tom Lane wrote: Jan Wieck [EMAIL PROTECTED] writes: In that context, is SIGTSTP similar to SIGSTOP in that it cannot be caught or ignored? Possibly. I've reproduced the problem here on an RHL 8 system (2.4.18 kernel) and I think it's a kernel bug. Points: [...] I can reproduce this on a 2.6.7

Re: [HACKERS] stats collector dies in current

2004-08-15 Thread Oliver Jowett
Tom Lane wrote: Oliver Jowett [EMAIL PROTECTED] writes: I think pqsignal should be passing SA_NOCLDSTOP in sa_flags, With that patch applied, the problem is indeed gone on my system. However, I would still like to know why 7.4 didn't show the same misbehavior, when it isn't using this flag

[HACKERS] LDFLAGS vs. shared libraries

2004-08-17 Thread Oliver Jowett
I'm trying to build 7.4.3 under Solaris 9 with gcc and static linking of libgcc. This requires passing '-static-libgcc' when linking both binaries and shared libraries. Passing 'LDFLAGS=-static-libgcc' to configure only partially works. Binaries are correctly linked with that flag, but shared

[HACKERS] 7.4.3 8.0.0beta1 + Solaris 9: default pg_hba.conf breaks

2004-08-17 Thread Oliver Jowett
8.0.0beta1 tarball built with gcc 3.2.3 under Solaris 9 on a E250 (ultrasparc). I see the same bug as described in http://archives.postgresql.org/pgsql-admin/2004-05/msg00248.php: a mask of 255.255.255.255 in pg_hba.conf is rejected with LOG: invalid IP mask 255.255.255.255 in pg_hba.conf

Re: [HACKERS] LDFLAGS vs. shared libraries

2004-08-17 Thread Oliver Jowett
Tom Lane wrote: Oliver Jowett [EMAIL PROTECTED] writes: Is there a Right Way to pass extra options for shared-library linking? LDFLAGS_SL is meant for this, I believe. Dunno whether you can set it via configure, though ... that may be an oversight. In the meantime you could hand-hack

Re: [HACKERS] 7.4.3 8.0.0beta1 + Solaris 9: default pg_hba.conf

2004-08-18 Thread Oliver Jowett
Tom Lane wrote: Oliver Jowett [EMAIL PROTECTED] writes: Since the default config now allows TCP/IP connections from localhost, maybe we should tweak the default pg_hba.conf to work around this problem? (e.g. use the /32 syntax which works ok) Maybe we should press Sun to fix their bugs? Well, I

Re: [HACKERS] libpq and prepared statements progress for 8.0

2004-09-15 Thread Oliver Jowett
Greg Stark wrote: I was pretty shocked when I heard that JDBC implements the low level protocol itself. It seems like a dead-end strategy to me. Any new protocol innovations need to be implemented in every driver. Every implementation gets the chance to reimplement the same bugs and same

Re: [HACKERS] libpq and prepared statements progress for 8.0

2004-09-15 Thread Oliver Jowett
Greg Stark wrote: Oliver Jowett [EMAIL PROTECTED] writes: There *are* benefits to implementing the protocol directly. First on my personal list is that our Java application would not be able to use postgresql at all if the driver required JNI/libpq. Well benefits that boil down to Java sucks

Re: [HACKERS] libpq and prepared statements progress for 8.0

2004-09-17 Thread Oliver Jowett
Tom Lane wrote: David Wheeler [EMAIL PROTECTED] writes: To get initial PREPARE support, I don't think that the other DBD::Pg developers mind sending strings to the PostgreSQL server in a SQL PREPARE statement. The question, in my mind, is it currently possible to do this without specifying the

Re: [HACKERS] libpq and prepared statements progress for 8.0

2004-09-17 Thread Oliver Jowett
Oliver Jowett wrote: template1= prepare s1(int) as select $1; PREPARE template1= execute s1('12'); ?column? -- 12 (1 row) (now replace int with unknown..) Ok, bad example since the backend probably can't infer a type for the PREPARE in this case. A better example: template1

Re: [HACKERS] libpq and prepared statements progress for 8.0

2004-09-18 Thread Oliver Jowett
David Wheeler wrote: On Sep 17, 2004, at 6:23 PM, Oliver Jowett wrote: template1= prepare s1(int) as select typname from pg_type where oid = $1; PREPARE template1= execute s1('16'); typname - bool (1 row) You're still telling it the type via that int. Well, obviously. I haven't

Re: [HACKERS] libpq and prepared statements progress for 8.0

2004-09-18 Thread Oliver Jowett
David Wheeler wrote: On Sep 18, 2004, at 1:09 PM, Oliver Jowett wrote: Well, obviously. I haven't modified the backend code to accept 'unknown' in PREPARE.. Right, and that's what we're looking for. My point was the client does *not* need to know the type inferred by the PREPARE in the 'unknown

Re: [HACKERS] SAVEPOINT SQL conformance

2004-09-18 Thread Oliver Jowett
Michael Paesold wrote: BEGIN; SAVEPOINT a; INSERT INTO ... SAVEPOINT a; INSERT INTO ... SAVEPOINT a; ... (encountering an error it would just ROLLBACK TO a;) According to the standard this is exactly the same as: BEGIN; SAVEPOINT a; INSERT INTO ... RELEASE SAVEPOINT a; SAVEPOINT a; INSERT INTO ...

Re: [HACKERS] SQL-Invoked Procedures for 8.1

2004-09-23 Thread Oliver Jowett
Gavin Sherry wrote: I don't get this multiple ResultSet stuff. All I can think of is that the spec has this in mind: CallableStatement cstmt = conn.prepareCall({call foo(); call bar();}); or CallableStatement cstmt = conn.prepareCall({call foo()} {call bar();}); or some other permutation. It's not

Re: [HACKERS] SQL-Invoked Procedures for 8.1

2004-09-23 Thread Oliver Jowett
Tom Lane wrote: regression=# create rule r1 as on insert to surprise do regression-# ( select 'hello' ; select 'how are you' ); CREATE RULE The 'hello' result was in fact computed and sent by the backend, but it was discarded in libpq (see the documentation about PQexec: only the last resultset

Re: [HACKERS] SQL-Invoked Procedures for 8.1

2004-09-23 Thread Oliver Jowett
Tom Lane wrote: How can clients distinguish multiple resultsets if they're using the extended query protocol? You'll get multiple repetitions of RowDescription/DataRows. Ah, so the Execute spontaneously generates a RowDescription spontaneously when it hits the second resultset, without needing

Re: [HACKERS] SQL-Invoked Procedures for 8.1

2004-09-23 Thread Oliver Jowett
Tom Lane wrote: Oliver Jowett [EMAIL PROTECTED] writes: Tom Lane wrote: How can clients distinguish multiple resultsets if they're using the extended query protocol? You'll get multiple repetitions of RowDescription/DataRows. Ah, so the Execute spontaneously generates a RowDescription

Re: [HACKERS] Two-phase commit security restrictions

2004-10-13 Thread Oliver Jowett
Heikki Linnakangas wrote: Another approach I've been thinking about is to allow anyone that knows the (user-supplied) global transaction identifier to finish the transaction, and hide the gids of running transactions from regular users. That way, the gid acts as a secret token that's only known

Re: [HACKERS] Two-phase commit security restrictions

2004-10-13 Thread Oliver Jowett
David Garamond wrote: So it is possible for a user connected to the DB to send random commit or cancel commands, just in case she happens to hit a valid GID? It is not essentially different from someone trying to bruteforce a password. A 128bit value like a random GUID is as strong as a 16 char

Re: [HACKERS] Two-phase commit

2004-10-06 Thread Oliver Jowett
Tom Lane wrote: At the API level, I like the PREPARE/COMMIT/ROLLBACK statements, but I think you have missed a bet in that it needs to be possible to issue COMMIT PREPARED gid for the same gid several times without error. Consider a scenario where the transaction monitor crashes during the commit

Re: [HACKERS] Two-phase commit

2004-10-06 Thread Oliver Jowett
Tom Lane wrote: Oliver Jowett [EMAIL PROTECTED] writes: At the API level, I like the PREPARE/COMMIT/ROLLBACK statements, but I think you have missed a bet in that it needs to be possible to issue COMMIT PREPARED gid for the same gid several times without error. Isn't this usually where the GTM

Re: [HACKERS] Two-phase commit

2004-10-06 Thread Oliver Jowett
Tom Lane wrote: Oliver Jowett [EMAIL PROTECTED] writes: Tom Lane wrote: Well, the question is how long must the individual databases retain state with which to answer recover requests. As I understand it, you don't need to keep state for committed txns, I think that's clearly wrong: TM

Re: [HACKERS] Two-phase commit

2004-10-06 Thread Oliver Jowett
Rod Taylor wrote: On Wed, 2004-10-06 at 18:50, Tom Lane wrote: Well, the question is how long must the individual databases retain state with which to answer recover requests. I don't like forever, so I'm proposing that there should be an explicit command to say you can forget about this gid.

Re: [HACKERS] Two-phase commit

2004-10-08 Thread Oliver Jowett
Heikki Linnakangas wrote: On Thu, 7 Oct 2004, Oliver Jowett wrote: Probably the next question is, do we want a database-side timeout on how long prepared txns can stay alive before being summarily rolled back? That sounds very dangerous to me. You could end up breaking global atomicity if some

[HACKERS] V3 protocol gets out of sync on messages that cause allocation failures

2004-10-17 Thread Oliver Jowett
(Tom: this is not as severe a problem as I first thought) If a client sends a V3 message that is sufficiently large to cause a memory allocation failure on the backend when allocating space to read the message, the backend gets out of sync with the protocol stream. For example, sending this:

Re: [HACKERS] V3 protocol gets out of sync on messages that cause allocation

2004-10-20 Thread Oliver Jowett
Tom Lane wrote: I wrote: Yeah. The intent of the protocol design was that the recipient could skip over the correct number of bytes even if it didn't have room to buffer them, but the memory allocation mechanism in the backend makes it difficult to actually do that. Now that we have PG_TRY,

Re: [HACKERS] fsync, ext2 on Linux

2004-10-31 Thread Oliver Jowett
Heikki Linnakangas wrote: The Linux fsync man page says: It does not necessarily ensure that the entry in the directory containing the file has also reached disk. For that an explicit fsync on the file descriptor of the directory is also needed. AFAIK, we don't care about it at the moment. The

Re: [HACKERS] CVS should die

2004-11-04 Thread Oliver Jowett
Tom Lane wrote: AFAICS the only nondestructive way to do this is to cvs delete and cvs add, with a commit comment saying where the files were moved from. Then when you are looking at them in CVS, you'd have to navigate over to the previous location (by hand, probably; the commit comment isn't

Re: [HACKERS] Increasing the length of pg_stat_activity.current_query...

2004-11-08 Thread Oliver Jowett
Tom Lane wrote: It's really a performance issue: do you want to pay the penalty associated with reassembling messages that exceed the loopback MTU [...] BTW, the loopback MTU here is quite large: [EMAIL PROTECTED]:~$ /sbin/ifconfig lo | grep MTU UP LOOPBACK RUNNING MTU:16436 Metric:1

  1   2   >