SQOOP generates an ORM file that represents a record in a table for a
given connector implememntation. The generated class has methods to
read field values off ResultSet, set bind values in PreparedStatements,
handle LOB objects in a DB specific way (that the connector represents),
parse input fields etc.
This file is then compiled and archived using jar and used with the SQOOP job.
This ORM instance is generated in all cases, and used to make sure that
the data is read and processed in a more or less uniform way.
Unfortunately, this generated class is not used by a class of connectors which
manage the reading and processing of records themselves. In essence, the
whole ORM class is unusable in these instances and is simply ignored. These
are typically "direct" connectors which use a DB specific highspeed path.
The generation of the ORM class in these cases causes confusion to users.
This patch tries to solve this by
1) Providing a capability for the connection managers to declare that
they don't depend on the ORM jar file.
2) Generating a dummy ORM jar file with explicit message during generation
a) users are aware that the class generated is a dummy one
b) there is a record that this jar file was generated explicitly
c) we don't have to change a whole lot of the codebase to disable
the generaration and loading of the jar file.
This patch also adds one test.