Re: [GENERAL] FoxPro in WINE to Postgresql on LINUX?

2005-10-31 Thread Andrus
I have found that using SPT to send a simple rollback like SQLEXEC('ROLLBACK') causes C5 error in VFP. William Yu [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] Andrus wrote: Can you use Postgres savepoints from VFP ? sqlexec('ROLLBACK TO mysavepoint') and even

Re: [GENERAL] Why database is corrupted after re-booting

2005-10-31 Thread Andrus
Coming late into the discussion, there is one more note I'd add to this - if you're on windows and want to be extra secure, also set wal_sync_method=fsync_writethrough. This will get it through most (I would say all if I was sure, but I'm not) IDE disks that lie about write completion.

[GENERAL] Help pls with UPDATE

2005-10-31 Thread go KEY802207
Hi, pgsql-general. Tell me please, how to update a set of rows using order- something like : update my_table set counter1=nextval('my_seq') order by counter2 ; -- Regards, Igor mailto:[EMAIL PROTECTED] ---(end of

Re: [GENERAL] Starting PostgreSQL 8.0.4 with more memory [FreeBSD

2005-10-31 Thread Simon Riggs
On Sun, 2005-10-30 at 23:08 -0500, Tom Lane wrote: Vlad [EMAIL PROTECTED] writes: I'm looking for some help in regards to letting Posresql use more memory. 8.0 can't go past 2Gb of shared memory, and there is really no reason to try because its performance will get worse not better with

Re: [GENERAL] Starting PostgreSQL 8.0.4 with more memory [FreeBSD

2005-10-31 Thread Martijn van Oosterhout
On Mon, Oct 31, 2005 at 12:16:59PM +, Simon Riggs wrote: 8.0 can't go past 2Gb of shared memory, and there is really no reason to try because its performance will get worse not better with more than about 5 shared buffers. Unless you turn off the bgwriter, in which case going

Re: [GENERAL] Starting PostgreSQL 8.0.4 with more memory [FreeBSD

2005-10-31 Thread Simon Riggs
On Mon, 2005-10-31 at 14:14 +0100, Martijn van Oosterhout wrote: On Mon, Oct 31, 2005 at 12:16:59PM +, Simon Riggs wrote: 8.0 can't go past 2Gb of shared memory, and there is really no reason to try because its performance will get worse not better with more than about 5 shared

Re: [GENERAL] Updating within Triggers

2005-10-31 Thread Jerry Sievers
Jamie Deppeler [EMAIL PROTECTED] writes: Hi trying to wtite a trigger to update summary fields in a seperate table to do this i am planning on using trigger. problem i have at the moment the update trigger doesnt seem to be fireing but the insert works. Trigger CREATE TRIGGER

Re: [GENERAL] Starting PostgreSQL 8.0.4 with more memory [FreeBSD

2005-10-31 Thread Vlad
Anyway, the original writer didn't specify an architechure. If it is a 32bit one it is entirly possible that the memory map simply has no large contiguous space to map the shared memory. it's 32bit. The actual problem of giving more buffers to postgresql was solved with the help of the

Re: [GENERAL] Starting PostgreSQL 8.0.4 with more memory [FreeBSD

2005-10-31 Thread Tom Lane
Simon Riggs [EMAIL PROTECTED] writes: On Mon, 2005-10-31 at 14:14 +0100, Martijn van Oosterhout wrote: On Mon, Oct 31, 2005 at 12:16:59PM +, Simon Riggs wrote: I'm not sure we have any good tests of that either way, do we? I'm not certain why we would trust OS cache any more than we could

Re: [GENERAL] Starting PostgreSQL 8.0.4 with more memory [FreeBSD

2005-10-31 Thread Martijn van Oosterhout
On Mon, Oct 31, 2005 at 01:34:12PM +, Simon Riggs wrote: Secondly, you're assuming that PostgreSQLs caching is at least as efficient as the OS caching, which is more of an assertion than anything else. Do you doubt that? Why would shared_buffers be variable otherwise? Because the

Re: [GENERAL] Starting PostgreSQL 8.0.4 with more memory [FreeBSD

2005-10-31 Thread Tom Lane
Martijn van Oosterhout kleptog@svana.org writes: There have been tests that demonstrate that you can raise the buffers to a certain point which is optimal and after that it just doesn't help [1]. They peg optimal size at 5-10% of memory. [1]

Re: [GENERAL] Starting PostgreSQL 8.0.4 with more memory [FreeBSD

2005-10-31 Thread Martijn van Oosterhout
On Mon, Oct 31, 2005 at 09:54:39AM -0500, Tom Lane wrote: Note however that it's reasonable to think that 8.1 may do better than 8.0 did at performing well with large values of shared_buffers, primarily because we got rid of the StrategyDirtyBufferList overhead:

Re: [GENERAL] Oracle 10g Express - any danger for Postgres?

2005-10-31 Thread Richard_D_Levine
Highlights from the license: My thoughts. This is not free, not even as in beer. Only good for a year. No production use (which is more restrictive than no commercial use. IANAL) You have to pay when they release it. Quotes (with my bolding) grants to you a no-charge trial license to use

Re: [GENERAL] Installation trouble -- oops

2005-10-31 Thread Steve Crawford
On Saturday 29 October 2005 22:33, Tom Lane wrote: Steve Crawford [EMAIL PROTECTED] writes: Is postgresql (or some parts thereof) now using relative pathing and has that behavior changed? As of 8.0 we attempt to determine the libdir, sharedir etc as relative to the location of the

Re: [GENERAL] Oracle 10g Express - any danger for Postgres?

2005-10-31 Thread Wes Williams
I presume this thread was all brought about by the /. article http://developers.slashdot.org/article.pl?sid=05/10/31/0659254tid=221tid=1 87 According to the link provided in the /. article (http://news.zdnet.com/2100-3513_22-5920796.html), Oracle has *proposed* a free version by year end.

Re: [GENERAL] Oracle 10g Express - any danger for Postgres?

2005-10-31 Thread Alex Turner
I assume they are probably thinking of a free for non-commercial use, which is great and all, but I assume that like the majority of folks here, I am using postgres very much for commercial use, and not just to run my personal website! So I would say it's not a big deal, infact it's not even a

Re: [GENERAL] function that resolves IP addresses

2005-10-31 Thread Dennis Jenkins
--- Joshua D. Drake [EMAIL PROTECTED] wrote: It is not fully debugged, but this is what I wrote a few months ago for sh*ts and grins. /* djenkins, 2005-7-22 Implements poor-man's reverse DNS lookup tool for use in Postgresql SQL functions. CREATE FUNCTION

Re: [GENERAL] mysql replace in postgreSQL?

2005-10-31 Thread Lincoln Yeoh
At 08:24 AM 10/30/2005 -0800, David Fetter wrote: http://developer.postgresql.org/docs/postgres/plpgsql-control-structure s.html#PLPGSQL-ERROR-TRAPPING Erm, doesn't it have the same race conditions? No, don't believe it does. Have you found some? Depends on how you do things. As I

Re: [GENERAL] Oracle 10g Express - any danger for Postgres?

2005-10-31 Thread Wes Williams
Perhaps I'm the only one to actually have read the article? Oracle 10g Express Edition HAS been available for free for development purposes with the previously posted and reviewed limited licenses for quite some time now. The news the zdnet.com article is reporting suggests Oracle WILL, by years

Re: [GENERAL] Please HELP - URGENT - transaction wraparound error

2005-10-31 Thread John Sidney-Woollett
Lincoln Yeoh said: At 07:48 PM 10/30/2005 +, John Sidney-Woollett wrote: Panic - that's my middle name. ;) Had I known how to identify the database at fault, and that it would have had no effect on the other databases, then I would have handled this episode differently. Wonder if it would

Re: [GENERAL] Oracle 10g Express - any danger for Postgres?

2005-10-31 Thread Richard_D_Levine
[EMAIL PROTECTED] wrote on 10/31/2005 12:02:07 PM: Perhaps I'm the only one to actually have read the article? Okay, yeah. I went straight for the license. I have now read the article and agree with you. ---(end of broadcast)--- TIP 5: don't

[GENERAL] Re: [GENERAL] Sorting problems with SELECT * FROM table WHERE name LIKE 'Ö %'

2005-10-31 Thread Nico Grubert
I have a problem when sorting records with: SELECT * FROM table WHERE name LIKE 'Ö%' I am running Postgres 8.02 with a database whose character encoding is UNICODE. The SQL Query SELECT * FROM member WHERE name LIKE 'O%' OR name like 'Ö%' ORDER BY name

[GENERAL] SQL injection

2005-10-31 Thread Yonatan Ben-Nes
Hi all, I'm currently trying to build a defence against SQL INJECTION, after reading some material on it I arrived to few possible solutions and I would like to know if anyone can comment anything about them or maybe add a solution of its own: 1. PachyRand: SQL Randomization for the

[GENERAL] replace() and Regular Expressions

2005-10-31 Thread DEV
Is is possible to use replace along with regular _expression_ to remove any and all punctuation from a field? If so how? I have tried: SELECT replace ('Brian\'s Co, INC.', 'Y*([.]',''),SUBSTRING('XY1234Z', 'Y*([0-9]{1,3})'); The second field substring works with out a problem the

Re: [GENERAL] SQL injection

2005-10-31 Thread Alex Turner
I don't know too much about this solutions, but It always seemed to me that simple numeric validation plus magic-quotes will work just fine. Simply validate any numeric input (or you can just quote it with postgresql, and postgres will do it for you), and auto-escape any string inputs

Re: [GENERAL] SQL injection

2005-10-31 Thread Ben
Maybe I'm not very creative, but it sure seems to me that if you escape your strings, make sure your numbers are numbers, and your booleans are actually booleans, then you're protected On Mon, 31 Oct 2005, Yonatan Ben-Nes wrote: Any new ideas or comments will be received gladly.

Re: [GENERAL] SQL injection

2005-10-31 Thread Dan Sugalski
At 7:54 PM +0200 10/31/05, Yonatan Ben-Nes wrote: Hi all, I'm currently trying to build a defence against SQL INJECTION, after reading some material on it I arrived to few possible solutions and I would like to know if anyone can comment anything about them or maybe add a solution of its

Re: [GENERAL] Installation trouble

2005-10-31 Thread Steve Crawford
On Monday 31 October 2005 08:00, Steve Crawford wrote: ... believe symlinking the executables will work fine though (ie, we look through the symlink before doing the relative-path calculation). Yes, the symlinking did appear to work fine. Thanks for the confirmation that it is an acceptable

Re: [GENERAL] replace() and Regular Expressions

2005-10-31 Thread A. Kretschmer
am 31.10.2005, um 13:11:20 -0500 mailte DEV folgendes: Is is possible to use replace along with regular expression to remove any and all punctuation from a field? Which version? PG 8.1 have a function 'regex_replace'. HTH, Andreas -- Andreas Kretschmer(Kontakt: siehe Header) Heynitz:

Re: [GENERAL] Please HELP - URGENT - transaction wraparound error

2005-10-31 Thread Martijn van Oosterhout
On Mon, Oct 31, 2005 at 05:27:15PM -, John Sidney-Woollett wrote: Wonder if it would be a good idea for the error messages to identify which databases might have lost data. However if you have a fair number of databases involved you might get a fair number of log messages. Still, I

Re: [GENERAL] Starting PostgreSQL 8.0.4 with more memory [FreeBSD

2005-10-31 Thread Simon Riggs
On Mon, 2005-10-31 at 09:35 -0500, Tom Lane wrote: Simon Riggs [EMAIL PROTECTED] writes: On Mon, 2005-10-31 at 14:14 +0100, Martijn van Oosterhout wrote: On Mon, Oct 31, 2005 at 12:16:59PM +, Simon Riggs wrote: I'm not sure we have any good tests of that either way, do we? I'm not

Re: [GENERAL] Oracle 10g Express - any danger for Postgres?

2005-10-31 Thread Chris Browne
[EMAIL PROTECTED] (Wes Williams) writes: Perhaps I'm the only one to actually have read the article? Oracle 10g Express Edition HAS been available for free for development purposes with the previously posted and reviewed limited licenses for quite some time now. The news the zdnet.com

Re: [GENERAL] Starting PostgreSQL 8.0.4 with more memory [FreeBSD

2005-10-31 Thread Tom Lane
Simon Riggs [EMAIL PROTECTED] writes: On Mon, 2005-10-31 at 09:35 -0500, Tom Lane wrote: The real point is that RAM dedicated to shared buffers can't be used for anything else [1], whereas letting the kernel manage it gives you some flexibility (for instance, to deal with transient large

Re: [GENERAL] Oracle 10g Express - any danger for Postgres?

2005-10-31 Thread Richard_D_Levine
[EMAIL PROTECTED] wrote on 10/31/2005 01:14:57 PM: snip And I daresay that this _can_ be an attractive thing to businesses, supposing they offer a production release, gratis. snip True, as long as there is no license clause for future revocation of the free license at the vendor's whim.

[GENERAL] vacuuming strangeness

2005-10-31 Thread Joe Maldonado
Hello all, I am currently experiencing some strange behaviour when vacuuming an active table. This table is constantly being updated by one process which gets a new connection every time it updates the table. There is a second process which is selecting from this table, also aquiring a new

Re: [GENERAL] SQL injection

2005-10-31 Thread MaXX
Hi, Yonatan Ben-Nes wrote: Hi all, I'm currently trying to build a defence against SQL INJECTION, after reading some material on it I arrived to few possible solutions and I would like to know if anyone can comment anything about them or maybe add a solution of its own: [...] If you're

Re: [GENERAL] Oracle 10g Express - any danger for Postgres?

2005-10-31 Thread Wes Williams
Precisely the point I was trying to make sure everyone would understand clearly. Although I don't have a copy of Oracle's suspected new license, if it is close to the existing license verbiage, even though it is crippled by having certain hardware and software limits, those limits are per

[GENERAL] Partitioning attempts

2005-10-31 Thread Mikael Carneholm
Hi, I did a partially successful attempt at creating a partitioned table + two subpartitions in Pg8.1b inspired by the method used by Bizgres (see http://www.bizgres.org/assets/docs/html/tblpartn.htm) I.e: CREATE TABLE parttest.mastertab ( id serial not null, datecol date not null,

Re: [GENERAL] vacuuming strangeness

2005-10-31 Thread Tom Lane
Joe Maldonado [EMAIL PROTECTED] writes: The VACUUM process does not seem to be able to exit, instead it seems to be stuck in some strange loop for some time. Is this something to be expected? That trace looks perfectly normal. Try increasing vacuum_mem if you want fewer tuple-removal cycles.

Re: [GENERAL] Re: [GENERAL] Sorting problems with SELECT * FROM

2005-10-31 Thread Daniel Verite
Nico Grubert wrote: Ah, I found it: lc_collate: [EMAIL PROTECTED] lc_ctype: [EMAIL PROTECTED] This is an iso-8859-15 locale, isn't it? If your database encoding is UNICODE, I believe you'd have more success using an UTF8 locale, such as de_DE.UTF-8 in your case. -- Daniel

Re: [GENERAL] Partitioning attempts

2005-10-31 Thread Simon Riggs
On Mon, 2005-10-31 at 21:02 +0100, Mikael Carneholm wrote: So far so good. Now, the part where it fails to be useful (performance wise) is when you want to make sure a select query only scans the relevant partition(s), as it's not possible to create a conditional SELECT rule using an

Re: [GENERAL] Starting PostgreSQL 8.0.4 with more memory [FreeBSD

2005-10-31 Thread Scott Marlowe
On Mon, 2005-10-31 at 10:58, Simon Riggs wrote: On Mon, 2005-10-31 at 15:44 +0100, Martijn van Oosterhout wrote: On Mon, Oct 31, 2005 at 01:34:12PM +, Simon Riggs wrote: Secondly, you're assuming that PostgreSQLs caching is at least as efficient as the OS caching, which is more of

Re: [GENERAL] Installation trouble

2005-10-31 Thread Tom Lane
Steve Crawford [EMAIL PROTECTED] writes: if I try to ensure the C locale I keep running up against: FATAL: XX000: failed to initialize lc_messages to We've seen a few reports of this before, but never been able to identify the cause. What platform are you running on, exactly? Did you

Re: [GENERAL] SQL injection

2005-10-31 Thread Alex Turner
Can you demonstrate a URL/attack that would constitute an injection attack that would get around magic-quotes, or provide some links to such? Alex On 10/31/05, MaXX [EMAIL PROTECTED] wrote: Hi, Yonatan Ben-Nes wrote: Hi all, I'm currently trying to build a defence against SQL INJECTION,

Re: [GENERAL] Starting PostgreSQL 8.0.4 with more memory [FreeBSD

2005-10-31 Thread Simon Riggs
On Mon, 2005-10-31 at 14:50 -0600, Scott Marlowe wrote: As I understand it, when the last backend referencing a collection of data stops referencing it, that the buffers holding that data are released, and if, a second later, another backend wants the data, then it has to go to the Kernel for

Re: [GENERAL] Starting PostgreSQL 8.0.4 with more memory [FreeBSD

2005-10-31 Thread Martijn van Oosterhout
On Mon, Oct 31, 2005 at 02:50:31PM -0600, Scott Marlowe wrote: Your point was about cache efficiency as an argument for not increasing shared_buffers. Politely, I don't accept that argument. Clearly, there are some other considerations (for which I agree completely) but those don't prevent

Re: [GENERAL] Starting PostgreSQL 8.0.4 with more memory [FreeBSD

2005-10-31 Thread Tom Lane
Scott Marlowe [EMAIL PROTECTED] writes: I was mainly wondering if that behaviour had changed, if, when the data are released, they are still held in shared memory until forced out by newer / more popular data. Which would make the buffer pool a real cache. Huh? It's always done that.

Re: [GENERAL] Starting PostgreSQL 8.0.4 with more memory [FreeBSD

2005-10-31 Thread Scott Marlowe
On Mon, 2005-10-31 at 15:44, Simon Riggs wrote: On Mon, 2005-10-31 at 14:50 -0600, Scott Marlowe wrote: As I understand it, when the last backend referencing a collection of data stops referencing it, that the buffers holding that data are released, and if, a second later, another backend

Re: [GENERAL] Partitioning attempts

2005-10-31 Thread Mikael Carneholm
Try doing a select against mastertab and you will see that it only selects from the correct partitions. Look at constraint_exclusion parameter, which needs to be set on for this to work. Ah - constraint_exclusion is the correct param, not enable_constraint_exclusion (as stated in

Re: [GENERAL] Starting PostgreSQL 8.0.4 with more memory [FreeBSD

2005-10-31 Thread Scott Marlowe
On Mon, 2005-10-31 at 16:12, Tom Lane wrote: Scott Marlowe [EMAIL PROTECTED] writes: I was mainly wondering if that behaviour had changed, if, when the data are released, they are still held in shared memory until forced out by newer / more popular data. Which would make the buffer pool a

[GENERAL] trapping errors in plpgsql?

2005-10-31 Thread CSN
I have a table like so: id|username|email with unique indices on username and email. In a plpgsql function if an insert fails because of a duplicate on one of those fields, is it possible to trap the error, figure out which unique fields it applies to, and raise a custom error message? Thanks,

Re: [GENERAL] Starting PostgreSQL 8.0.4 with more memory [FreeBSD

2005-10-31 Thread Simon Riggs
On Mon, 2005-10-31 at 14:48 -0800, Chris Travers wrote: Simon Riggs wrote: Your point was about cache efficiency as an argument for not increasing shared_buffers. Politely, I don't accept that argument. Clearly, there are some other considerations (for which I agree completely) but those

[GENERAL] insert multiple rows

2005-10-31 Thread blackwater dev
In MySQL, I can insert multiple rows like this: insert into cars values(5, toyota),(5,ford), etc. How can I do something similiar in PostgreSQL? Thanks! ---(end of broadcast)--- TIP 4: Have you searched our list archives?

Re: [GENERAL] insert multiple rows

2005-10-31 Thread David Fetter
On Mon, Oct 31, 2005 at 06:06:14PM -0500, blackwater dev wrote: In MySQL, I can insert multiple rows like this: insert into cars values(5, toyota),(5,ford), etc. How can I do something similiar in PostgreSQL? The similar thing in PostgreSQL is the COPY command (man 8 copy). HTH :)

Re: [GENERAL] Installation trouble

2005-10-31 Thread Steve Crawford
On Monday 31 October 2005 13:00, Tom Lane wrote: Steve Crawford [EMAIL PROTECTED] writes: if I try to ensure the C locale I keep running up against: FATAL: XX000: failed to initialize lc_messages to We've seen a few reports of this before, but never been able to identify the cause.

Re: [GENERAL] SQL injection

2005-10-31 Thread MaXX
Alex Turner wrote: Can you demonstrate a URL/attack that would constitute an injection attack that would get around magic-quotes, or provide some links to such? [...] Just quoting an article in Hackin9 (N°5/2005) I was just reading before writing my post (page 53, translated from french):

Re: [GENERAL] after insert or update or delete of col2

2005-10-31 Thread Rafael Montoya
I have this statement in oracle: CREATE OR REPLACE TRIGGER trig AFTER INSERT OR UPDATE OR DELETE OF column2 - Here is the doubt ON table_product FOR EACH ROW BEGIN ... END Migrating to PostgreSQL, the conditionals for AFTER UPDATE OF COLUMN2 in

Re: [GENERAL] insert multiple rows

2005-10-31 Thread Scott Marlowe
On Mon, 2005-10-31 at 17:13, David Fetter wrote: On Mon, Oct 31, 2005 at 06:06:14PM -0500, blackwater dev wrote: In MySQL, I can insert multiple rows like this: insert into cars values(5, toyota),(5,ford), etc. How can I do something similiar in PostgreSQL? The similar thing in

[GENERAL] How may I keep prepended array items positive?

2005-10-31 Thread Matthew Peter
I would need to prepend a couple array items BUT I NEED them to be positive [1:13] instead of [-4:9] for instance. How may I keep prepended array items positive? __ Yahoo! Mail - PC Magazine Editors' Choice 2005 http://mail.yahoo.com

Re: [GENERAL] SQL injection

2005-10-31 Thread Jim C. Nasby
Does PHP support prepared queries with bound parameters for PostgreSQL? Not only is that foolproof (unless you're calling a function that uses an argument to build a query string...), you'll get a performance boost as well since PostgreSQL won't have to reparse and plan every query. On Mon, Oct

Re: [GENERAL] SQL injection

2005-10-31 Thread Alex Turner
I didn't think query plans were cached between sessions, in which case prepeared statements aren't worth much for most HTTP based systems (not counting luckily re-using the same connection using pgpool)... Please correct me if I'm mistaken - I like being wrong ;) Alex On 10/31/05, Jim C. Nasby

Re: [GENERAL] Help pls with UPDATE

2005-10-31 Thread Guy Rouillier
go KEY802207 wrote: Hi, pgsql-general. Tell me please, how to update a set of rows using order- something like : update my_table set counter1=nextval('my_seq') order by counter2 ; The way this is usually done is to issue a SELECT with an ORDER BY clause, then update the rows that

Re: [GENERAL] Help pls with UPDATE

2005-10-31 Thread Michael Glaesemann
On Nov 1, 2005, at 13:40 , Guy Rouillier wrote: go KEY802207 wrote: Hi, pgsql-general. Tell me please, how to update a set of rows using order- something like : update my_table set counter1=nextval('my_seq') order by counter2 ; The way this is usually done is to issue a SELECT with

[GENERAL] Cpanel and PostgreSQL 8.1rc

2005-10-31 Thread Erick Papadakis
Hi, Has anyone installed PostgreSQL 8.1RC on a Cpanel server? I have root access to my dedicated server and would like to install it, and then have it available in Cpanel interface to my domains. Thanks for any tips or pointers. .ep __

Re: [GENERAL] How may I keep prepended array items positive?

2005-10-31 Thread Michael Fuhr
On Mon, Oct 31, 2005 at 04:37:39PM -0800, Matthew Peter wrote: I would need to prepend a couple array items BUT I NEED them to be positive [1:13] instead of [-4:9] for instance. How may I keep prepended array items positive? You could use array-to-array concatenation instead of prepending

Re: [GENERAL] How may I keep prepended array items positive?

2005-10-31 Thread Matthew Peter
I want to use it like this... UPDATE SET _array = {1,2,3} || _array; Which if _array had {1} in it, I'd get something like [-2:1]{1,1,2,3} as the range... I only want it to push the existing values to the right so I'd have [1:4]{1,1,2,3} I don't have a pgsql on this box to show output.. ---

Re: [GENERAL] How may I keep prepended array items positive?

2005-10-31 Thread Michael Fuhr
On Mon, Oct 31, 2005 at 10:22:14PM -0800, Matthew Peter wrote: I want to use it like this... UPDATE SET _array = {1,2,3} || _array; Which if _array had {1} in it, I'd get something like [-2:1]{1,1,2,3} as the range... You have the result backwards: concatenating {1,2,3} and {1} yields