001 /** 002 * Copyright (c) 2003 Daffodil Software Ltd all rights reserved, 003 * Modifications Copyright (c) 2008 Regiscope Digital Imaging Co, LLC, All rights reserved. 004 * This program is free software; you can redistribute it and/or modify 005 * it under the terms of version 2 of the GNU General Public License as 006 * published by the Free Software Foundation. 007 * There are special exceptions to the terms and conditions of the GPL 008 * as it is applied to this software. See the GNU General Public License for more details. 009 * 010 * This program is distributed in the hope that it will be useful, 011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 013 * GNU General Public License for more details. 014 * 015 * You should have received a copy of the GNU General Public License 016 * along with this program; if not, write to the Free Software 017 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 018 */ 019 020 package org.dbreplicator.replication.DBHandler; 021 022 import java.sql.*; 023 import java.util.*; 024 025 import org.dbreplicator.replication.*; 026 import org.dbreplicator.replication.column.*; 027 import org.apache.log4j.Logger; 028 029 /** 030 * Method overrides specific to the Pointbase database engine. 031 */ 032 public class PointBaseHandler 033 extends AbstractDataBaseHandler { 034 protected static Logger log = Logger.getLogger(PointBaseHandler.class.getName()); 035 036 public PointBaseHandler() {} 037 038 public PointBaseHandler(ConnectionPool connectionPool0) { 039 connectionPool = connectionPool0; 040 vendorType = Utility.DataBase_PointBase; 041 } 042 043 protected void createSuperLogTable(String pubName) throws SQLException, 044 RepException { 045 throw new RepException("REP102", new Object[] {"PointBase"}); 046 } 047 048 protected void createRepTable(String pubName) throws SQLException, 049 RepException { 050 throw new RepException("REP102", new Object[] {"PointBase"}); 051 } 052 053 public void createShadowTable(String pubsubName, String tableName, 054 String allColSequence,String[] primaryColumns) throws RepException { 055 throw new RepException("REP102", new Object[] {"PointBase"}); 056 } 057 058 public void createScheduleTable(String subName) throws RepException { 059 throw new RepException("REP102", new Object[] {"PointBase"}); 060 } 061 062 public void createShadowTableTriggers(String pubName, String tableName, 063 ArrayList colNameDataType, 064 String[] primCols) throws RepException { 065 throw new RepException("REP102", new Object[] {"PointBase"}); 066 } 067 068 public void setTypeInfo(TypeInfo typeInfo, ResultSet rs) throws RepException, 069 SQLException { 070 throw new RepException("REP102", new Object[] {"PointBase"}); 071 } 072 073 public AbstractColumnObject getColumnObject(TypeInfo typeInfo) throws 074 RepException { 075 throw new RepException("REP102", new Object[] {"PointBase"}); 076 } 077 078 public boolean isDataTypeOptionalSizeSupported(TypeInfo typeInfo) { 079 return false; 080 } 081 082 public boolean getPrimaryKeyErrorCode(SQLException ex) throws SQLException { 083 return false; 084 } 085 086 protected void createIndex(String pubsubName, String tableName) throws 087 RepException { 088 throw new RepException("REP102", new Object[] {"PointBase"}); 089 } 090 091 public int getAppropriateScale(int columnScale) { 092 return columnScale; 093 } 094 095 public PreparedStatement makePrimaryPreperedStatement(Connection pub_sub_Connection, String[] primaryColumns, 096 String shadowTable, String local_pub_sub_name) throws SQLException, 097 RepException { 098 return null; 099 } 100 101 102 103 public boolean isForeignKeyException(SQLException ex) throws SQLException { 104 return false; 105 } 106 107 /** 108 * isPrimaryKeyException 109 * 110 * @param ex SQLException 111 * @return boolean 112 */ 113 public boolean isPrimaryKeyException(SQLException ex) { 114 return false; 115 } 116 117 /** 118 * createIgnoredColumnsTable 119 * 120 * @param pubName String 121 */ 122 protected void createIgnoredColumnsTable(String pubName) { 123 } 124 125 /** 126 * createTrackReplicationTablesUpdationTable 127 * 128 * @param pubSubName String 129 */ 130 protected void createTrackReplicationTablesUpdationTable(String pubSubName) throws 131 RepException, SQLException { 132 throw new RepException("REP102", new Object[] {"PointBase"}); 133 } 134 135 /** 136 * createTriggerForTrackReplicationTablesUpdationTable 137 * 138 * @param pubSubName String 139 */ 140 protected void createTriggerForTrackReplicationTablesUpdationTable(String 141 pubSubName)throws 142 RepException, SQLException { 143 throw new RepException("REP102", new Object[] {"PointBase"}); 144 } 145 146 public PreparedStatement makePrimaryPreperedStatementBackwardTraversing( 147 String[] primaryColumns, long lastId, String local_pub_sub_name, String shadowTable) throws SQLException, RepException { 148 return null; 149 } 150 protected void createTrackPrimaryTable(String pubsubName,String[] primCols) throws RepException { 151 } 152 153 /** 154 * isSchemaSupported 155 * 156 * @return boolean 157 */ 158 public boolean isSchemaSupported() { 159 return true; 160 } 161 162 }

