[HACKERS] Postgresql crash (signal 11). keywords: distinct, subselect, union

2006-02-13 Thread Magnus Naeslund(f)
I just wanted to check if this has been fixed in any recent v8.1.x
release, since I'm using v8.1.0 now.

Backtrace:

Program received signal SIGSEGV, Segmentation fault.
0x08152448 in qual_is_pushdown_safe ()
(gdb) bt
#0  0x08152448 in qual_is_pushdown_safe ()
#1  0x08151e47 in set_subquery_pathlist ()
#2  0x08151a3c in set_base_rel_pathlists ()
#3  0x08151960 in make_one_rel ()
#4  0x0815dcaf in query_planner ()
#5  0x0815ea19 in grouping_planner ()
#6  0x0815e2e4 in subquery_planner ()
#7  0x0815dfaa in planner ()
#8  0x08197b7c in pg_plan_query ()
#9  0x08197c39 in pg_plan_queries ()
#10 0x08197e3d in exec_simple_query ()
#11 0x0819a6fe in PostgresMain ()
#12 0x08176356 in BackendRun ()
#13 0x08175c77 in BackendStartup ()
#14 0x08173ee2 in ServerLoop ()
#15 0x08173723 in PostmasterMain ()
#16 0x08139f90 in main ()
#17 0x400dc14f in __libc_start_main () from /lib/libc.so.6


The crashing query is below, if I remove the not is null test it
doesn't crash.

How to reproduce:

create table snicker_whatever(
id SERIAL primary key
);

create table snicker (
idSERIAL primary key,
name_singular text not null unique,
name_plural   text not null unique
);

create table snicker_group (
id  SERIAL primary key,
title   varchar(64) not null,
snicker_id  integer not null references snicker_whatever(id)
);

create table snicker_group_mapping (
id SERIAL primary key,
snicker_group_id   integer not null references snicker_group(id),
snicker_id integer references snicker(id)
);


SELECT DISTINCT
*
FROM
(
SELECT
vtgm.snicker_id
FROM snicker_group_mapping vtgm
WHERE exists
(
SELECT
*
FROM snicker_group vtg
WHERE vtgm.snicker_group_id = vtg.id
AND lower(vtg.title) ~* 'test'
)
UNION
SELECT
snicker.id
FROM snicker
WHERE lower(snicker.name_singular) ~* 'test'
OR lower(snicker.name_plural) ~* 'test'
) AS vt_id
WHERE vt_id is not null;

Regards,
Magnus

---(end of broadcast)---
TIP 6: explain analyze is your friend


Re: [HACKERS] Postgresql crash (signal 11). keywords: distinct, subselect,

2006-02-13 Thread Magnus Naeslund(f)
Tom Lane wrote:
 Magnus Naeslund(f) [EMAIL PROTECTED] writes:
 SELECT DISTINCT
 *
 FROM
 (
 SELECT
 vtgm.snicker_id
 FROM snicker_group_mapping vtgm
 WHERE exists
 (
 SELECT
 *
 FROM snicker_group vtg
 WHERE vtgm.snicker_group_id = vtg.id
 AND lower(vtg.title) ~* 'test'
 )
 UNION
 SELECT
 snicker.id
 FROM snicker
 WHERE lower(snicker.name_singular) ~* 'test'
 OR lower(snicker.name_plural) ~* 'test'
 ) AS vt_id
 WHERE vt_id is not null;
 
 While the crash is certainly a bug, the answer is going to be don't do
 that.  Testing a whole record for null-ness is not meaningful.
 

Yep, my workaround (or bugfix) was to push that null test infront of
the exists. Also I might not need the surrounding distinct either,
doesn't union make the result distinct?

So if I would like to do the test after the union, I should add AS xxx
on both union queries and then vt_id.xxx is not null, right ?

Regards,
Magnus


---(end of broadcast)---
TIP 1: 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] v7.2.4 bundled ...

2003-01-29 Thread Magnus Naeslund(f)
Redhat 6.2
Linux gserver1 2.4.19-pre6 #4 Thu Apr 11 07:17:39 CEST 2002 alpha
unknown
All 79 tests passed.

Magnus


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

http://archives.postgresql.org



[HACKERS] Error using cursors/fetch and execute

2003-01-07 Thread Magnus Naeslund(f)
I have a problem...
We're using cursors to be able to fetch X tuples from the server.
If we would take 'em all our app would blow up because of memory
constraints.
What i would like to is something like this:

mag=# create table test (id serial unique primary key, txt text);
mag=# insert into test(txt) values('hoho1');
mag=# prepare berra (integer) as select * from test where id = $1;
mag=# declare berra_c cursor for execute berra(1);
ERROR:  parser: parse error at or near execute at character 28

Is there any other way of fetching less than all rows at once, similar
to that of using cursors. I don't use it for any other purpose than
that.

Magnus

--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 Programmer/Networker [|] Magnus Naeslund
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


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

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



Fw: [HACKERS] Error using cursors/fetch and execute

2003-01-07 Thread Magnus Naeslund(f)
I forgot to reply to the list aswell...

Magnus

- Original Message - 
From: Magnus Naeslund(f) [EMAIL PROTECTED]
To: Jeroen T. Vermeulen [EMAIL PROTECTED]
Sent: Tuesday, January 07, 2003 3:32 PM
Subject: Re: [HACKERS] Error using cursors/fetch and execute


 Jeroen T. Vermeulen [EMAIL PROTECTED] wrote:
  begin;
  declare berra cursor for select * from test where id = 1;
  fetch 100 from berra;
  [...]
  end;
 
 
 Oh, i'm sorry, i'm unclear.
 I mean: is there a way of doing exactly the above using prepared
 statements?.
 We're doing the above currently, and that works ofcourse...
 
 
  Jeroen
 
 Magnus
 
 

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



Re: [HACKERS] Is anybody out there !!!

2002-12-16 Thread Magnus Naeslund(f)
No :)

Magnus

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

http://archives.postgresql.org



Re: [HACKERS] [GENERAL] 7.3 txt2txtidx - crash

2002-12-08 Thread Magnus Naeslund(f)
Yes i found this bug earlier.
There is a patch for it in the mail archives.

Magnus

Argo Priivits [EMAIL PROTECTED] wrote:
 Hi,
 
 I have a problem with contrib/tsearch module.
 
 Simple select txt2txtidx('2-3') causes psql to crash with error:
 
 server closed the connection unexpectedly
 This probably means the server terminated abnormally
 before or while processing the request.
 
 
 As I found out, this happens allways when in txt2txtidx input
 parameter occurs string with pattern: number hyphen or hyphen
 number !!!  
 
 pg 7.3
 redhat 7.3
 
 Thanks, any idea ?
 


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



[HACKERS] Backend crash with tsearch

2002-12-03 Thread Magnus Naeslund(f)
I'm evaluating tsearch contrib module, and i get a backend crash when
i'm about to use a tsearch function.

When i issue
update things set nidx=txt2txtidx(productname),
didx=txt2txtidx(longdescription);

The backend dies in a segfault.
The system is redhat 7.3 dual athlon w/ 1GB memory.
Postgresql is compiled with -march=athlon -O3.
initdb -E LATIN1

I have a huge shared buffer count (65536).

I'll reinstall tsearch and try again soon.
Is it necesary to install OpenFTS contrib aswell, or do i get away with
only installing tsearch?
Now i do both...

Backtrace:

#0  0x02d1 in ?? ()
#1  0x401faf48 in ?? ()
#2  0x401fb5e6 in ?? ()
#3  0x080d8f5c in ExecMakeFunctionResult (fcache=0x82d3710,
arguments=0x82ce170, econtext=0x82d3580, isNull=0xbfffec8f ,
isDone=0xbfffecd8) at execQual.c:839
#4  0x080d99a3 in ExecEvalExpr (expression=0x82ce188,
econtext=0x82d3580, isNull=0xbfffec8f , isDone=0xbfffecd8)
at execQual.c:1168
#5  0x080d9d44 in ExecTargetList (targetlist=0x82ce3d8, nodomains=21,
targettype=0x82cf230, values=0x82d4488,
econtext=0x82d3580, isDone=0xbfffee78) at execQual.c:2058
#6  0x080da13f in ExecProject (projInfo=0x82d3b08, isDone=0xbfffee78) at
execQual.c:2282
#7  0x080da229 in ExecScan (node=0x82cfeb8, accessMtd=0x80e1270
SeqNext) at execScan.c:133
#8  0x080e1093 in ExecSeqScan (node=0x82cfeb8) at nodeSeqscan.c:133
#9  0x080d7d9c in ExecProcNode (node=0x82cfeb8, parent=0x0) at
execProcnode.c:291
#10 0x080d6a47 in ExecutePlan (estate=0x82d, plan=0x82cfeb8,
operation=CMD_UPDATE, numberTuples=0,
direction=ForwardScanDirection, destfunc=0x82d3b30) at
execMain.c:954
#11 0x080d7682 in ExecutorRun (queryDesc=0x82d35f0, estate=0x82d,
direction=ForwardScanDirection, count=0) at execMain.c:195
#12 0x0812a8cb in ProcessQuery (parsetree=0x82cb1c8, plan=0x82cfeb8,
dest=Remote, completionTag=0xb060 ) at pquery.c:242
#13 0x08128b81 in pg_exec_query_string (query_string=0x82cb0a8,
dest=Remote, parse_context=0x8291cd0) at postgres.c:838
#14 0x08129b50 in PostgresMain (argc=4, argv=0xb2e0,
username=0x827ccd1 mag) at postgres.c:2016
#15 0x0810f0c4 in DoBackend (port=0x827cba0) at postmaster.c:2293
#16 0x0810e9dc in BackendStartup (port=0x827cba0) at postmaster.c:1915
#17 0x0810de8d in ServerLoop () at postmaster.c:1000
#18 0x0810da24 in PostmasterMain (argc=1, argv=0x8245640) at
postmaster.c:779
#19 0x080ea5c2 in main (argc=1, argv=0xbc74) at main.c:210
#20 0x42017589 in __libc_start_main () from /lib/i686/libc.so.6

Magnus

--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 Programmer/Networker [|] Magnus Naeslund
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


---(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] Backend crash with tsearch

2002-12-03 Thread Magnus Naeslund(f)
Tom Lane [EMAIL PROTECTED] wrote:
 Magnus Naeslund(f) [EMAIL PROTECTED] writes:
 The backend dies in a segfault.

 Backtrace:

 #0  0x02d1 in ?? ()
 #1  0x401faf48 in ?? ()
 #2  0x401fb5e6 in ?? ()
 #3  0x080d8f5c in ExecMakeFunctionResult (fcache=0x82d3710,
 arguments=0x82ce170, econtext=0x82d3580, isNull=0xbfffec8f ,
 isDone=0xbfffecd8) at execQual.c:839

 Did you compile tsearch with debug support?  If so, the lack of any
 symbolic info here must mean that gdb didn't know where to find the
 tsearch .so module.  You could get a more useful trace by telling
 gdb
 sharedlibrary /path/to/tsearch.so

 regards, tom lane


I'm working on it (--enable-debug --enable-cassert).
It's either that it can't load the lib (shouldn't it complain?) or it's
a bad pointer.
We'll find out, i hope...

Magnus


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



Re: [HACKERS] Backend crash with tsearch

2002-12-03 Thread Magnus Naeslund(f)
More info, the gdb sharedlibrary loaded some more symbols:

(gdb) bt
#0  0x02d1 in ?? ()
#1  0x401faf48 in parsetext (prs=0xbfffea60, buf=0x4277eb3c Can - Live
1971-77, buflen=18) at txtidx.c:366
#2  0x401fb5e6 in txt2txtidx (fcinfo=0xbfffeaf0) at txtidx.c:487
#3  0x080ec45c in ExecMakeFunctionResult (fcache=0x83172bc,
arguments=0x831187c, econtext=0x8317114, isNull=0xbfffec8f ,
isDone=0xbfffecd8) at execQual.c:839
#4  0x080ed023 in ExecEvalExpr (expression=0x8311898,
econtext=0x8317114, isNull=0xbfffec8f , isDone=0xbfffecd8)
at execQual.c:1168
#5  0x080ed3c4 in ExecTargetList (targetlist=0x8311b20, nodomains=21,
targettype=0x8312b1c, values=0x83180a0,
econtext=0x8317114, isDone=0xbfffee78) at execQual.c:2058
#6  0x080ed7bf in ExecProject (projInfo=0x8317f90, isDone=0xbfffee78) at
execQual.c:2282
#7  0x080ed8a9 in ExecScan (node=0x8315e60, accessMtd=0x80f4fa0
SeqNext) at execScan.c:133
#8  0x080f4e73 in ExecSeqScan (node=0x8315e60) at nodeSeqscan.c:133
#9  0x080eafbc in ExecProcNode (node=0x8315e60, parent=0x0) at
execProcnode.c:291
#10 0x080e99f7 in ExecutePlan (estate=0x83161ac, plan=0x8315e60,
operation=CMD_UPDATE, numberTuples=0,
direction=ForwardScanDirection, destfunc=0x8317fbc) at
execMain.c:954
#11 0x080ea999 in ExecutorRun (queryDesc=0x831718c, estate=0x83161ac,
direction=ForwardScanDirection, count=0) at execMain.c:195
#12 0x08143b9b in ProcessQuery (parsetree=0x830c8c4, plan=0x8315e60,
dest=Remote, completionTag=0xb060 ) at pquery.c:242
#13 0x08141dc1 in pg_exec_query_string (query_string=0x830c79c,
dest=Remote, parse_context=0x82d6e88) at postgres.c:838
#14 0x08142e1d in PostgresMain (argc=4, argv=0xb2e0,
username=0x82c23a9 mag) at postgres.c:2016
#15 0x08125544 in DoBackend (port=0x82c2278) at postmaster.c:2293
#16 0x08124e5c in BackendStartup (port=0x82c2278) at postmaster.c:1915
#17 0x0812430d in ServerLoop () at postmaster.c:1000
#18 0x08123e94 in PostmasterMain (argc=1, argv=0x8276d00) at
postmaster.c:779
#19 0x080fefe2 in main (argc=1, argv=0xbc74) at main.c:210
#20 0x42017589 in __libc_start_main () from /lib/i686/libc.so.6


Magnus


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



Re: [HACKERS] Backend crash with tsearch

2002-12-03 Thread Magnus Naeslund(f)
Some more (useless) info.

objdump -x /lib/*.so /usr/lib/*.so /lib/i686/*.so /usr/kerberos/lib/*.so
/usr/local/pgsql/bin/* /usr/local/pgsql/lib/*.so | grep lemmatize

reviels only one lemmatize symbol.

The offending address 0x02d1 is not mapped anywhere in the address
space according to /proc/pid/maps.

Nice that the coredump is 522MB ;)

Magnus


---(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] Backend crash with tsearch

2002-12-03 Thread Magnus Naeslund(f)
Oleg Bartunov [EMAIL PROTECTED] wrote:

 Please, tell us postgresql version. Did you reinstall tsearch after
 upgrading ? Test-suite (data, sql) demonstrated the problem would be
 nice.


pgsql 7.3, about 700mb text database with product descriptions.
I'm working on isolation the behavior, the tsearch make installcheck
seems to be crashing aswell.
Is a psql regression  tsearch.sql needed, or is that done
automatically in the installcheck?

 For contrib/tsearch  you need only tsearch :)


:)

I hope this is because of something silly.

Magnus



---(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] Backend crash with tsearch

2002-12-03 Thread Magnus Naeslund(f)
Christopher Kings-Lynne [EMAIL PROTECTED] wrote:
 I'll reinstall tsearch and try again soon.
 Is it necesary to install OpenFTS contrib aswell, or do i get away
 with only installing tsearch?
 Now i do both...

 Can you give us the compressed text?  I can try it on my installation
 and see if there's the same problem?

 Chris

No i can't, it's not my data to give :(
But it doesn't matter since if you run gmake installcheck in
contrib/tsearch it will explode.

A funny thing is that i installed pg7.3 on an linux intel celeron system
(rh8.0) w/128 mb memory, and THERE it works!

Athlon dependent?
(Well maybe not, the rest of 7.3 works and passes all regressiontests)

Magnus


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



Re: [HACKERS] Backend crash with tsearch

2002-12-03 Thread Magnus Naeslund(f)
Christopher Kings-Lynne [EMAIL PROTECTED] wrote:

 Works on FreeBSD/Alpha for me.  Maybe you've got some weirdness with
 bad RAM chips or something?

 Chris

Could be, but it only shows when i do this, and the server has been up
for several months.
If everything else failes, i'll run memtest86 on it.

Magnus


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

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



Re: [HACKERS] Backend crash with tsearch [NAILED][HELP!]

2002-12-03 Thread Magnus Naeslund(f)
Ok, I nailed the bug, but i'm not sure what the correct fix is.
Attached tsearch_morph.diff that remedies this problem by avoiding it.
Also there's a debug aid patch if someone would like to know how i
finally found it out :)

There problem in the lemmatize() function is that GETDICT(...) returned
a value not handled (BYLOCALE).
The value (-1) and later used as an index into the dicts[] array.
After that everything went berserk stack went crazy somehow so trapping
the fault sent me to the wrong place, and every time i read the value it
was positive ;)

So now i just return the initial word passed to the lemmatize function,
because i don't know what to do with it.

So you tsearch guys will have to work it out :)

Magnus




tsearch_morph.c.diff
Description: Binary data


tsearch_morph.c.debugaid
Description: Binary data

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



Re: [HACKERS] Backend crash with tsearch

2002-12-03 Thread Magnus Naeslund(f)
Teodor Sigaev [EMAIL PROTECTED] wrote:

 Sorry, I have no any idea. Just only full reinstall (with initdb
 and rm -rf /usr/local/pgsql)  postgresql...
 Can you give me login on you computer for a several hours?


The thing is that when i ran the thing breakpointing on parsetext() at
the line of the call i could type cont many times.
Could there be some kind of memory corruption, someone overwriting
memory?

Sorry, i can't hand out a login to the box :(

I did a total re-install just now, and it still crashes.

Magnus



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



Re: [HACKERS] Backend crash with tsearch

2002-12-03 Thread Magnus Naeslund(f)
Oleg Bartunov [EMAIL PROTECTED] wrote:

 So, the problem may be in rh 7.3 ?


Might be, i'm debugging it now, and i can see that the dicts[] array in
morph.c is beeing overwritten with junk.

I can trigger it with this query:

select txt2txtidx('Can - Live 1971-77');

Is there any good way of adding watches on any type of memory?
(I'm not that good with gdb -yet :))

Magnus



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

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



Re: [HACKERS] 7.4 Wishlist

2002-12-02 Thread Magnus Naeslund(f)
Mysql is planning on making this work:

 SELECT id, @a:=COUNT(*), SUM(sum_col)/@a FROM table_name GROUP BY id.

Do we have anything like it (After a discussion with Tom i figure no).
User variables is nice, especially in these kind of queries.

Nice would be to be able to use them as in C (almost everywhere):

SELECT id, @x FROM table_name t where (@x := date_part('days'. now() -
f.created))  100;

As Tom said in earlier mail, it might not be that big of a win in this
case, but if uses expensive functions, it will.

Magnus


---(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] 7.4 Wishlist

2002-12-02 Thread Magnus Naeslund(f)
Christopher Kings-Lynne [EMAIL PROTECTED] wrote:
 Mysql is planning on making this work:

  SELECT id, @a:=COUNT(*), SUM(sum_col)/@a FROM table_name GROUP BY
 id.

 Do we have anything like it (After a discussion with Tom i figure
 no). User variables is nice, especially in these kind of queries.

 Well of course they have to make that work - they don't have
 subselects :P

 Chris

Yeah, but there is a point about running count(*) one time too many.
Say if i would like to get a prettyprinting query like this:

SELECT id, @a:=COUNT(*), sum_col::text||'/'@a::text FROM table_name;

That would be DAMN expensive doing with a subselect:

SELECT id, sum_col||'/'||(select COUNT(*) from tabe_name) FROM
table_name;

I know this example suck eggs, but you get the point where it hurts,
right?

Magnus - sorry for the dupe, chris


---(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] 7.4 Wishlist

2002-12-02 Thread Magnus Naeslund(f)
Christopher Kings-Lynne [EMAIL PROTECTED] wrote:
 Are you sure that postgres evaluates that subselect more than once?
 It looks to me like it returns a constant result for every row and
 hence it will be evaluated once per statement, not once per row.  I'm
 no expert tho. Can someone answer this?

 And if the subselect changes for each row (ie. it's a correlated
 subquery) then you cannot use the variable anyway.

 It seems to me that if postgres doesn't consider count(*) as a
 constant then perhaps it should be taught to?  Should be safe
 shouldn't it?  I guess if a function in your select statemnt is
 inserting a row then there's trouble. But if there is, then the
 sum/count(*) is nonsensical anyway.

 Chris


It looks like it (7.2.x):

# time psql genline -c select id from   /dev/null
real0m0.694s
user0m0.147s
sys 0m0.025s
# time psql genline -c select id,id||'/'||(select count(*) from )
as x from   /dev/null

real0m2.202s
user0m0.263s
sys 0m0.040s

# time psql genline -c select id,(select count(*) from bildsekvens) as
x from   /dev/null

real0m1.479s
user0m0.254s
sys 0m0.047s

They were taken from a busy system, but i ran the several times showing
about the same result.

Magnus


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



Re: [HACKERS] 7.4 Wishlist

2002-12-02 Thread Magnus Naeslund(f)
Stephan Szabo [EMAIL PROTECTED] wrote:

 If you use a scalar subquery, yes, but I think a subselect in from
 would help, maybe something like (if you want the total count)

 select table_name.id, sum(sum_col)||'/'||t2.count from table_name,
 (select count(*) as count from table_name) as t2 group by
 table_name.id,t2.count;

 or (if you want each count the counter per group) either

  select id, sum(sum_col)||'/'||count(*) from table_name
 group by id;

 or

  select table_name.id, sum(sum_col)||'/'||t2.count from table_name,
 (select id, count(*) as count from table_name group by id) as t2 where
 table_name.id=t2.id group by table_name.id,t2.count;


Give it up already, i was MAKING A POINT, not trying to make an
optimized count(*) thing :)
There are other examples that you cannot get around, that will be
evaluated more than once when a local user variable would make it not
need to.

Magnus


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

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



Re: [HACKERS] 7.4 Wishlist

2002-12-02 Thread Magnus Naeslund(f)
Stephan Szabo [EMAIL PROTECTED] wrote:
 On Tue, 3 Dec 2002, Magnus Naeslund(f) wrote:
 
 Now convert this query so that it only evaluates the date_part thing
 ONCE:
 
 That's not a good idea as long as t.stamp varies from row to row. ;)
 Perhaps once per row, maybe... :)
 

I give up


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

http://archives.postgresql.org



Re: [HACKERS] 7.4 Wishlist

2002-12-02 Thread Magnus Naeslund(f)
Hannu Krosing [EMAIL PROTECTED] wrote:
 Magnus Naeslund(f) kirjutas T, 03.12.2002 kell 03:18:
 It looks like it (7.2.x):

 # time psql genline -c select id from   /dev/null
 real0m0.694s
 user0m0.147s
 sys 0m0.025s
 # time psql genline -c select id,id||'/'||(select count(*) from
 ) as x from   /dev/null

 real0m2.202s
 user0m0.263s
 sys 0m0.040s

 # time psql genline -c select id,(select count(*) from bildsekvens)
 as x from   /dev/null

 real0m1.479s
 user0m0.254s
 sys 0m0.047s

 what is the time for

 select id,x
   from ,
(select count(*) as x from bildsekvens) c ;




time psql genline -c select id,x from , (select count(*) as x from
) c ;  /dev/null

real0m1.354s
user0m0.268s
sys 0m0.028s

The  and the other table is the same table, sorry i screwed up in
the last cut'n'paste operation.
As i said it's a loaded system, the figures vary a little bit between
runs.

Magnus



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

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



Re: [HACKERS] 7.4 Wishlist

2002-12-02 Thread Magnus Naeslund(f)
Bruce Momjian [EMAIL PROTECTED] wrote:
 Magnus Naeslund(f) wrote:
  select id, sum(sum_col)||'/'||count(*) from table_name
 group by id;

 or

  select table_name.id, sum(sum_col)||'/'||t2.count from table_name,
 (select id, count(*) as count from table_name group by id) as t2
 where table_name.id=t2.id group by table_name.id,t2.count;


 Give it up already, i was MAKING A POINT, not trying to make an
 optimized count(*) thing :)
 There are other examples that you cannot get around, that will be
 evaluated more than once when a local user variable would make it
 not need to.

 Here's an even slimmer query that makes a var:

 test= select var1.* from (select 1) as var1;
 ?column?
 --
 1
 (1 row)

Good!
Now convert this query so that it only evaluates the date_part thing
ONCE:

select t.id, date_part('days',now()-t.stamp) from table_name t where
date_part('days',now()-t.stamp)  20;

I hope you all are kidding me in not seeing the real issue i'm trying to
show here.

Cheers
Magnus



---(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] RC1?

2002-11-14 Thread Magnus Naeslund(f)
Tom Lane [EMAIL PROTECTED] wrote:
[snip]

 Note that we have *zero* reports for any flavor of NetBSD and
 OpenBSD.

 Maybe they're both dead platforms?  ;-)


Well, OpenBSD isn't dead :)
But i have problems compiling 7.3b5 on it (OpenBSD 3.1 i386).
I figured i should give it a go, since nobody else did, but i get many
regression failures.

Then i tried 7.2.3, and it too gives alot of regression failures.

Both were configured with:

./configure \
  --with-perl\
  --with-openssl \
  --enable-odbc  \
  --with-CXX

And nothing else.

The regression diffs can be found at:
http://gimme.smisk.nu/~mag/pgsql/


Is there some kind of gotcha with compiling pgsql on OpenBSD?
I've never tried it before.


Magnus


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



Re: [HACKERS] RC1?

2002-11-14 Thread Magnus Naeslund(f)
Magnus Naeslund(f) [EMAIL PROTECTED] wrote:

 Well, OpenBSD isn't dead :)
 But i have problems compiling 7.3b5 on it (OpenBSD 3.1 i386).
 I figured i should give it a go, since nobody else did, but i get many
 regression failures.


OK OK, before anyone rubs my nose in it, i see the fork() failures :)
I just sent the mail without looking.

I'll see what's causing the fork() problems...

Magnus


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



[HACKERS] Add OpenBSD 3.1 i386 to supported platforms (was: RC1?)

2002-11-14 Thread Magnus Naeslund(f)
Tom Lane [EMAIL PROTECTED] wrote:
 Too low processes-per-user limit, likely.

Yes, ofcourse...
This is what happens when you're in a hurry and tries to make everything
happen at the same time :)

Now it all passes:

OpenBSD 3.1 i386

./configure \
  --with-perl\
  --enable-odbc  \
  --with-CXX

All 89 tests passed.
Installation and some small testing seems to work just fine.

Magnus


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



Re: [HACKERS] Add OpenBSD 3.1 i386 to supported platforms (was: RC1?)

2002-11-14 Thread Magnus Naeslund(f)
Bruce Momjian [EMAIL PROTECTED] wrote:
 Ports list updated:

   http://candle.pha.pa.us/main/writings/pgsql/sgml/supported-
 platforms.html

 Also, I assume the (f) is part of your name, right?


Cool.

No the (f) part is really a mail account thing that (I/we)'ve
traditionally had.
If it's (w) it's posted from my webmail account, if it's (b) it's from
my [EMAIL PROTECTED] account.

Silly thing, but makes/made sense in our context :)

Magnus




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



[HACKERS] 7.3b5 Supported platforms alpha linux update

2002-11-08 Thread Magnus Naeslund(f)
If it matters, i re-ran the regression tests on psql 7.3b5, and it
worked flawlessly, all 89 tests passed.
I didn't install, but it passed the last time (b3).

System:
Redhat Linux 6.2, Alpha EV56, handupgraded to kernel 2.4.19-pre6aa1.

Options used:

./configure \
  --disable-rpath \
  --prefix=/usr/local/pgsql-7.3b5 \
  --with-maxbackends=512 \
  --with-tcl \
  --without-tk   \
  --with-perl\
  --with-openssl \
  --enable-odbc  \
  --with-CXX

Magnus

--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 Programmer/Networker [|] Magnus Naeslund
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


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



Re: [HACKERS] Request for supported platforms

2002-10-29 Thread Magnus Naeslund(f)
Robert Treat [EMAIL PROTECTED] wrote:
 I noticed that the supported platforms listed 7.2 for linux alpha but
 with yesterdays date. I figured it was just a typo, but thought I
 would try to compile myself just to be sure, but I received 4
 failures: horology,geometry,opr_sanity, and misc

 This is on alpha running debian 3 linux
 uname -a = Linux usf-cf-alpha-linux-1 2.2.20 #2 Wed Mar 20 19:57:28
 EST 2002 alpha unknown

 regression output can be seen at:
 http://phppgadmin.sourceforge.net/regression.diffs
 http://phppgadmin.sourceforge.net/regression.out

 my alpha history is spotty at best, perhaps someone else can help me
 interpret things.

 Robert Treat

I think on Linux Alpha and Sparc alot has to do with the gcc compiler
version.
My system is handupgraded from Redhat 6.2, kernel 2.2.x to be using a
much newer kernel (2.4.X-aaX).
But it's been working flawlessly with almost any kernel from 2.2 up to
where i am now, using postgresql from the 6.x days.

What compiler version are you using?
Is this Debian release a stable branch?

Magnus





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



[HACKERS] About the Request for supported platforms

2002-10-28 Thread Magnus Naeslund(f)
Is there i faq item or maybe some other way that we can tell users
that --disable-rpath should be used when checking regressiontests if you
have an install already on the box?
The rpath defaults to the installdir even in the temporary install that
is made when doing gmake check, and that confuses some programs (like
pg_encoding) because it loads the installed libpq. In my case that's an
old install running in production state.

There are tools that set the rpath on an already linked executable, but
i dunno if that feels appropriate. But maybe an warning in gmake check
would be nice.

Magnus

--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 Programmer/Networker [|] Magnus Naeslund
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


---(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] Request for supported platforms

2002-10-28 Thread Magnus Naeslund(f)
Linux alpha.

An Redhat 6.2, Linux gsX 2.4.19-pre6 #4 Thu Apr 11 07:17:39 CEST 2002
alpha unknown (ev56 ruffian).

gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)

./configure \
  --prefix=/usr/local/pgsql-7.3b3 \
  --with-maxbackends=512 \
  --with-tcl \
  --without-tk   \
  --with-perl\
  --with-openssl \
  --enable-odbc  \
  --with-CXX

The box passes every tests except Horology.
It's wintertime here aswell, as i read in some other report.

It installs and runs nicely.

Magnus







---(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] Request for supported platforms

2002-10-27 Thread Magnus Naeslund(f)
On an rh6.2, Linux gsX 2.4.19-pre6 #4 Thu Apr 11 07:17:39 CEST 2002
alpha unknown (ev56 ruffian) i get this failure.

Should ./configure options  gmake  gmake check be the only things
i need to do?

== creating database regression ==
/home/mag/d/postgresql/postgresql-7.3b3/src/test/regress/./tmp_check/ins
tall//usr/local/pgsql/bin/pg_encoding: error in loading shared
libraries:
/home/mag/d/postgresql/postgresql-7.3b3/src/test/regress/./tmp_check/ins
tall//usr/local/pgsql/bin/pg_encoding: undefined symbol:
pg_char_to_encoding
createdb: SQL_ASCII is not a valid encoding name
pg_regress: createdb failed
gmake[2]: *** [check] Error 2
gmake[2]: Leaving directory
`/home/mag/d/postgresql/postgresql-7.3b3/src/test/regress'
gmake[1]: *** [check] Error 2
gmake[1]: Leaving directory
`/home/mag/d/postgresql/postgresql-7.3b3/src/test'
gmake: *** [check] Error 2

Magnus


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



[HACKERS] Damn slow query

2002-10-09 Thread Magnus Naeslund(f)

Hello, i've got this query that's really slow...
Figure this:

testdb= select now() ; select gid from bs where gid not in ( select x
from z2test ); select now();
  now
---
 2002-10-09 22:37:21.234627+02
(1 row)

   gid
--
 lotsa rows
(524 rows)
  now
---
 2002-10-09 23:20:53.227844+02
(1 row)

That's 45 minutes i don't wanna spend in there...
I got indexes:

testdb= \d bs_gid_idx
  Index bs_gid_idx
 Column | Type
+---
 gid| character varying(16)
 online | smallint
btree

testdb= \d z2test_x_idx;
  Index z2test_x_idx
 Column | Type
+---
 x  | character varying(16)
btree

Rowcounts are:

testdb= select count(*) from bs ; select count(*) from z2test ;
 count
---
 25376
(1 row)

 count
---
 19329
(1 row)

The bs table have many other columns besides the gid one, the z2test
table only has the x column.

How can i speed this query up?
It never scans by the indexes.
I know it's a lot of iterations anyway i do it, but this is too damn
slow.

I can't profile anything at this box, because it's in production state,
but if you really want me to, i'll do it tomorrow on another box.

Magnus

--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 Programmer/Networker [|] Magnus Naeslund
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


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



Re: [HACKERS] Damn slow query

2002-10-09 Thread Magnus Naeslund(f)

Bruce Momjian [EMAIL PROTECTED] wrote:

 We already have a TODO item:

 * Allow Subplans to use efficient joins(hash, merge) with upper
 variable

Cool.
One thing to note here is that the JOIN query that Joe suggested is both
faster than the subselect thing (no suprise) but also don't care if
z2test has an index on it or not.
The subselect query started taking huge amount of time again if i
dropped the z2test_x_idx ...

So if the todo could somehow figure out that that subselect should be an
JOIN instead of an NOT EXISTS query, that would be great, because the
index on z2test isn't that super-obvious (i think, because i know the
data is tiny).

Magnus

--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 Programmer/Networker [|] Magnus Naeslund
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


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



[HACKERS] Vacuum from within a function crashes backend

2002-09-28 Thread Magnus Naeslund(f)

Hello, 

I did a vacuum from within a function, and it went sig11 on me.
Is it illegal to do that?

The function:

drop function xorder1_cleanup();
create function xorder1_cleanup() RETURNS integer AS '
declare
 x record;
 c integer;
begin
   c:=0;
   FOR x IN SELECT order_id,count(*) as cnt FROM xorder1_updates group by order_id LOOP
 if x.cnt  1 then
   c:=c+x.cnt;   
   delete from xorder1_updates where order_id = x.order_id;
   insert into xorder1_updates(order_id) values (x.order_id);
 end if;
   END LOOP;
   execute ''vacuum full analyse xorder1_updates;'';
   return c;
end;
' LANGUAGE 'plpgsql';


Magnus

-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 Programmer/Networker [|] Magnus Naeslund
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

---(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] Vacuum from within a function crashes backend

2002-09-28 Thread Magnus Naeslund(f)

Alvaro Herrera [EMAIL PROTECTED] wrote:
 Magnus Naeslund(f) dijo:
 
 Hello,
 
 I did a vacuum from within a function, and it went sig11 on me.
 Is it illegal to do that?
 
 Huh...  what version is this?  In current sources, VACUUM cannot be
 run inside a function (it will throw an ERROR).  In 7.2[.1] I see
 there is no protection against this.
 
 Maybe the fix for this should be backported to 7.2 also.

Argh!
Sorry i forgot the version, it's as you say 7.2.1..
Then i'll just not do that :)

Magnus

-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 Programmer/Networker [|] Magnus Naeslund
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

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



[HACKERS] The rh7.3 time errors

2002-09-28 Thread Magnus Naeslund(f)

Was there a workaround for the errors in time handling for rh7.3 dist?

I get there regression failures:
 abstime  ... FAILED
 tinterval... FAILED
test horology ... FAILED

I remember the discussion about old dates, but not if there was any fix for it...

Magnus

-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 Programmer/Networker [|] Magnus Naeslund
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

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

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



Re: [HACKERS] The rh7.3 time errors

2002-09-28 Thread Magnus Naeslund(f)

Joe Conway [EMAIL PROTECTED] wrote:
 Magnus Naeslund(f) wrote:
 Was there a workaround for the errors in time handling for rh7.3
 dist? 
 
 I get there regression failures:
  abstime  ... FAILED
  tinterval... FAILED
 test horology ... FAILED
 
 I remember the discussion about old dates, but not if there was any
 fix for it... 
 
 
 Tom fixed this just before we went into beta. Are you using a recent
 snapshot? 
 
 Joe

As usual, i never remember to supply version information.
I'm using latest stable, 7.2.2.
Is there a quick workaround for this version, or must there be code ?

Magnus

-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 Programmer/Networker [|] Magnus Naeslund
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Magnus

---(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] The rh7.3 time errors

2002-09-28 Thread Magnus Naeslund(f)

Bruce Momjian [EMAIL PROTECTED] wrote:
 
 The change was to use localtime() rather than mktime() in the code.
 There is no workaround available for 7.2.X, and I don't see that
 anyone backpatched it to 7.2 CVS.  However, we are considering a
 7.2.3 and a backpatch of that fix may be worthwhile.
 

That would be excellent, because it feels awkward installing stuff that doesn't pass 
the regression tests, as all our new linux boxes will be rh7.3.
But right now in our apps we're not relying on the time being right (isn't that the 
issue?) only the years...

If it's a simple fix, i think we should include that in the next 7.2.X .

Magnus

-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 Programmer/Networker [|] Magnus Naeslund
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

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

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



[HACKERS] [ANNOUNCE] PQNotify java listen / notify hack

2002-09-26 Thread Magnus Naeslund(f)

... And maybe i should attach the code aswell :)

I'm not subscribed to pgsql-jdbc or pgsql-announce, so please CC me if your 
responding...

Magnus

-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 Programmer/Networker [|] Magnus Naeslund
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


PGNotify-0.1.tar.gz
Description: GNU Zip compressed data


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



[HACKERS] [PATCH] Win32 native fixes after SSL updates (+more)

2002-07-18 Thread Magnus Naeslund(f)

Hello, i noticed that win32 native stopped working/compiling after the SSL merge.
So i took the opportunity to fix some stuff:

1. Made the thing compile (typos  needed definitions) with the new pqsecure_* stuff, 
and added fe-secure.c to the win32.mak makefile.
2. Fixed some MULTIBYTE compile errors (when building without MB support).
3. Made it do that you can build with debug info: nmake -f win32.mak DEBUG=1.
4. Misc small compiler speedup changes.

The resulting .dll has been tested in production, and everything seems ok.
I CC:ed -hackers because i'm not sure about two things:

1. In libpq-int.h I typedef ssize_t as an int because Visual C (v6.0) doesn't define 
ssize_t. Is that ok, or is there any standard about what type should be used for 
ssize_t? 

2. To keep the .dll api consistent regarding MULTIBYTE I just return -1 in 
fe-connect.c:PQsetClientEncoding() instead of taking away the whole function. I wonder 
if i should do any compares with the conn-client_encoding and return 0 if nothing 
would have changed (if so how do i check that?).

Regards

Magnus Naeslund

-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 Programmer/Networker [|] Magnus Naeslund
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-



pgsql_win32.cleanups.1.diff
Description: Binary data


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



Re: [HACKERS] Redhat 7.3 time manipulation bug

2002-05-22 Thread Magnus Naeslund(f)

Tom Lane [EMAIL PROTECTED] wrote:
[snip]
 
 Exactly how much work (and code bulk) would we be taking on?  I've
 never looked at how big the timezone databases are...
 

Some answers on database sizes, if this is any help...
I did du -sh /usr/share/zoneinfo/ on them all.

OpenBSD 3.1, sparc64:
1.3M/usr/share/zoneinfo/

Linux, i686, oldish mandrake (6.x?), glibc 2.1.3:
478k/usr/share/zoneinfo

Linux, i686, newish redhat 7.2, glibc 2.2.4:
4.9M/usr/share/zoneinfo

Linux, alpha EV56, oldish redhat 6.2, glibc 2.1.3
1.4M/usr/share/zoneinfo

 regards, tom lane

Magnus

-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 Programmer/Networker [|] Magnus Naeslund
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


---(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] WIN32 native ... lets start?!?

2002-05-16 Thread Magnus Naeslund(f)


 On Thu, 2002-05-16 at 13:47, Joerg Hessdoerfer wrote:
  So, my route would be to get it to run *somehow* without paying
  attention to speed and not to change much of the existing code,
  THEN see how we could get rid of fork() on windows.
 

What is the biggest problem here?
The Shmem/IPC stuff, or the fork() stuff?
I'm think that we could do a fork() implementation in usermode by copying the memory 
allocations.
How fast that would be regarding the context switches, i don't know, but i'm willing 
to experiment some to see how feesible this is...

Anyone tried this before?

Magnus


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



Re: [HACKERS] Problem with restoring a 7.1 dump

2002-05-01 Thread Magnus Naeslund(f)

Christopher Kings-Lynne [EMAIL PROTECTED] wrote:
[snap]
 How do I get this to work?

 Chris


I think i did this:

CREATE FUNCTION plpgsql_call_handler () RETURNS opaque AS
'/usr/local/pgsql/lib/plpgsql.so', 'plpgsql_call_handler' LANGUAGE 'C';
CREATE TRUSTED PROCEDURAL LANGUAGE 'plpgsql' HANDLER
plpgsql_call_handler LANCOMPILER 'PL/pgSQL';

This might be in the docs also.
Try it :)

Regards,
Magnus


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

http://archives.postgresql.org



[HACKERS] [PATCH] Win32 errno a little bit safer

2001-08-23 Thread Magnus Naeslund\(f\)

Hello, i just reviewed the win32 errno patch and i saw that maybe i didn't
really played it totally safe in my last suggestion, the system table might
pick up the msg but not the netmsg.dll, so better try both.
I also added a hex printout of the errno appended to all messages, that's
nicer.

If anyone hate my coding style, or that i'm using goto constructs, just tell
me, and i'll rework it into a nested if () thing.

Patch attached.

Magnus

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 Programmer/Networker [|] Magnus Naeslund
 PGP Key: http://www.genline.nu/mag_pgp.txt
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-



Index: fe-misc.c
===
RCS file: /home/projects/pgsql/cvsroot/pgsql/src/interfaces/libpq/fe-misc.c,v
retrieving revision 1.54
diff -u -r1.54 fe-misc.c
--- fe-misc.c   2001/08/21 20:39:54 1.54
+++ fe-misc.c   2001/08/23 21:12:07
@@ -855,23 +855,46 @@
 #ifdef WIN32
 /*
  * strerror replacement for windows:
+ *
+ * We dont't know a fix for win9x yet, but this whould work for nt4 and win2k.
+ * If you can verify this working on win9x or have a solution, let us know, ok?
+ *
  */
 const char*
 winsock_strerror(DWORD eno)
 {
-   if (!FormatMessage( 
-   FORMAT_MESSAGE_IGNORE_INSERTS |
-FORMAT_MESSAGE_FROM_SYSTEM | /* always consider system table */
-((netmsgModule != NULL) ? FORMAT_MESSAGE_FROM_HMODULE : 0),
-netmsgModule, /* module to get message from (NULL == system) */
-   eno,
-MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
-winsock_strerror_buf,sizeof(winsock_strerror_buf)-1,
-NULL
-   )){
-  sprintf(winsock_strerror_buf,Unknown socket error(%u),eno);
-}
-winsock_strerror_buf[sizeof(winsock_strerror_buf)-1]='\0';
-return winsock_strerror_buf;
+  #define WSSE_MAXLEN (sizeof(winsock_strerror_buf)-1-12) /* 12 == (0x) */
+  int length;
+
+  /* First try the system table, this works on Win2k pro */
+
+  if (FormatMessage(
+  FORMAT_MESSAGE_IGNORE_INSERTS|FORMAT_MESSAGE_FROM_SYSTEM,
+  0,eno,MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
+  winsock_strerror_buf,WSSE_MAXLEN,NULL
+))
+goto WSSE_GOODEXIT;
+
+  /* That didn't work, let's try the netmsg.dll */
+
+  if (netmsgModule  
+  FormatMessage(
+  FORMAT_MESSAGE_IGNORE_INSERTS|FORMAT_MESSAGE_FROM_HMODULE,
+  0,eno,MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
+  winsock_strerror_buf,WSSE_MAXLEN,NULL 
+  ))
+goto WSSE_GOODEXIT;
+
+  /* Everything failed, just tell the user that we don't know the desc */
+  
+  strcat(winsock_strerror_buf,Socket error, no description available.);
+
+WSSE_GOODEXIT:
+
+  length = strlen(winsock_strerror_buf);
+  sprintf(winsock_strerror_buf + lengthWSSE_MAXLEN?length:WSSE_MAXLEN,
+ (0x%08X),eno);
+
+  return winsock_strerror_buf;
 }
 #endif



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

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



Fw: [PATCHES] Re: [HACKERS] Re: WIN32 errno patch

2001-08-17 Thread Magnus Naeslund\(f\)

As usual i didn't cc the list :)

Magnus
- Original Message - 
From: Magnus Naeslund(f) [EMAIL PROTECTED]
To: Tom Lane [EMAIL PROTECTED]
Sent: Friday, August 17, 2001 6:55 PM
Subject: Re: [PATCHES] Re: [HACKERS] Re: WIN32 errno patch 


 From: Tom Lane [EMAIL PROTECTED]
 [snip]
  FWIW, Magnus says this works:
 
  #define SOCK_STRERROR my_sock_strerror
 
 [snip]
 
 
  Anyone have any objections to it?
 
  regards, tom lane
 
 
 I can make that patch if you'd like, but i need to know what i should be
 working on (right from CVS?).
 In what context is it? (the libpq lib maybe).
 And how to test it :)
 
 I can do the legwork.
 
 Magnus
 
 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  Programmer/Networker [|] Magnus Naeslund
  PGP Key: http://www.genline.nu/mag_pgp.txt
 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 
 


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

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



[HACKERS] Vacuum errors

2001-07-12 Thread Magnus Naeslund\(f\)

One day i found these in my logs, and the vacuum process hung, effectively
locking everybody out of some tables...
Version 7.1.2

VACUUM  ANALYZE
NOTICE:  RegisterSharedInvalid: SI buffer overflow
NOTICE:  InvalidateSharedInvalid: cache state reset

It was sleeping in semop().

Any ideas, or fixes is welcome...

cheers

Magnus

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 Programmer/Networker [|] Magnus Naeslund
 PGP Key: http://www.genline.nu/mag_pgp.txt
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-



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



[HACKERS] vacuumdb -a -z hangs

2001-06-06 Thread Magnus Naeslund\(f\)

I have a cronjob that does a vacuumdb -a -z every night.
When i came to work this morning i saw a lot of postgres processes hanging
on wait.

The last thing i see before it hangs is this:

-
NOTICE:  --Relation pg_toast_1216--
NOTICE:  Pages 0: Changed 0, reaped 0, Empty 0, New 0; Tup 0: Vac 0,
Keep/VTL 0/0, Crash 0, UnUsed 0, MinLen 0, MaxLen 0; Re-using: Free/Avail.
Space 0/0; EndEmpty/Avail. Pages 0/0. CPU 0.00s/0.00u sec.
NOTICE:  Index pg_toast_1216_idx: Pages 1; Tuples 0. CPU 0.00s/0.00u sec.
NOTICE:  Analyzing...
-

is this a known problem?
Postgres is version 7.1.1.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 Programmer/Networker [|] Magnus Naeslund
 PGP Key: http://www.genline.nu/mag_pgp.txt
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-



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



[HACKERS] Not scanning by index

2001-05-03 Thread Magnus Naeslund\(f\)

I have a table:

create table forsamling (
id  SERIAL,
for_id  int4 unique not null,
kund_flag   int8 not null default 1,
online  smallint default 0,
klarsmallint default 0,
);

create index forsamling_idx on forsamling(for_id,online,klar,kund_flag);

It has about 1000 entries in this table...

Why doesn't it go by indexes when i search the smallints and int8s, but it
works with the integer SERIAL (SERIAL creates it's own index)?

What can i do to make it go by index?

/Magnus

explain select * from forsamling where klar = 1;
NOTICE:  QUERY PLAN:

Seq Scan on forsamling  (cost=0.00..23.50 rows=1 width=88)

-

explain select * from forsamling where kund_flag = 123;
NOTICE:  QUERY PLAN:

Seq Scan on forsamling  (cost=0.00..23.50 rows=1 width=88)


-

explain select * from forsamling where for_id = 123;
NOTICE:  QUERY PLAN:

Index Scan using forsamling_idx on forsamling  (cost=0.00..2.01 rows=1
width=88)


-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 Programmer/Networker [|] Magnus Naeslund
 PGP Key: http://www.genline.nu/mag_pgp.txt
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-



---(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] PQftype()

2001-04-30 Thread Magnus Naeslund\(f\)

From: Tom Lane [EMAIL PROTECTED]
 Magnus Naeslund\(f\) [EMAIL PROTECTED] writes:
  Where do get a listing of what PQftype() can return to me?
 
 select oid, typname from pg_type
 
 regards, tom lane

Does these change often?
Or could i do like the ODBC driver, autogenerate a .h out of that table.

Magnus

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 Programmer/Networker [|] Magnus Naeslund
 PGP Key: http://www.genline.nu/mag_pgp.txt
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-



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

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



Re: [HACKERS] PQftype()

2001-04-30 Thread Magnus Naeslund\(f\)

From: Tom Lane [EMAIL PROTECTED]
[snip]

 The system type OIDs are stable.  User-defined types would probably have
 a new OID after a dump and reload.

  Or could i do like the ODBC driver, autogenerate a .h out of that table.

 I would not recommend relying on compiled-in OID knowledge for any types
 other than the system-defined datatypes.  If you expect to have to deal
 with user-defined types, it's best to cache the results of pg_type
 lookups at the client end.  You need not worry about OIDs changing
 during a single client connection.

 regards, tom lane


Ok, then i can use static thing for my application (for now atleast).
Thanks..

Magnus


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



[HACKERS] 7.1 vacuum

2001-04-26 Thread Magnus Naeslund\(f\)

How does 7.1 work now with the vacuum and all?

Does it go for indexes by default, even when i haven't run a vacuum at all?
Does vacuum lock up postgres? It says the analyze part shouldn't, but how's
that for all of the vacuum?

An 7.0.3 db we have here we are forced to run vacuum every hour to get an
acceptable speed, and while doing that vacuum (5-10 minutes) it totaly
blocks our application that's mucking with the db.

Just curious

Magnus Naeslund




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

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



Re: [HACKERS] PostgreSQL pre-7.1 Linux/Alpha Status...

2000-12-20 Thread Magnus Naeslund\(f\)

From: "Ryan Kirkpatrick" [EMAIL PROTECTED]
 On Sat, 16 Dec 2000, Bruce Momjian wrote:
 
  Here is the list of features in 7.1.
 
 One thing that I think ought to be added is that with 7.1,
 PostgreSQL will compile out of the box (i.e. without any extra patches)
 for Linux/Alpha.

What patches do one need for compiling say 7.0.3 with alpha linux?
Is it some kind of semaphore patch (i get those evil errors).

Magnus Naeslund

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 Programmer/Networker [|] Magnus Naeslund
 PGP Key: http://www.genline.nu/mag_pgp.txt
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-





Re: [HACKERS] beta testing version

2000-12-02 Thread Magnus Naeslund\(f\)

From: "Nathan Myers" [EMAIL PROTECTED]
 On Thu, Nov 30, 2000 at 07:02:01PM -0400, The Hermit Hacker wrote:
 
[snip]
 The logging in 7.1 protects transactions against many sources of
 database crash, but not necessarily against OS crash, and certainly
 not against power failure.  (You might get lucky, or you might just
 think you were lucky.)  This is the same as for most databases; an
 embedded database that talks directly to the hardware might be able
 to do better.


If PG had a type of tree based logging filesystem, that it self handles,
wouldn't that be almost perfectly safe? I mean that you might lose some data
in an transaction, but the client never gets an OK anyways...
Like a combination of raw block io and tux2 like fs.
Doesn't Oracle do it's own block io, no?

Magnus

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 Programmer/Networker [|] Magnus Naeslund
 PGP Key: http://www.genline.nu/mag_pgp.txt
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-







Re: [HACKERS] beta testing version

2000-11-29 Thread Magnus Naeslund\(f\)

I don't have the same luck, sorry to say!

I am running Mandrake linux with OpenWall patched 2.2.17 kernel, dual p3
550Mhz, 1gb memory.
It's a really busy webserver that constantly is running with 10 in load.
Sometime it spikes to ~40-50 in load (the most we had was 114(!)).
I am running postgresql 7.0.2 (from the Mandrake rpm's).

One problem i have is that in one database we rapidly insert/delete in some
tables, and to maintain a good performance on that db, i have to run a
vacuum every hour(!).
I think that db has excessive indexes all over the place (if that could have
anything to do with it?).

Another other problem that is more severe is that the database "crashes"
(read: stops working), if i run psql and do a select it says
"001129.07:04:15.688 [25474] FATAL 1:  Memory exhausted in AllocSetAlloc()"
and fails.
I have a cron script that watches postgres, and restarts it if it cant get a
select right.
It fails this way maybe once a day or two days.
I've searched the mailinglist archives for this problem, but it allways
seems that my problem doesn't fit the descriptions of the other ppl's
problem generating this error message.

I have not found the right time to upgrade to 7.0.3 yet, and i don't know if
that would solve anything.

Another problem i have is that i get "001128.12:58:01.248 [23444] FATAL 1:
Socket command type  unknown" in my logs. I don't know if i get that from
the unix odbc driver, the remote windows odbc driver, or in unix standard db
connections.

I get "pq_recvbuf: unexpected EOF on client connection" alot too, but that i
think only indicates that the socket was closed in a not-so-nice way, and
that it is no "real" error.
It seems that the psql windows odbc driver is generating this.

The postmaster is running with these parameters: "-N 512 -B 1024 -i -o -S
4096"

But as a happy note i can tell you that we have a Linux box here (pentium
100, kernel 2.0.3x) that has near 1000 days uptime, and runs postgres 6.5.x.
It has never failed, not even a single time :)

Magnus Naeslund

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 Programmer/Networker [|] Magnus Naeslund
 PGP Key: http://www.genline.nu/mag_pgp.txt
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-


- Original Message -
From: "Mitch Vincent" [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Tuesday, November 28, 2000 19:12
Subject: Re: [HACKERS] beta testing version


 This is one of the not-so-stomped boxes running PostgreSQL -- I've never
 restarted PostgreSQL on it since it was installed.

 12:03pm  up 122 days,  7:54,  1 user,  load average: 0.08, 0.11, 0.09

 I had some index corruption problems in 6.5.3 but since 7.0.X I haven't
 heard so much as a peep from any PostgreSQL backend. It's superbly stable
on
 all my machines..

 Damn good work guys.

 -Mitch

 - Original Message -
 From: "The Hermit Hacker" [EMAIL PROTECTED]
 To: "Hannu Krosing" [EMAIL PROTECTED]
 Cc: "xuyifeng" [EMAIL PROTECTED]; [EMAIL PROTECTED];
 "Don Baccus" [EMAIL PROTECTED]
 Sent: Tuesday, November 28, 2000 8:53 AM
 Subject: Re: [HACKERS] beta testing version


  On Tue, 28 Nov 2000, Hannu Krosing wrote:
 
   xuyifeng wrote:
   
  
   I just noticed this conversation so I have not followed all of it,
   but you seem to have strange priorities
  
I just want PG can be improved quickly, for me crash recover is very
 urgent problem,
  
   Crash avoidance is usually much more urgent, at least on production
   servers.
 
  Good call, but I kinda jumped to the conclusion that since PgSQL itself
  isn't that crash prone, its his OS or his hardware that was the problem
:0