Avatar billede medusa Nybegynder
11. november 2002 - 14:16 Der er 12 kommentarer og
1 løsning

Notes danner selv felter ?! - Haster !!

Vi har gjort en lidt mystisk opdagelse, som nogen af jer forhåbentlig kan forklare.
Det hele startede med at vi på en formular fik fejlen " Der er for mange unikke felter...bla bla bla". Vi prøvede at komprimer databasen uden held. Så ryddede vi op i databasen og det hjalp. Men fandt ud af følgende:
Hvis man har et felt (fd_Disp) og på feltets exiting/entering skriver eks: Dim hello as string. Efterfølgende kigger man i notespeek og ser at der er oprettet 2 felter: "$$fd_Disp" og "$fd_Disp_O"
. Hvis man Sletter dim-sætningen fra feltet fd_Disp rydder Notes ikke op.
1) hvorfor bliver disse felter overhovedet oprettet ?
2) hvordan får man dem fjernet igen ?
Avatar billede cdelicht Nybegynder
11. november 2002 - 14:36 #1
Fingerne væk! Det er interne Notes felter - du får "ballade" hvis du fjerner dem!
Notes opretter $ og $$ felter til intern information (compileret) om diverse scripts mv.

Hvis du har for mange unikke felter kan du fjerne ikke anvendte felter på følgende (eneste) måde: Lav en kopi af databasen, så forsvinder alle felter der ikke er anvendt i mindst en form fra listen over felter.

For mange felter opstår bl.a. hvis du kopiere en form fra en anden database (f.eks. mail db) og efterfølgende sletter feltern på formen. Så er der stadig en reference til feltet internt i Notes.
Avatar billede bamzen Nybegynder
11. november 2002 - 14:36 #2
du kan ikke fjerne feltet fra formen..... du kan kun cleare det... når du opretter nye dokumenter vil feltet ikke blive oprettet.

jeg mener ikke feltet er i stand til at fortælle lotusscript at det er dette felt det skal bruge... derfor er du først nødt til at definere at det er det felt på formen der er tale om, for at den ikke opretter et nyt felt af "samme" navn

håber det var svar nok
Avatar billede medusa Nybegynder
11. november 2002 - 14:50 #3
Jeg forstår stadig ikke hvorfor notes mener det er nødvendigt at oprette 2 felter for hver variabel jeg dim'er på en felthandling. Hvorfor bliver de interne felter ikke slettet når jeg så sletter variablen igen?
Det betyder jo faktisk at man ikke må lave fejl når man udvikler da notes ikke kan finde ud af at rydde op. Hvis jeg dim'er variabel X i exiting og ikke får brug for den alligevel, ligger der stadig 2 notes interne felter på formularen indtil den dag jeg tager en kopi af basen!

????

kan man lave en "garbage collector"  eller sådan noget ?
Avatar billede bamzen Nybegynder
11. november 2002 - 15:04 #4
nej, notes er dum!
Avatar billede cdelicht Nybegynder
11. november 2002 - 15:08 #5
Du misforstår. Det er ikke 2 felter for hver variabel. Det er 2 interne informationen ("PrivateSubBindings") som oprettes for feltet. Hvis du sletter AL script for et felt fosvinder de 2 $ og $$ entries også. Det er ikke afhængig af hvad du skriver i scriptet (prøv kun at skrive en blank tegn, det give samme resulat).
Så længe der er den mindste smule script i et felt findes $ og $$ informationerne. Derfor er det MEGET vigtig, at slette al information i en sub ved at markere alt og dernæst trykke delete. Det er IKKE nok at slette koden mellem Sub (start) og End sub!
Avatar billede karstenv Nybegynder
11. november 2002 - 15:10 #6
lol hehe meget højt og med tårer i øjnene, men det er sant.
Notes lave ne gang immelem ting som kun guderne og udviklerne forstår( eller ikke)
Avatar billede cdelicht Nybegynder
11. november 2002 - 15:13 #7
Hva' så Karstenv - for for mange J-øl inden du skulle sakirvers... :.-)
Avatar billede medusa Nybegynder
11. november 2002 - 15:58 #8
Cdelicht -> Jeg beundre meget din omfattende viden, men på dette punkt er din teori måske ok, men det virker ikke i praksis. Jeg slettede alt på feltets exiting, men iflg notespeek findes de 2 felter stadig.

Ved du om disse felter/informationer kan påvirker performance ?
Avatar billede cdelicht Nybegynder
11. november 2002 - 16:05 #9
Du skal slette AL script på feltet, entering, initilize, exiting etc. Markere AL kode i hver sub og slette ALT.
Performance påvirkes altid af mængden af kode, derfor er det vigtigt at rydde rigtigt op. Vil du være sikker så slet som beskrevet ovenfor.
PS: Normalt er en sub markeret blå i oversigten i designer-framen når der er kode i (kun en ramme når der ikke er kode i), men det virker ikke altid. Du er derfor nødt til at bladre gennem samtlige sub for at se om der er kode i.
Avatar billede medusa Nybegynder
11. november 2002 - 16:16 #10
Ok jeg godtager din forklaring og forslag til hvordan man får ryddet op, men jeg forbeholder mig retten til at udtrykke min utilfredshed med de mennesker som har lavet notes. Jeg ved godt at intet er perfekt, men dette er på top 3 over åndsvage ting man skal udsættes for som udvikler.
Avatar billede karstenv Nybegynder
12. november 2002 - 08:35 #11
Hva' så Karstenv - for for mange J-øl inden du skulle sakirvers... :.-)<--  Tja det er sku nok det der fik mig til at mangle en staveplade :-)
Avatar billede cdelicht Nybegynder
14. november 2002 - 10:33 #12
syn' lige jeg vil korigere mig selv lidt. Det er muligt at fjerne de overflødige felter på flg måde:
- slet fuld tekst indekset
- slet xx.ft biblioteket
- DROP ALL brugere fra databasen
- Fra administrations klienten udføres en komprimering af databasen med option COPY STYLE slået til
(- Opret nyt fuld tekst indeks)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester