Re: How to delete few elements from array beginning? - Mailing list pgsql-general

From Alexander Farber
Subject Re: How to delete few elements from array beginning?
Date
Msg-id CAADeyWhpTjqPJOqrcv2yXCBnHSTLA8V679Y2q5-RYi5fuA-UJg@mail.gmail.com
Whole thread Raw
In response to Re: How to delete few elements from array beginning?  (Chris Travers <chris.travers@gmail.com>)
Responses Re: How to delete few elements from array beginning?  (Chris Travers <chris.travers@gmail.com>)
List pgsql-general
Hello Chris,

On Wed, Mar 9, 2016 at 4:42 PM, Chris Travers <chris.travers@gmail.com> wrote:


On Wed, Mar 9, 2016 at 1:10 PM, Alexander Farber <alexander.farber@gmail.com> wrote:

what is please the most efficient way to delete a slice from the start of a longer array (after I have copied it to another array)?

Do I really have to copy a large slice of the array to itself, like in the last line here:

        pile_array := pile_array || swap_array;

        /* here I copy away swap_len elements */
        new_hand := pile_array[1:swap_len];

        /* here I don't know how to efficiently remove already copied elements */
        pile_array := pile_array[(swap_len + 1):ARRAY_LENGTH(pile_array, 1)];

or is there a better way?

This looks like something for card hands?

What you are doing seems correct to me.


actually card hands would be easier - because cards are unique in the deck.

But here I have letter hands (like "AAABCDE") in a word game and they are not unique in the pile...

Regards
Alex

pgsql-general by date:

Previous
From: Chris Travers
Date:
Subject: Re: How to delete few elements from array beginning?
Next
From: Chris Travers
Date:
Subject: Re: How to delete few elements from array beginning?