Hmmm good point. I would have to add it to the contract then. But that seems rather stupid because I would have to throw some kind of LogicException as it is not a driver/database problem but rather an "unknown version string". You know what I mean? I cannot 100% tell what each version string looks like that the driver returns because it heavily depends on the database server. For Oracle I did the `null` return here because Oracle seems to like returning something like "Oracle Enterprise blabla Edition III.2 with a lot of extra features for commercial use <version>. Thank you for paying a lot of money using this sh*t." as a "version" string. What would you suggest putting in the contract? Please also note BC when thinking of throwing an exception here.