|
| Begrænsning af antal elementer? Fra : Lars Kristensen |
Dato : 30-01-03 11:30 |
|
Hej NG
Sidder og kæmper med noget opslag i en LDAP base på en Linux med perl 5.6.1.
I denne forbindelse har jeg behov for at få to felter fra alle records læst
ud idet det skal sammenlignes med en fil. Jeg er nu støt på "et loft": Jeg
kan ikke få mere end 500 records ud og jeg ved der er en del flere. Er der
en begrænsning jeg er støt på mon? Er der mon en metode til at omgå det hvis
der er en begrænsning?
- Lars
| |
Adam Sjøgren (30-01-2003)
| Kommentar Fra : Adam Sjøgren |
Dato : 30-01-03 13:35 |
|
On Thu, 30 Jan 2003 11:29:47 +0100, Lars Kristensen wrote:
> Jeg er nu støt på "et loft": Jeg kan ikke få mere end 500 records ud
> og jeg ved der er en del flere. Er der en begrænsning jeg er støt på
> mon? Er der mon en metode til at omgå det hvis der er en
> begrænsning?
Hvordan opdager du at du er stødt imod et loft? Hvad gør dit program,
der hvor det går galt? Hvilke moduler bruger du? Checker du alle
funktioners evt. fejlbeskeder?
Du må hoste op med nogle flere oplysninger, ellers er det dybt umuligt
at hjælpe dig.
Mvh.
--
"Fra én som sover for lidt, Adam Sjøgren
som synes verden er stor" asjo@koldfront.dk
| |
Lars Kristensen (30-01-2003)
| Kommentar Fra : Lars Kristensen |
Dato : 30-01-03 13:41 |
|
"Adam Sjøgren" <spamtrap@koldfront.dk> wrote in message
news:87y952g6ij.fsf@virgil.koldfront.dk...
> On Thu, 30 Jan 2003 11:29:47 +0100, Lars Kristensen wrote:
>
> > Jeg er nu støt på "et loft": Jeg kan ikke få mere end 500 records ud
> > og jeg ved der er en del flere. Er der en begrænsning jeg er støt på
> > mon? Er der mon en metode til at omgå det hvis der er en
> > begrænsning?
>
> Hvordan opdager du at du er stødt imod et loft? Hvad gør dit program,
> der hvor det går galt? Hvilke moduler bruger du? Checker du alle
> funktioners evt. fejlbeskeder?
>
> Du må hoste op med nogle flere oplysninger, ellers er det dybt umuligt
> at hjælpe dig.
Tak for interessen, men er ved at arbejde på en anden løsning i stedet. Kan
godt se nu - oven på frokosten - at jeg var lidt upræcis, men som sagt er
jeg i gang med en anden - måske knap så elegant løsning, men det virker, så:
Glem alt efter "Hej NG"....
- Lars
| |
Adam Sjøgren (30-01-2003)
| Kommentar Fra : Adam Sjøgren |
Dato : 30-01-03 13:46 |
|
On Thu, 30 Jan 2003 13:40:50 +0100, Lars Kristensen wrote:
> Tak for interessen, men er ved at arbejde på en anden løsning i
> stedet. Kan godt se nu - oven på frokosten - at jeg var lidt
> upræcis,
(Lidt?!
> men som sagt er jeg i gang med en anden - måske knap så elegant
> løsning, men det virker, så: Glem alt efter "Hej NG"....
Ok. Generelt er der som oftest aldrig sådan nogle vilkårlige loft at
støde hovedet ind i, i Perl.
Mvh.
--
"Fra én som sover for lidt, Adam Sjøgren
som synes verden er stor" asjo@koldfront.dk
| |
Lars Kristensen (30-01-2003)
| Kommentar Fra : Lars Kristensen |
Dato : 30-01-03 13:59 |
|
"Adam Sjøgren" <spamtrap@koldfront.dk> wrote in message
news:87smvag601.fsf@virgil.koldfront.dk...
> On Thu, 30 Jan 2003 13:40:50 +0100, Lars Kristensen wrote:
>
>
> Ok. Generelt er der som oftest aldrig sådan nogle vilkårlige loft at
> støde hovedet ind i, i Perl.
>
>
Ok - men min tanker var bare lidt i stil med i C f.eks. hvor en integer ikke
kan indeholde et tal større end 65536. Jeg troede måske at der var en
begrænsning i samme stil blot med at man ikke kan hente mere end de 500
records ud i ens objekt. Bruger Net::LDAP modulet, men har ikke egentlig
ikke tænkt over at få udlæst fejl fra modulet.
Det her er min første opgave i perl, så mine tanker gør ikke så meget i de
retninger fordi jeg er vant til at de bliver smidt i hovedt på mig uden at
jeg behøver at bede om det. Er normal vant til C, C++ og ASP, men skal i det
her tilfælde lave nogle ting på en linux med perl og noget PHP så jeg er
ikke på hjemmebane, men det kommer jo nok når jeg får kigget noget mere på
det....
- Lars
| |
Adam Sjøgren (30-01-2003)
| Kommentar Fra : Adam Sjøgren |
Dato : 30-01-03 15:33 |
|
On Thu, 30 Jan 2003 13:59:18 +0100, Lars Kristensen wrote:
> Ok - men min tanker var bare lidt i stil med i C f.eks. hvor en
> integer ikke kan indeholde et tal større end 65536.
(Det er vist kun på gamle maskiner eller med gamle oversættere at det
er så lavt?)
Perl har samme begrænsning på heltal (med mindre man bruger et modul
designet til enorme tal), men typisk er det på nogle milliarder og
ikke i størrelsesordenen 500.
> Jeg troede måske at der var en begrænsning i samme stil blot med at
> man ikke kan hente mere end de 500 records ud i ens objekt.
Det ville være meget syret hvis det var en begrænsning indbygget i
sproget, synes jeg.
Men fejlen kan jo sagtens ligge et andet sted.
> Bruger Net::LDAP modulet, men har ikke egentlig ikke tænkt over at
> få udlæst fejl fra modulet. Det her er min første opgave i perl, så
> mine tanker gør ikke så meget i de retninger fordi jeg er vant til
> at de bliver smidt i hovedt på mig uden at jeg behøver at bede om
> det.
Hm. Man bør altid checke returværdier.
> Er normal vant til C, C++ og ASP,
Det gælder da specielt i C og C++!
> men skal i det her tilfælde lave nogle ting på en linux med perl og
> noget PHP så jeg er ikke på hjemmebane, men det kommer jo nok når
> jeg får kigget noget mere på det....
Jeg synes ihvertfald Perl er rart til mange ting.
Mvh.
--
"Fra én som sover for lidt, Adam Sjøgren
som synes verden er stor" asjo@koldfront.dk
| |
Adam Sjøgren (30-01-2003)
| Kommentar Fra : Adam Sjøgren |
Dato : 30-01-03 15:50 |
|
On Thu, 30 Jan 2003 13:59:18 +0100, Lars Kristensen wrote:
> Ok - men min tanker var bare lidt i stil med i C f.eks. hvor en
> integer ikke kan indeholde et tal større end 65536.
(Det er vist kun på gamle maskiner eller med gamle oversættere at det
er så lavt?)
> Jeg troede måske at der var en begrænsning i samme stil blot med at
> man ikke kan hente mere end de 500 records ud i ens objekt.
Det ville være meget syret hvis det var en begrænsning indbygget i
sproget, synes jeg.
Men fejlen kan jo sagtens ligge et andet sted.
> Bruger Net::LDAP modulet, men har ikke egentlig ikke tænkt over at
> få udlæst fejl fra modulet. Det her er min første opgave i perl, så
> mine tanker gør ikke så meget i de retninger fordi jeg er vant til
> at de bliver smidt i hovedt på mig uden at jeg behøver at bede om
> det.
Hm. Man bør altid checke returværdier.
> Er normal vant til C, C++ og ASP,
Det gælder da specielt i C og C++!
> men skal i det her tilfælde lave nogle ting på en linux med perl og
> noget PHP så jeg er ikke på hjemmebane, men det kommer jo nok når
> jeg får kigget noget mere på det....
Jeg synes ihvertfald Perl er rart til mange ting.
Mvh.
--
"Fra én som sover for lidt, Adam Sjøgren
som synes verden er stor" asjo@koldfront.dk
| |
Lars Balker Rasmusse~ (30-01-2003)
| Kommentar Fra : Lars Balker Rasmusse~ |
Dato : 30-01-03 16:43 |
|
spamtrap@koldfront.dk (Adam Sjøgren) writes:
> On Thu, 30 Jan 2003 13:59:18 +0100, Lars Kristensen wrote:
> > Ok - men min tanker var bare lidt i stil med i C f.eks. hvor en
> > integer ikke kan indeholde et tal større end 65536.
>
> (Det er vist kun på gamle maskiner eller med gamle oversættere at det
> er så lavt?)
Det er noget sludder alligevel, for int i C er signed, hvorfor
maxværdien er 32167, på 16-bit integer arkitekturer. Dem er der
ganske vist ikke mange tilbage af.
> > Jeg troede måske at der var en begrænsning i samme stil blot med at
> > man ikke kan hente mere end de 500 records ud i ens objekt.
>
> Det ville være meget syret hvis det var en begrænsning indbygget i
> sproget, synes jeg.
Perl er designet til ikke at have andre begrænsninger end fysisk
hukommelse.
--
Lars Balker Rasmussen "S.M.R.T."
| |
Lars Kristensen (31-01-2003)
| Kommentar Fra : Lars Kristensen |
Dato : 31-01-03 10:37 |
|
"Lars Balker Rasmussen" <lars@balker.org> wrote in message
news:0f3cnawsmx.fsf@laphroaig.balker.org...
> spamtrap@koldfront.dk (Adam Sjøgren) writes:
>
> Det er noget sludder alligevel, for int i C er signed, hvorfor
> maxværdien er 32167, på 16-bit integer arkitekturer. Dem er der
> ganske vist ikke mange tilbage af.
>
C i forbindelse med microprocessore...!?! Hvilket er det jeg beskæftiger mig
med!
Må indrømme at jeg ikke lige kunne huske antallet, men tog blot 2^16,
hvilket vel er rigtigt hvis man benytter unsigned int...
Mon ikke vi er ved at bevæge os over i det lidt mere OT
- Lars
| |
Lasse Hillerøe Peter~ (31-01-2003)
| Kommentar Fra : Lasse Hillerøe Peter~ |
Dato : 31-01-03 12:12 |
|
In article <0f3cnawsmx.fsf@laphroaig.balker.org>, Lars Balker Rasmussen
<lars@balker.org> wrote:
>spamtrap@koldfront.dk (Adam Sjøgren) writes:
>> On Thu, 30 Jan 2003 13:59:18 +0100, Lars Kristensen wrote:
>> > Ok - men min tanker var bare lidt i stil med i C f.eks. hvor en
>> > integer ikke kan indeholde et tal større end 65536.
>>
>> (Det er vist kun på gamle maskiner eller med gamle oversættere at det
>> er så lavt?)
>
>Det er noget sludder alligevel, for int i C er signed, hvorfor
>maxværdien er 32167, på 16-bit integer arkitekturer. Dem er der
>ganske vist ikke mange tilbage af.
Tsk tsk Balker. Man skal ikke smide med konstanter når man selv ikke kan
sin 2-(potens)tabel. 2**15-1 == 32767.
Men måske vil du bytte min 100kr seddel til en 500kr og en 200kr næste
gang på bryggeriet, hvis du synes at 7 == 1?
(At Lars K så begår en off-by-one ved at skrive 65536 i stedet for 65535
er en anden snak.)
FOLKENS! 2-potenser er kommet for at blive! Lær dem! (Og vær glade for at
det ikke er det trinære talsystem vi bruger i faget - i hvert fald ikke
siden ENIAC eller deromkring!)
For i øvrigt at sige noget begavet om det oprindelige LDAP-problem, så kig
på RFC'en (nr. 2251),
"- sizelimit: A sizelimit that restricts the maximum number of entries
to be returned as a result of the search. A value of 0 in this
field indicates that no client-requested sizelimit restrictions are
in effect for the search. Servers may enforce a maximum number of
entries to return."
Måske sætter Lars K (eller Net::LDAP?) en default sizelimit på 500? Måske
gør hans server?
-Lasse
| |
Thorbjoern Ravn Ande~ (31-01-2003)
| Kommentar Fra : Thorbjoern Ravn Ande~ |
Dato : 31-01-03 13:07 |
|
lhp+news@toft-hp.dk (Lasse Hillerøe Petersen) writes:
> FOLKENS! 2-potenser er kommet for at blive! Lær dem! (Og vær glade for at
> det ikke er det trinære talsystem vi bruger i faget - i hvert fald ikke
> siden ENIAC eller deromkring!)
Hvorfor ikke? Bliver tallene for store for hurtigt?
Perl er - som altid - ligeglad:
perl -le 'print 3**3**3'
--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk/ravn
| |
Lars Balker Rasmusse~ (31-01-2003)
| Kommentar Fra : Lars Balker Rasmusse~ |
Dato : 31-01-03 13:45 |
|
lhp+news@toft-hp.dk (Lasse Hillerøe Petersen) writes:
> In article <0f3cnawsmx.fsf@laphroaig.balker.org>, Lars Balker Rasmussen
> <lars@balker.org> wrote:
> >Det er noget sludder alligevel, for int i C er signed, hvorfor
> >maxværdien er 32167, på 16-bit integer arkitekturer. Dem er der
> >ganske vist ikke mange tilbage af.
>
> Tsk tsk Balker. Man skal ikke smide med konstanter når man selv ikke kan
> sin 2-(potens)tabel. 2**15-1 == 32767.
Det var en typo! Ja! 1 og 7 sidder lige ved siden af hinanden på mit
modificerede tastatur.
> Men måske vil du bytte min 100kr seddel til en 500kr og en 200kr næste
> gang på bryggeriet, hvis du synes at 7 == 1?
Naturligvis - du plejer jo ikke at dukke op alligevel.
--
Lars Balker Rasmussen "S.M.R.T."
| |
|
|