private void writeDataForTableToXML()

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));
    }