The 10 Most Annoying Things Coming Back to Java After Some Days of Scala

So, I'm experimenting with Scala because I want to write a parser, and the Scala Parsers API seems like a really good fit. After all, I can implement the parser in Scala and wrap it behind a Java interface, so apart from an additional runtime dependency, there shouldn't be any interoperability issues. After a few … Continue reading The 10 Most Annoying Things Coming Back to Java After Some Days of Scala

Using Oracle AQ in Java Won’t Get Any Easier Than This

Starting with jOOQ 3.5 we've included an awesome new feature for those of you using the Oracle database: Native support for Oracle AQ! And your client code will be so easy to write, you'll be putting those AQs all over your database immediately. How does it work? jOOQ rationale The biggest reason why many of … Continue reading Using Oracle AQ in Java Won’t Get Any Easier Than This

jOOQ Tip of the Day: Reuse Bind Values

jOOQ implements your SQL statements as AST (Abstract Syntax Tree). This means that your SQL statement is modelled in a non-text form prior to serialising it as a textual SQL statement to your JDBC driver. One advantage of this is that you can freely manipulate this AST any way you want. This can be done … Continue reading jOOQ Tip of the Day: Reuse Bind Values

Top 10 Very Very VERY Important Topics to Discuss

Some things are just very very very VERY very important. Such as John Cleese. The same is true for Whitespace: Whitespace-Shedding Yes. 1080 Reddit Karma points (so urgently needed!) in only 23 hours. That's several orders of magnitudes better than any of our - what we wrongfully thought to be - very deep and interesting … Continue reading Top 10 Very Very VERY Important Topics to Discuss

jOOQ Newsletter: jOOLY 23, 2014 – Only 8 Days Left in jOOLY

subscribe to this newsletter here Only 8 Days Left in jOOLY Time is running so fast! The month of jOOLY is almost over - have you taken advantage of our limited-time promotional discount of 20% that we're offering to all of your purchases in July 2014? And that's not it, you will also get a … Continue reading jOOQ Newsletter: jOOLY 23, 2014 – Only 8 Days Left in jOOLY

Frightening Facts about MySQL

So you might've seen Destroy all Software's talk about JavaScript: Here's a similar talk (less funny more scary) about MySQL: https://www.youtube.com/watch?v=emgJtr9tIME

Keeping things DRY: Method overloading

A good clean application design requires discipline in keeping things DRY: Everything has to be done once. Having to do it twice is a coincidence. Having to do it three times is a pattern. — An unknown wise man Now, if you're following the Xtreme Programming rules, you know what needs to be done, when … Continue reading Keeping things DRY: Method overloading

Logon Triggers: The Oracle Database Magic Bullet

Imagine you want to collect detailed usage statistics to tune your Oracle database, e.g. if you want to have A-Rows and A-Time values in your execution plans (by default, Oracle only reports E-Rows and E-Time with "E" for "Estimated". But usually, you will care more about the "A" for "Actual"). All you have to do … Continue reading Logon Triggers: The Oracle Database Magic Bullet

Java 8 Friday: More Functional Relational Transformation

In the past, we've been providing you with a new article every Friday about what's new in Java 8. It has been a very exciting blog series, but we would like to focus again more on our core content, which is Java and SQL. We will still be occasionally blogging about Java 8, but no … Continue reading Java 8 Friday: More Functional Relational Transformation

PostgreSQL’s Table-Valued Functions

Table-valued functions are an awesome thing. Many databases support them in one way or another and so does PostgreSQL. In PostgreSQL, (almost) everything is a table. For instance, we can write: CREATE OR REPLACE FUNCTION f_1 (v1 INTEGER, v2 OUT INTEGER) AS $$ BEGIN v2 := v1; END $$ LANGUAGE plpgsql; ... and believe it … Continue reading PostgreSQL’s Table-Valued Functions