Gregory Maxwell wrote:
> So it turned out that he didn't... Is this a sign that we need to
> include a versioning symbol in SOs so we can give a nice clear error
> message "module foo compiled for PostgreSQL 8.0.2 this is PostgreSQL
> 8.1."
I think this would rarely work in practice. For example, during the
elog->ereport transition, any module compiled against the wrong server
would immediately get an "unresolved symbol: elog/ereport" before you
can run your nice version check. I had thought about this issue back
then because it was an extrememly common occurrence; then only thing I
could think of is that you trick the dynamic loader to first reference
a symbol with an obvious name like
"if_you_see_this_in_an_error_message_you_have_a_version_mismatch".
However, this would likely be platform dependent and maybe confuse
users even more.
--
Peter Eisentraut
http://developer.postgresql.org/~petere/