List of usage examples for com.liferay.portal.kernel.dao.db Index Index
public Index(String indexName, String tableName, boolean unique)
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; }