Example usage for com.liferay.portal.kernel.dao.db Index Index

List of usage examples for com.liferay.portal.kernel.dao.db Index Index

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.dao.db Index Index.

Prototype

public Index(String indexName, String tableName, boolean unique) 

Source Link

Usage

From source file:it.dontesta.labs.liferay.portal.dao.db.OracleDB.java

License:Open Source License

@Override
public List<Index> getIndexes(Connection con) throws SQLException {
    List<Index> indexes = new ArrayList<Index>();

    PreparedStatement ps = null;/* w  w  w .  java  2s .  c o  m*/
    ResultSet rs = null;

    try {
        StringBundler sb = new StringBundler(3);

        sb.append("select index_name, table_name, uniqueness from ");
        sb.append("user_indexes where index_name like 'LIFERAY_%' or ");
        sb.append("index_name like 'IX_%'");

        String sql = sb.toString();

        ps = con.prepareStatement(sql);

        rs = ps.executeQuery();

        while (rs.next()) {
            String indexName = rs.getString("index_name");
            String tableName = rs.getString("table_name");
            String uniqueness = rs.getString("uniqueness");

            boolean unique = true;

            if (StringUtil.equalsIgnoreCase(uniqueness, "NONUNIQUE")) {
                unique = false;
            }

            indexes.add(new Index(indexName, tableName, unique));
        }
    } finally {
        DataAccess.cleanUp(null, ps, rs);
    }

    return indexes;
}

From source file:it.dontesta.labs.liferay.portal.dao.db.SQLServerDB.java

License:Open Source License

@Override
public List<Index> getIndexes(Connection con) throws SQLException {
    List<Index> indexes = new ArrayList<>();

    PreparedStatement ps = null;/*from www.j ava  2  s  .  c  o  m*/
    ResultSet rs = null;

    try {
        DatabaseMetaData databaseMetaData = con.getMetaData();

        if (databaseMetaData.getDatabaseMajorVersion() <= _SQL_SERVER_2000) {

            return indexes;
        }

        StringBundler sb = new StringBundler(6);

        sb.append("select sys.tables.name as table_name, ");
        sb.append("sys.indexes.name as index_name, is_unique from ");
        sb.append("sys.indexes inner join sys.tables on ");
        sb.append("sys.tables.object_id = sys.indexes.object_id where ");
        sb.append("sys.indexes.name like 'LIFERAY_%' or sys.indexes.name ");
        sb.append("like 'IX_%'");

        String sql = sb.toString();

        ps = con.prepareStatement(sql);

        rs = ps.executeQuery();

        while (rs.next()) {
            String indexName = rs.getString("index_name");
            String tableName = rs.getString("table_name");
            boolean unique = !rs.getBoolean("is_unique");

            indexes.add(new Index(indexName, tableName, unique));
        }
    } finally {
        DataAccess.cleanUp(ps, rs);
    }

    return indexes;
}