in src/main/java/org/apache/ddlutils/io/DatabaseDataIO.java [466:539]
private void writeDataForTableToXML(Platform platform, Database model, Table table, DataWriter writer)
{
Table[] tables = { table };
StringBuffer query = new StringBuffer();
query.append("SELECT ");
Connection connection = null;
String schema = null;
if (_determineSchema)
{
try
{
// TODO: Remove this once we have full support for schemas
connection = platform.borrowConnection();
schema = platform.getModelReader().determineSchemaOf(connection, _schemaPattern, tables[0]);
}
catch (SQLException ex)
{
// ignored
}
finally
{
if (connection != null)
{
try
{
connection.close();
}
catch (SQLException ex)
{
// ignored
}
}
}
}
Column[] columns = tables[0].getColumns();
for (int columnIdx = 0; columnIdx < columns.length; columnIdx++)
{
if (columnIdx > 0)
{
query.append(",");
}
if (platform.isDelimitedIdentifierModeOn())
{
query.append(platform.getPlatformInfo().getDelimiterToken());
}
query.append(columns[columnIdx].getName());
if (platform.isDelimitedIdentifierModeOn())
{
query.append(platform.getPlatformInfo().getDelimiterToken());
}
}
query.append(" FROM ");
if (platform.isDelimitedIdentifierModeOn())
{
query.append(platform.getPlatformInfo().getDelimiterToken());
}
if (schema != null)
{
query.append(schema);
query.append(".");
}
query.append(tables[0].getName());
if (platform.isDelimitedIdentifierModeOn())
{
query.append(platform.getPlatformInfo().getDelimiterToken());
}
writer.write(platform.query(model, query.toString(), tables));
}