Simple Simulation of Partitioning (Pruning)

Recently, a friend of mine asked me how would I simulate a partitioning feature in Oracle Standard Edition, where the partitioning  option is not available. Well, building a data warehouse in Oracle environment without two crucial features such as bitmap indices and partitioning is not a very...
Continue reading »

Fast data loading from a remote host

My last post is few years old and it’s not because I have lack of good ideas to be written, but because of my poor time management I’m trying to improve. It’s January, time to make some New Year resolutions :), so I will try...
Continue reading »

Product aggregate function

Few months ago I needed an product aggregate function. It’s strange that Oracle does not have such functionality. I think it’s pretty trivial. Here is it is: CREATE OR REPLACE TYPE product_impl AS OBJECT ( product NUMBER, STATIC FUNCTION ODCIAggregateInitialize(ctx IN OUT product_impl) RETURN NUMBER,...
Continue reading »

Bitcount aggregate function

Finally, a blog post after ages :). Recently I received a new feedback on my two years old article on bitwise or aggregate function, where a visitor is looking for a bitcount aggregate function. This was a nice exercise for me. After a little of...
Continue reading »

Parsing CSV string

Parsing a CSV string is something very trivial, but often many people choose an inefficient approach usually based on this pseudo-code: loop if the CSV list is empty then break copy the first value to some variable remove the first value from the CSV list...
Continue reading »

How to implement sleeping

There are few approaches how to implement sleeping in PL/SQL: DBMS_LOCK.SLEEP procedure (precision: hundredths of a second) DBMS_BACKUP_RESTORE.SLEEP (precision: seconds) java.lang.Thread.sleep method mapped by PL/SQL procedure (precision: milliseconds) Autonomous transaction (In fact, this Tanel’s post inspired me to write this) (precision: seconds) Of course, I...
Continue reading »

Bitwise OR Aggregate Function

A few months ago I was working on an application which used bits to store some flags in one number. In this approach the bit value in the number indicates whether a flag is on (1) or off (0). In my case a flag was...
Continue reading »