Skip to content

Commit

Permalink
0001565: Ambiguous reference to sysindexes
Browse files Browse the repository at this point in the history
  • Loading branch information
erilong committed Feb 12, 2014
1 parent febafb2 commit 6bcaaf4
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 32 deletions.
Expand Up @@ -132,7 +132,7 @@ protected boolean doesTriggerExistOnPlatform(final String catalogName, String sc
public Boolean execute(Connection con) throws SQLException {
String previousCatalog = con.getCatalog();
PreparedStatement stmt = con
.prepareStatement("select count(*) from sysobjects where type = 'TR' AND name = ?");
.prepareStatement("select count(*) from dbo.sysobjects where type = 'TR' AND name = ?");
try {
if (catalogName != null) {
con.setCatalog(catalogName);
Expand Down
Expand Up @@ -193,7 +193,7 @@ protected boolean doesTriggerExistOnPlatform(final String catalogName, String sc
public Boolean execute(Connection con) throws SQLException {
String previousCatalog = con.getCatalog();
PreparedStatement stmt = con
.prepareStatement("select count(*) from sysobjects where type = 'TR' AND name = ?");
.prepareStatement("select count(*) from dbo.sysobjects where type = 'TR' AND name = ?");
try {
if (catalogName != null) {
con.setCatalog(catalogName);
Expand Down
Expand Up @@ -151,7 +151,7 @@ protected String getNativeDefaultValue(Column column) {
@Override
protected void dropTable(Table table, StringBuilder ddl, boolean temporary, boolean recreate) {
writeQuotationOnStatement(ddl);
ddl.append("IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = ");
ddl.append("IF EXISTS (SELECT 1 FROM dbo.sysobjects WHERE type = 'U' AND name = ");
printAlwaysSingleQuotedIdentifier(getTableName(table.getName()), ddl);
println(")", ddl);
println("BEGIN", ddl);
Expand All @@ -167,7 +167,7 @@ protected void writeExternalForeignKeyDropStmt(Table table, ForeignKey foreignKe
StringBuilder ddl) {
String constraintName = getForeignKeyName(table, foreignKey);

ddl.append("IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'RI' AND name = ");
ddl.append("IF EXISTS (SELECT 1 FROM dbo.sysobjects WHERE type = 'RI' AND name = ");
printAlwaysSingleQuotedIdentifier(constraintName, ddl);
println(")", ddl);
printIndent(ddl);
Expand Down Expand Up @@ -468,18 +468,18 @@ protected void processChange(Database currentModel, Database desiredModel,
println("BEGIN", ddl);
println(" DECLARE @" + tableNameVar + " nvarchar(60), @" + constraintNameVar
+ " nvarchar(60)", ddl);
println(" WHILE EXISTS(SELECT sysindexes.name", ddl);
println(" FROM sysindexes, sysobjects", ddl);
ddl.append(" WHERE sysobjects.name = ");
println(" WHILE EXISTS(SELECT si.name", ddl);
println(" FROM dbo.sysindexes si, dbo.sysobjects so", ddl);
ddl.append(" WHERE so.name = ");
printAlwaysSingleQuotedIdentifier(tableName, ddl);
println(" AND sysobjects.id = sysindexes.id AND (sysindexes.status & 2048) > 0)", ddl);
println(" AND so.id = si.id AND (si.status & 2048) > 0)", ddl);
println(" BEGIN", ddl);
println(" SELECT @" + tableNameVar + " = sysobjects.name, @" + constraintNameVar
+ " = sysindexes.name", ddl);
println(" FROM sysindexes, sysobjects", ddl);
ddl.append(" WHERE sysobjects.name = ");
println(" SELECT @" + tableNameVar + " = so.name, @" + constraintNameVar
+ " = si.name", ddl);
println(" FROM dbo.sysindexes si, dbo.sysobjects so", ddl);
ddl.append(" WHERE so.name = ");
printAlwaysSingleQuotedIdentifier(tableName, ddl);
ddl.append(" AND sysobjects.id = sysindexes.id AND (sysindexes.status & 2048) > 0");
ddl.append(" AND so.id = si.id AND (si.status & 2048) > 0");
println(" EXEC ('ALTER TABLE '+@" + tableNameVar + "+' DROP CONSTRAINT '+@"
+ constraintNameVar + ")", ddl);
println(" END", ddl);
Expand Down
Expand Up @@ -143,7 +143,7 @@ protected String getNativeDefaultValue(Column column) {
@Override
protected void dropTable(Table table, StringBuilder ddl, boolean temporary, boolean recreate) {
writeQuotationOnStatement(ddl);
ddl.append("IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = ");
ddl.append("IF EXISTS (SELECT 1 FROM dbo.sysobjects WHERE type = 'U' AND name = ");
printAlwaysSingleQuotedIdentifier(getTableName(table.getName()), ddl);
println(")", ddl);
println("BEGIN", ddl);
Expand All @@ -159,7 +159,7 @@ protected void writeExternalForeignKeyDropStmt(Table table, ForeignKey foreignKe
StringBuilder ddl) {
String constraintName = getForeignKeyName(table, foreignKey);

ddl.append("IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'RI' AND name = ");
ddl.append("IF EXISTS (SELECT 1 FROM dbo.sysobjects WHERE type = 'RI' AND name = ");
printAlwaysSingleQuotedIdentifier(constraintName, ddl);
println(")", ddl);
printIndent(ddl);
Expand Down Expand Up @@ -407,18 +407,18 @@ protected void processChange(Database currentModel, Database desiredModel,
println("BEGIN", ddl);
println(" DECLARE @" + tableNameVar + " nvarchar(60), @" + constraintNameVar
+ " nvarchar(60)", ddl);
println(" WHILE EXISTS(SELECT sysindexes.name", ddl);
println(" FROM sysindexes, sysobjects", ddl);
ddl.append(" WHERE sysobjects.name = ");
println(" WHILE EXISTS(SELECT si.name", ddl);
println(" FROM dbo.sysindexes si, dbo.sysobjects so", ddl);
ddl.append(" WHERE so.name = ");
printAlwaysSingleQuotedIdentifier(tableName, ddl);
println(" AND sysobjects.id = sysindexes.id AND (sysindexes.status & 2048) > 0)", ddl);
println(" AND so.id = si.id AND (si.status & 2048) > 0)", ddl);
println(" BEGIN", ddl);
println(" SELECT @" + tableNameVar + " = sysobjects.name, @" + constraintNameVar
+ " = sysindexes.name", ddl);
println(" FROM sysindexes, sysobjects", ddl);
ddl.append(" WHERE sysobjects.name = ");
println(" SELECT @" + tableNameVar + " = so.name, @" + constraintNameVar
+ " = si.name", ddl);
println(" FROM dbo.sysindexes si, dbo.sysobjects so", ddl);
ddl.append(" WHERE so.name = ");
printAlwaysSingleQuotedIdentifier(tableName, ddl);
ddl.append(" AND sysobjects.id = sysindexes.id AND (sysindexes.status & 2048) > 0");
ddl.append(" AND so.id = si.id AND (si.status & 2048) > 0");
println(" EXEC ('ALTER TABLE '+@" + tableNameVar + "+' DROP CONSTRAINT '+@"
+ constraintNameVar + ")", ddl);
println(" END", ddl);
Expand Down
Expand Up @@ -161,15 +161,15 @@ protected Collection<ForeignKey> readForeignKeys(Connection connection, Database
query.append(", refs.refkey");
query.append(idx);
}
query.append(" FROM sysreferences refs, sysobjects refobjs, sysobjects localtables, sysobjects remotetables");
query.append(" FROM dbo.sysreferences refs, dbo.sysobjects refobjs, dbo.sysobjects localtables, dbo.sysobjects remotetables");
query.append(" WHERE refobjs.type = 'RI' AND refs.constrid = refobjs.id AND");
query.append(" localtables.type = 'U' AND refs.tableid = localtables.id AND localtables.name = '");
query.append(tableName);
query.append("' AND remotetables.type = 'U' AND refs.reftabid = remotetables.id");

Statement stmt = connection.createStatement();
PreparedStatement prepStmt = connection
.prepareStatement("SELECT name FROM syscolumns WHERE id = ? AND colid = ?");
.prepareStatement("SELECT name FROM dbo.syscolumns WHERE id = ? AND colid = ?");
ArrayList<ForeignKey> result = new ArrayList<ForeignKey>();

try {
Expand Down Expand Up @@ -231,11 +231,11 @@ protected boolean isInternalPrimaryKeyIndex(Connection connection,
// for pk indexes
StringBuffer query = new StringBuffer();

query.append("SELECT name = sysindexes.name FROM sysindexes, sysobjects WHERE sysobjects.name = '");
query.append("SELECT name = si.name FROM dbo.sysindexes si, dbo.sysobjects so WHERE so.name = '");
query.append(table.getName());
query.append("' AND sysindexes.name = '");
query.append("' AND si.name = '");
query.append(index.getName());
query.append("' AND sysobjects.id = sysindexes.id AND (sysindexes.status & 2048) > 0");
query.append("' AND so.id = si.id AND (si.status & 2048) > 0");

Statement stmt = connection.createStatement();

Expand Down
Expand Up @@ -145,11 +145,11 @@ protected boolean isInternalPrimaryKeyIndex(Connection connection,
// for pk indexes
StringBuffer query = new StringBuffer();

query.append("SELECT name = sysindexes.name FROM sysindexes, sysobjects WHERE sysobjects.name = '");
query.append("SELECT name = si.name FROM dbo.sysindexes si, dbo.sysobjects so WHERE so.name = '");
query.append(table.getName());
query.append("' AND sysindexes.name = '");
query.append("' AND si.name = '");
query.append(index.getName());
query.append("' AND sysobjects.id = sysindexes.id AND (sysindexes.status & 2048) > 0");
query.append("' AND so.id = si.id AND (si.status & 2048) > 0");

Statement stmt = connection.createStatement();

Expand Down

0 comments on commit 6bcaaf4

Please sign in to comment.