Re: noobie question - Mailing list pgsql-general

From Steve Clark
Subject Re: noobie question
Date
Msg-id 1359054215799-019-01217779.sclark.netwolves.com@sclark66.netwolves.com
Whole thread Raw
In response to Re: noobie question  (Chris Angelico <rosuav@gmail.com>)
List pgsql-general
On 01/24/2013 01:06 PM, Chris Angelico wrote:
> On Fri, Jan 25, 2013 at 4:45 AM, Steve Clark <sclark@netwolves.com> wrote:
>> Thanks All,
>>
>> This is for a few very small tables, less 100 records each, that a user can
>> delete and insert records into based on the "id"
>> which is displayed in a php generated html screen. The tables are rarely
>> updated and when they are updated only one person
>> is accessing them at a time.
>>
>> I have seen several answers on inserting what about deleting?
> Deleting works exactly the same way; you just subtract instead of adding.
>
> And thanks Jeff, I forgot about that requirement. Still, searched
> update is the easiest solution.
>
> However, do seriously rethink your design. At very least, the "id"
> field is misnamed; it's not the record's identity if it changes. If
> your only two operations are "insert" and "delete" (with inserts
> permitted at either end of the list as well as in the middle), one way
> you could do it is to have a serially-numbered ID, and a 'pos'. Adding
> to the end means inserting a row with a pos one higher than the
> current highest. Inserting a record before another one means inserting
> a row with the same pos - no renumbering needed. Deleting a row is
> done by its id, not its position. And when you query the table, just
> ask for them "ORDER BY POS, ID DESC" - this will show them in the
> right order. This doesn't, however, handle arbitrary reordering of
> records. For that, you will ultimately need to renumber the positions.
>
> ChrisA
>
>
Hi Chris,

It is really called rule_num and relates to "in what order firewall rules are applied". And it used
to allow the user to place the firewall rules where they want them in relation to other rules.

This is an old design, of which I had no input, but am now maintaining. Like I said initially I have
php, bash or C code to do the reordering and was just wondering if there was a slick way to
do it without having to resort to some external mechanism.

Thanks to all who responded.

--
Stephen Clark



--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: main.log file not being updated
Next
From: Anson Abraham
Date:
Subject: Re: main.log file not being updated