these new getDialect().Model_*  methods seem strange. It does make sense to localize the actual sql into the dialect class. But the encapsulation here doesn't feel smooth. Perhaps Igor can make a suggestion to improve it.