Changes:
- represent percentage as 99.99, and not 0.99 (better precision, easier to read)
- treat queries: “select a,b from c" and “select b,a from c" as the same type.
SVN repo at: http://svn.depesz.com/svn/pgsql-tools/trunk
Changes:
SVN repo at: http://svn.depesz.com/svn/pgsql-tools/trunk
i needed a way to generate ed2k urls based on existing files on my harddrive.
ed2k link looks like this:
ed2k://|file|FILENAME|FILESIZE|CHECKSUM|/
filename and filesize are of course known, but what about checksum? i tried to find some ready program to calculate them, but failed. it might be because i spent something like 3 minutes on it, but anyway – i didn't find it. so i tried to find algorithm description.
luckily there is a nice algorithms description. algorithms, as there apparently are two separate algorithms, not fully compatible with each other.
based on the information i was able to write a short perl script which does the job:
=> cat ed2ksum.pl #!/usr/bin/perl -l use Digest::MD4 qw(md4 md4_hex);open$f,pop or die$!;$c.=md4$b while sysread$f,$b,9728000;print uc md4_hex$c
yes, it is unreadable. but it works. first version was longer (about 15 lines), but then i decided to try to make it shorter. and shorter. and then even shorter. most probably it is not the shortest possible way, but i'm safisfied with it.
how does it work? simply:
=> ./ed2ksum.pl Slony-I-concept.pdf E8715CD212CD75E0EE4B6C526D5BF36A
hope you'll find it useful.
nixternal wrote about boost library for c++.
with it he was able to find the answer to title question in miliseconds (he didn't specify how many, but let's assume that is was less than 10 ms).
so i decided to check how fast can i do it in postgresql …
Continue reading how many 1sts of any month were sundays – since 1901-01-01?
just lately we found interesting case about shared_buffers settings.
the database in question is rather simple:
the server we run it on is not really fancy:
Continue reading shared buffers and their impact on performance
in previous post i described how to find overlapping ranges in a way that will work with indexes.
now, i'd like to discuss something else.
how to check how many ranges are in given moment?
hannesd on irc had a problem with finding overlapping date/time ranges.
basically – in postgresql there is “overlaps" operator, but unfortunately it doesn't use indexes:
another patch from Aleksander ‘A.L.E.C' Machniak.
Changes:
SVN repo at: http://svn.depesz.com/svn/pgsql-tools/trunk
patch from Aleksander ‘A.L.E.C' Machniak.
Changes:
Some edits by me, mostly indentation.
SVN repo at: http://svn.depesz.com/svn/pgsql-tools/trunk
i'm recently under impression that pg developers are overprotective. who do they protect?
us, users.
i mean – don't get me wrong – i live with, and (to some extent) thanks to the piece of marvelous technology which is postgresql ordbms.
i use it, i try to help other use it. i don't think there is any better database available now (at the very least – for my purposes).
but, just lately, i some to see some cases where decissions are made in a way to “protect us (dbas) from our faults".