Currently, we have a dedicated TeradataSource that is used because some databases don't support the LIMIT clause (which is not SQL Standard anyway) that the default DBInputFormat uses. The TeradataSource is not restricted to Teradata and can be used for all DBs including both - those that support the LIMIT clause that those that don't.
We should either:
- Keep both DatabaseSource and TeradataSource, but rename TeradataSource to DataDrivenDatabaseSource; or
- Do away completely with DatabaseSource, and just use the current TeradataSource as the DatabaseSource.
We may prefer 1. either for backward compatibility or because the existing DatabaseSource may be simpler to configure. But in either case, we should make sure that there's no code duplication.