package com.quantum.sql; import java.sql.Connection; import java.sql.SQLException; import com.quantum.adapters.DatabaseAdapter; import com.quantum.view.LogProxy; public class SQLHelper { public static int getSize(Connection connection, String tableName, DatabaseAdapter adapter) throws SQLException { SQLResults results = MultiSQLServer.getInstance().execute( connection, adapter.getCountQuery(tableName)); if (results.getRowCount() > 0 && results.getColumnCount() > 0) { return Integer.parseInt(results.getElement(1, 1).toString()); } else { return -1; } } public static SQLResults getResults(Connection connection, String query, int start, int end, int maxLength, String encoding) { try { return MultiSQLServer.getInstance().execute(connection, query, start, end, maxLength, encoding); } catch (SQLException e) { LogProxy log = LogProxy.getInstance(); log.addText( LogProxy.ERROR, "Error Executing: " + query + ":" + e.toString(), e); //$NON-NLS-1$ //$NON-NLS-2$ } SQLResults results = new SQLResults(); results.setIsError(true); return results; } /** * True if the type is Real (numeric and with decimal part) according to java.sql.Types * @param type * @return */ public static boolean isReal(int type) { return (type == java.sql.Types.DECIMAL || type == java.sql.Types.DOUBLE || type ==java.sql.Types.FLOAT || type == java.sql.Types.NUMERIC || type == java.sql.Types.REAL ); } /** * True if the type is Numeric according to java.sql.Types * @param type * @return */ public static boolean isNumeric(int type) { return (type == java.sql.Types.DECIMAL || type == java.sql.Types.DOUBLE || type ==java.sql.Types.FLOAT || type == java.sql.Types.NUMERIC || type == java.sql.Types.REAL || type == java.sql.Types.BIGINT || type == java.sql.Types.TINYINT || type == java.sql.Types.SMALLINT || type == java.sql.Types.INTEGER ); } /** * True if the type is textual according to java.sql.Types * @param type * @return */ public static boolean isText(int type) { return (type == java.sql.Types.CLOB || type == java.sql.Types.VARBINARY || type ==java.sql.Types.VARCHAR || type == java.sql.Types.CHAR || type == java.sql.Types.LONGVARCHAR ); } public static String getQualifiedName(String schema, String name) { return (schema != null && schema.length() > 0) ? schema + "." + name : name; } }