Waiting for 8.5 – Named function arguments

Pavel Stehule – hero for everybody writing stored procedures, wrote, and later Tom Lane committed patch which adds named arguments for functions:

Log Message:
-----------
Support use of function argument names to identify which actual arguments
match which function parameters.  The syntax uses AS, for example
funcname(value AS arg1, anothervalue AS arg2)
 
Pavel Stehule

Continue reading Waiting for 8.5 – Named function arguments

Waiting for 8.5 – GUC per user and database

On 7th of October Alvaro Herrera committed his own patch, which adds quite interesting possibilty:

Log Message:
-----------
Make it possibly TO specify GUC params per USER AND per DATABASE.
 
CREATE a NEW catalog pg_db_role_setting WHERE they are now stored, AND better
encapsulate the code that deals WITH settings INTO its realm.  The OLD
datconfig AND rolconfig COLUMNS are removed.
 
psql has gained a \drds command TO display the settings.
 
Backwards compatibility warning: while the backwards-compatible system views
still have the config COLUMNS, they no longer completely represent the
configuration FOR a USER OR DATABASE.
 
Catalog version bumped.

Continue reading Waiting for 8.5 – GUC per user and database

Waiting for 8.5 – “GRANT ALL”

One of the most common (or perhaps even the most common) question people have regarding PostgreSQL, is how to change privileges for all tables.

Usually they want something like MySQL's:

GRANT ... ON DATABASE.* TO ...

Which is interesting as it is actually 2 distinct features in one:

  • grant privileges on all existing tables
  • automatically grant privileges on all tables that will be created in this database in the future

Now, thanks to 2 new patches – we have this possibility in PostgreSQL.

Continue reading Waiting for 8.5 – “GRANT ALL"

Waiting for 8.5 – ‘samehost’ and ‘samenet’ in pg_hba.conf

October, finally. “Only" 1 month of backlog in new features in 8.5, but I'm getting there 🙂

So, on 1st of October Tom Lane committed patch by Stef Walter:

Log Message:
-----------
Support "samehost" and "samenet" specifications in pg_hba.conf,
by enumerating the machine's IP interfaces to look for a match.
 
Stef Walter

For some reason I cannot find it in mailing list archive, but luckily have copy of email (without all headers unfortunately).

Continue reading Waiting for 8.5 – ‘samehost' and ‘samenet' in pg_hba.conf

Waiting for 8.5 – DO

On 22nd of September, Tom Lane committed a patch by Petr Jelinek:

Log Message:
-----------
Implement the DO statement TO support execution OF PL code WITHOUT HAVING
TO CREATE a FUNCTION FOR it.
 
PROCEDURAL languages now have an additional entry point, namely a FUNCTION
TO EXECUTE an inline code block.  This seemed a better design than trying
TO hide the transient-ness OF the code FROM the PL.  AS OF this patch, ONLY
plpgsql has an inline handler, but probably people will soon WRITE handlers
FOR the other standard PLs.
 
IN passing, remove the long-dead LANCOMPILER OPTION OF CREATE LANGUAGE.
 
Petr Jelinek

Continue reading Waiting for 8.5 – DO

Czemu jestem taki ułomny? (wylgaryzmy, polish only)

Kurde. Mam w piwnicy żarówkę, ale zapala się ją jedynie kontaktem na dole. Czyli, jak wieczorem schodzę do piwnicy, to muszę zejść po ciemnych schodach i dopiero wtedy mogę zapalić światło.

Dodatkowo – dzieciaki się boją chodzić do piwnicy bo ciemno. Moja pani, marudziła kilka razy, że trzeba coś z tym zrobić. No więc zrobiłem. Pojechałem do sklepu, kupiłem kabel, przełączniki schodowe i zabrałem się za instalację. Skracając. Po 2 godzinach wyjebałem wszystko do śmieci. W ścianie mam dziury od gwoździ, dotychczasowy kontakt działa, ale już nie jest przypomocowany do ściany, ścianę mam upaćkaną jakimś chujstwem typu silikon a poziom wkurwienia przekroczył dopuszczalne normy.

Czemu, byle obszczumur spod bramu potrafi położyć kable i wbić gwoździki a ja, kurwa, nie?! Co bym nie zaczął co wymaga jakichkolwiek zdolności manualnych to muszę zrobić krzywdę sobie, komuś obok i wszystko rozwalić? To może i brzmi zabawnie, ale ja pierdolę, mam już dosyć samego faktu, że na położenie kabelka, co normalnie trwałoby 30 minut, ja tracę czas na szukanie kogoś, bo nawet jak już znajdę fachowca to mu się nie chce przychodzić do takiej małej roboty?

Dodatkowo – szukam kogoś kto mi naprawi przełącznik światła, doda drugi piętro wyżej i zniknie dziury po gwożdziach w ścianach. Aha. I zainstaluje lampkę w ogrodzie. Tego nawet nie chcę zaczynać.

Calculating backlog of events to handle

Yesterday on my favorite IRC channel fooqux asked interesting question. I took some more questions, and here is problem description:

We have a system which, every 5 minutes, takes a number of tasks to be done. Tasks are uniform. Within 5 minutes we can handle at most 100 tasks. Given the history of number of tasks added every 5 minutes, calculate backlog at any given moment.

Did you understand the problem? Well – I didn't. So, let's see the data, and expected output.

Continue reading Calculating backlog of events to handle

Koniec romansu ( polish only )

Parę lat temu, gdy kupowałem swój pierwszy samochód, poszukałem i znalazłem Mitsubishi Space Star. Fajne autko, niedrogie, wygodne.

Kupiłem. I byłem zadowolony. Potem Space Star poszedł do ludzi a ja kupiłem Lancera Kombi. Potem dokupiłem sobie zabawkę – Colta CZC.

I byłem cały czas zadowolony. Mitsubishi jeździły dobrze, miały genialny Assisstance, a drobne problemy w rodzaju ludzi w serwisie którzy koniecznie chcą bym kombinował i wymianę blachy załatwiał “pokątnie, bez faktury" traktowałem jako folklor.

Polecałem znajomym Mitsubishi, i ogólnie byłem fanem.

Natomiast ostatnio stosunki się pogorszyły. Nie z samochodami – nadal są fajne. Z firmą (czy raczej firmami).

Zaczęło się od drobiazgów. Ot, strona autogt.pl nie działa pod Linuksem. Bo nie. Napisałem, powiedzieli, że się zajmą. Skontaktował się ze mną jakiś ichniejszy webmaster, powiedziałem w czym rzecz, i kontakt się urwał. Samochodu u nich nie wybiorę bo nie jestem w stanie się przeklikać przez pierwszą stronę. No cóż – pechowców nam nie trzeba.

Ja kupowałem Colta to chciałem kupić w Mitcarze. Napisałem do nich maila z pytaniem czy mi go sprzedadzą, czy jest itd, po czym nastąpiła cisza. Brak odzewu. Kupiłem więc właśnie wtedy w AutoGT, a jak o sprawie dowiedział się kierownik salonu Mitcaru to obiecał sprawą się zająć – w końcu przeszła mu transakcja koło nosa.

Teraz, ponieważ niedługo znowu pora wymienić samochód, a AutoGT nadal nie chce bym u nich kupował, skierowałem sie do Mitcaru. Przyszedłem jak mieli “drzwi otwarte", sprzedawcy byli zajęci, więc zostawiłem recepcjonistce numer telefonu, powiedziała że jeszcze dziś oddzwonią. To było jakieś 2 tygodnie temu. Telefonu brak.

Do tego dochodzi kwestia wyboru – i tu już wjeżdżam na MMC Car Poland. Kiedyś w Mitsubishi można było wybierać. Były samochody małe (Colt), były średnie (Carisma) i były duże (Pajero). Plus jakieś między nimi – jak Space Star.

Teraz? Colt? Żal gadać. Z fajnego małego hatchbaka zrobili pokrakę która wygląda tragicznie. CZC kupiłem tylko dlatego, że chciałem mieć zabawkę-kabrio, a to było akurat najtańsze.

Poza Coltem mam Lancera. Powyżej? Ohydny Outlander. I krowiaste Pajero. Nie ma już Grandisa, nie ma Space Stara. Nie ma nadal samochodów typu Galant czy Eclipse.

Napisałem do MMC. I dostałem odpowiedź, że:

1. Galanta już nie produkują
2. Eclipse jest tylko na rynek amerykański
3. Mogę sobie sprowadzić, ale gwarancja wtedy nie obowiązuje.

Stwierdzenie #1 jest oczywistą nieprawdą (w następnym mailu konsultant się przyznał do pomyłki). Co do Eclipse'a – pewnie prawda, bo nie widzę go ani w .de ani .uk – ale czemu?!

W dużym skrócie – wygląda na to, że czas mojego użytkowania Miśków się kończy. Smutno trochę. Chciałbym móc kupić Grandisa czy Galanta – Grandis bo spory i pakowny, a Galant mi się podoba, ale jak widać nie jestem wystarczająco “trendy" skoro nie chcę jeździć brzydkim SUVem ani olbrzymią terenówką.

Finalnie – czemu o tym piszę? Ot, taki wentyl. Jako 8 letni użytkownik Miśków głupio mi się czuć zniechęcanym do dalszych zakupów. No ale chyba przyjdzie pora na Mazdę. CX7 jest całkiem fajna…

Post scriptum – oczywiście to nie wpływa na kupienie EVO – od daaaaawno chciałem mieć i będę miał, ale to taki samochód jak Colt CZC – zabawka. Fajna, miła, można się pobawić, ale to nie jest samochód którym będę jechał gdzieś dalej czy “do pracy".

Waiting for 8.5 – changes in hstore

Andrew Gierth (RhodiumToad on irc) wrote, and Tom Lane committed:

Assorted improvements in contrib/hstore.
 
Remove the 64K limit on the lengths of keys and values within an hstore.
(This changes the on-disk format, but the old format can still be read.)
Add support for btree/hash opclasses for hstore --- this is not so much
for actual indexing purposes as to allow use of GROUP BY, DISTINCT, etc.
Add various other new functions and operators.
 
Andrew Gierth

Continue reading Waiting for 8.5 – changes in hstore

Waiting for 8.5 – MOVE {FORWARD,BACKWARD} X

On 29th of September (I know, there is a backlog – I'll work on it, I promise), Tom Lane committed another patch from Pavel Stehule:

Allow MOVE FORWARD n, MOVE BACKWARD n, MOVE FORWARD ALL, MOVE BACKWARD ALL
in plpgsql.  Clean up a couple of corner cases in the MOVE/FETCH syntax.
 
Pavel Stehule

Continue reading Waiting for 8.5 – MOVE {FORWARD,BACKWARD} X