home *** CD-ROM | disk | FTP | other *** search
- package sun.jdbc.odbc;
-
- import java.sql.ResultSetMetaData;
- import java.sql.SQLException;
-
- public class JdbcOdbcResultSetMetaData extends JdbcOdbcObject implements ResultSetMetaData {
- protected JdbcOdbc OdbcApi;
- protected JdbcOdbcResultSetInterface resultSet;
- protected int hStmt;
-
- public JdbcOdbcResultSetMetaData(JdbcOdbc var1, JdbcOdbcResultSetInterface var2) {
- this.OdbcApi = var1;
- this.resultSet = var2;
- this.hStmt = var2.getHSTMT();
- }
-
- public int getColumnCount() throws SQLException {
- return this.resultSet.getColumnCount();
- }
-
- public boolean isAutoIncrement(int var1) throws SQLException {
- if (JdbcOdbcObject.isTracing()) {
- JdbcOdbcObject.trace("*ResultSetMetaData.isAutoIncrement (" + var1 + ")");
- }
-
- var1 = this.resultSet.mapColumn(var1);
- boolean var2;
- if (this.resultSet.getPseudoCol(var1) != null) {
- var2 = false;
- } else {
- var2 = this.getColAttributeBoolean(var1, 11);
- }
-
- return var2;
- }
-
- public boolean isCaseSensitive(int var1) throws SQLException {
- if (JdbcOdbcObject.isTracing()) {
- JdbcOdbcObject.trace("*ResultSetMetaData.isCaseSensitive (" + var1 + ")");
- }
-
- var1 = this.resultSet.mapColumn(var1);
- boolean var2;
- if (this.resultSet.getPseudoCol(var1) != null) {
- var2 = false;
- } else {
- var2 = this.getColAttributeBoolean(var1, 12);
- }
-
- return var2;
- }
-
- public boolean isSearchable(int var1) throws SQLException {
- if (JdbcOdbcObject.isTracing()) {
- JdbcOdbcObject.trace("*ResultSetMetaData.isSearchable (" + var1 + ")");
- }
-
- var1 = this.resultSet.mapColumn(var1);
- boolean var2;
- if (this.resultSet.getPseudoCol(var1) != null) {
- var2 = false;
- } else {
- int var3 = this.getColAttribute(var1, 13);
- var2 = var3 != 0;
- }
-
- return var2;
- }
-
- public boolean isCurrency(int var1) throws SQLException {
- if (JdbcOdbcObject.isTracing()) {
- JdbcOdbcObject.trace("*ResultSetMetaData.isCurrency (" + var1 + ")");
- }
-
- var1 = this.resultSet.mapColumn(var1);
- boolean var2;
- if (this.resultSet.getPseudoCol(var1) != null) {
- var2 = false;
- } else {
- var2 = this.getColAttributeBoolean(var1, 9);
- }
-
- return var2;
- }
-
- public int isNullable(int var1) throws SQLException {
- if (JdbcOdbcObject.isTracing()) {
- JdbcOdbcObject.trace("*ResultSetMetaData.isNullable (" + var1 + ")");
- }
-
- var1 = this.resultSet.mapColumn(var1);
- int var2;
- if (this.resultSet.getPseudoCol(var1) != null) {
- var2 = 0;
- } else {
- var2 = this.getColAttribute(var1, 7);
- }
-
- return var2;
- }
-
- public boolean isSigned(int var1) throws SQLException {
- if (JdbcOdbcObject.isTracing()) {
- JdbcOdbcObject.trace("*ResultSetMetaData.isSigned (" + var1 + ")");
- }
-
- var1 = this.resultSet.mapColumn(var1);
- boolean var2;
- if (this.resultSet.getPseudoCol(var1) != null) {
- var2 = false;
- } else {
- var2 = !this.getColAttributeBoolean(var1, 8);
- }
-
- return var2;
- }
-
- public int getColumnDisplaySize(int var1) throws SQLException {
- if (JdbcOdbcObject.isTracing()) {
- JdbcOdbcObject.trace("*ResultSetMetaData.getColumnDisplaySize (" + var1 + ")");
- }
-
- var1 = this.resultSet.mapColumn(var1);
- JdbcOdbcPseudoCol var2 = this.resultSet.getPseudoCol(var1);
- int var3;
- if (var2 != null) {
- var3 = var2.getColumnDisplaySize();
- } else {
- var3 = this.getColAttribute(var1, 6);
- }
-
- return var3;
- }
-
- public String getColumnLabel(int var1) throws SQLException {
- if (JdbcOdbcObject.isTracing()) {
- JdbcOdbcObject.trace("*ResultSetMetaData.getColumnLabel (" + var1 + ")");
- }
-
- var1 = this.resultSet.mapColumn(var1);
- JdbcOdbcPseudoCol var2 = this.resultSet.getPseudoCol(var1);
- String var3;
- if (var2 != null) {
- var3 = var2.getColumnLabel();
- } else {
- var3 = this.getColAttributeString(var1, 18);
- }
-
- return var3;
- }
-
- public String getColumnName(int var1) throws SQLException {
- if (JdbcOdbcObject.isTracing()) {
- JdbcOdbcObject.trace("*ResultSetMetaData.getColumnName (" + var1 + ")");
- }
-
- var1 = this.resultSet.mapColumn(var1);
- JdbcOdbcPseudoCol var2 = this.resultSet.getPseudoCol(var1);
- String var3;
- if (var2 != null) {
- var3 = var2.getColumnLabel();
- } else {
- var3 = this.getColAttributeString(var1, 1);
- }
-
- return var3;
- }
-
- public String getSchemaName(int var1) throws SQLException {
- if (JdbcOdbcObject.isTracing()) {
- JdbcOdbcObject.trace("*ResultSetMetaData.getSchemaName (" + var1 + ")");
- }
-
- var1 = this.resultSet.mapColumn(var1);
- if (this.resultSet.getPseudoCol(var1) != null) {
- var1 = 1;
- }
-
- return this.getColAttributeString(var1, 16);
- }
-
- public int getPrecision(int var1) throws SQLException {
- if (JdbcOdbcObject.isTracing()) {
- JdbcOdbcObject.trace("*ResultSetMetaData.getPrecision (" + var1 + ")");
- }
-
- var1 = this.resultSet.mapColumn(var1);
- JdbcOdbcPseudoCol var2 = this.resultSet.getPseudoCol(var1);
- int var3;
- if (var2 != null) {
- var3 = var2.getColumnDisplaySize() - 1;
- } else {
- var3 = this.getColAttribute(var1, 4);
- }
-
- return var3;
- }
-
- public int getScale(int var1) throws SQLException {
- if (JdbcOdbcObject.isTracing()) {
- JdbcOdbcObject.trace("*ResultSetMetaData.getScale (" + var1 + ")");
- }
-
- return this.resultSet.getScale(var1);
- }
-
- public String getTableName(int var1) throws SQLException {
- if (JdbcOdbcObject.isTracing()) {
- JdbcOdbcObject.trace("*ResultSetMetaData.getTableName (" + var1 + ")");
- }
-
- var1 = this.resultSet.mapColumn(var1);
- if (this.resultSet.getPseudoCol(var1) != null) {
- var1 = 1;
- }
-
- return this.getColAttributeString(var1, 15);
- }
-
- public String getCatalogName(int var1) throws SQLException {
- if (JdbcOdbcObject.isTracing()) {
- JdbcOdbcObject.trace("*ResultSetMetaData.getCatalogName (" + var1 + ")");
- }
-
- var1 = this.resultSet.mapColumn(var1);
- if (this.resultSet.getPseudoCol(var1) != null) {
- var1 = 1;
- }
-
- return this.getColAttributeString(var1, 17);
- }
-
- public int getColumnType(int var1) throws SQLException {
- if (JdbcOdbcObject.isTracing()) {
- JdbcOdbcObject.trace("*ResultSetMetaData.getColumnType (" + var1 + ")");
- }
-
- JdbcOdbcPseudoCol var2 = this.resultSet.getPseudoCol(var1);
- int var3;
- if (var2 != null) {
- var3 = var2.getColumnType() - 1;
- } else {
- var3 = this.resultSet.getColumnType(var1);
- }
-
- return var3;
- }
-
- public String getColumnTypeName(int var1) throws SQLException {
- if (JdbcOdbcObject.isTracing()) {
- JdbcOdbcObject.trace("*ResultSetMetaData.getColumnTypeName (" + var1 + ")");
- }
-
- var1 = this.resultSet.mapColumn(var1);
- String var2;
- if (this.resultSet.getPseudoCol(var1) != null) {
- var2 = "";
- } else {
- var2 = this.getColAttributeString(var1, 14);
- }
-
- return var2;
- }
-
- public boolean isReadOnly(int var1) throws SQLException {
- if (JdbcOdbcObject.isTracing()) {
- JdbcOdbcObject.trace("*ResultSetMetaData.isReadOnly (" + var1 + ")");
- }
-
- var1 = this.resultSet.mapColumn(var1);
- boolean var2;
- if (this.resultSet.getPseudoCol(var1) != null) {
- var2 = true;
- } else {
- int var3 = this.getColAttribute(var1, 10);
- var2 = var3 == 0;
- }
-
- return var2;
- }
-
- public boolean isWritable(int var1) throws SQLException {
- if (JdbcOdbcObject.isTracing()) {
- JdbcOdbcObject.trace("*ResultSetMetaData.isWritable (" + var1 + ")");
- }
-
- var1 = this.resultSet.mapColumn(var1);
- boolean var2;
- if (this.resultSet.getPseudoCol(var1) != null) {
- var2 = false;
- } else {
- int var3 = this.getColAttribute(var1, 10);
- var2 = var3 == 2;
- }
-
- return var2;
- }
-
- public boolean isDefinitelyWritable(int var1) throws SQLException {
- if (JdbcOdbcObject.isTracing()) {
- JdbcOdbcObject.trace("*ResultSetMetaData.isDefinitelyWritable (" + var1 + ")");
- }
-
- var1 = this.resultSet.mapColumn(var1);
- boolean var2;
- if (this.resultSet.getPseudoCol(var1) != null) {
- var2 = false;
- } else {
- int var3 = this.getColAttribute(var1, 10);
- var2 = var3 == 1;
- }
-
- return var2;
- }
-
- protected int getColAttribute(int var1, int var2) throws SQLException {
- return this.resultSet.getColAttribute(var1, var2);
- }
-
- protected boolean getColAttributeBoolean(int var1, int var2) throws SQLException {
- int var3 = this.getColAttribute(var1, var2);
- boolean var4 = false;
- if (var3 == 1) {
- var4 = true;
- }
-
- return var4;
- }
-
- protected String getColAttributeString(int var1, int var2) throws SQLException {
- String var3 = "";
- this.resultSet.clearWarnings();
-
- try {
- var3 = this.OdbcApi.SQLColAttributesString(this.hStmt, var1, var2);
- } catch (JdbcOdbcSQLWarning var5) {
- var3 = (String)var5.value;
- this.resultSet.setWarning(JdbcOdbc.convertWarning(var5));
- }
-
- return var3.trim();
- }
- }
-