Skip to content

Commit

Permalink
Address comments
Browse files Browse the repository at this point in the history
Signed-off-by: Rishabh Tanwar <[email protected]>
  • Loading branch information
ritanwar committed Feb 5, 2025
1 parent 528adf9 commit 0dc3502
Show file tree
Hide file tree
Showing 9 changed files with 40 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5746,13 +5746,6 @@ END;
$$
LANGUAGE 'pltsql';

CREATE OR REPLACE PROCEDURE sys.sp_renamedb(
IN "@objname" sys.SYSNAME,
IN "@newname" sys.SYSNAME
)
AS 'babelfishpg_tsql', 'sp_renamedb_internal'
LANGUAGE C;

CREATE OR REPLACE PROCEDURE sys.sp_rename(
IN "@objname" sys.nvarchar(776) = NULL,
IN "@newname" sys.SYSNAME = NULL,
Expand Down
2 changes: 1 addition & 1 deletion contrib/babelfishpg_tsql/src/pl_exec-2.c
Original file line number Diff line number Diff line change
Expand Up @@ -4267,7 +4267,7 @@ exec_stmt_fulltextindex(PLtsql_execstate *estate, PLtsql_stmt_fulltextindex *stm

/* do this step */
ProcessUtility(wrapper,
is_create ? "(CREATE FULLTEXT INDEX STATEMENT )" : "(DELETE FULLTEXT INDEX STATEMENT )",
is_create ? CREATE_FULLTEXT_INDEX : DELETE_FULLTEXT_INDEX,
false,
PROCESS_UTILITY_QUERY,
NULL,
Expand Down
2 changes: 1 addition & 1 deletion contrib/babelfishpg_tsql/src/pl_handler.c
Original file line number Diff line number Diff line change
Expand Up @@ -4341,7 +4341,7 @@ bbf_ProcessUtility(PlannedStmt *pstmt,
IndexStmt *stmt = (IndexStmt *) parsetree;

if (sql_dialect == SQL_DIALECT_TSQL &&
strcmp(queryString, "(CREATE FULLTEXT INDEX STATEMENT )") != 0) /* Skip fulltext indexes since they don't even have an original name */
strcmp(queryString, CREATE_FULLTEXT_INDEX) != 0) /* Skip fulltext indexes since they don't even have an original name */
{
char *original_name = stmt->idxname != NULL ? pstrdup(stmt->idxname) : NULL;
List *partition_schemes = stmt->excludeOpNames;
Expand Down
3 changes: 2 additions & 1 deletion contrib/babelfishpg_tsql/src/pltsql.h
Original file line number Diff line number Diff line change
Expand Up @@ -1995,6 +1995,8 @@ extern bool insert_bulk_check_constraints;
#define INTERNAL_GRANT_STATEMENT "(GRANT STATEMENT )"
#define INTERNAL_REVOKE_ALL_ON_ROUTINE "(REVOKE ALL ON ROUTINE )"
#define INTERNAL_ALTER_ROLE "(ALTER ROLE ADD )"
#define CREATE_FULLTEXT_INDEX "(CREATE FULLTEXT INDEX STATEMENT )"
#define DELETE_FULLTEXT_INDEX "(DELETE FULLTEXT INDEX STATEMENT )"

/* FIXED DB PRINCIPALS */
#define DBO "dbo"
Expand Down Expand Up @@ -2190,7 +2192,6 @@ void PLTsqlProcessTransaction(Node *parsetree,
ParamListInfo params,
QueryCompletion *qc);


extern void PLTsqlStartTransaction(char *txnName);
extern void PLTsqlCommitTransaction(QueryCompletion *qc, bool chain);
extern void PLTsqlRollbackTransaction(char *txnName, QueryCompletion *qc, bool chain);
Expand Down
6 changes: 3 additions & 3 deletions contrib/babelfishpg_tsql/src/procedures.c
Original file line number Diff line number Diff line change
Expand Up @@ -4086,19 +4086,19 @@ gen_sp_rename_subcmds(const char *objname, const char *newname, const char *sche
if ((objtype == OBJECT_TABLE) || (objtype == OBJECT_INDEX) ||
(objtype == OBJECT_VIEW) || (objtype == OBJECT_SEQUENCE))
{
char *newobjname = lowerstr(newname);
char *newobjname = downcase_truncate_identifier(newname, strlen(newname), false);

renamestmt->renameType = objtype;
renamestmt->relation->schemaname = lowerstr(schemaname);

if (objtype == OBJECT_INDEX)
{
char *lower_relname = lowerstr(curr_relname);
char *lower_relname = downcase_truncate_identifier(curr_relname, strlen(curr_relname), false);

newobjname = construct_unique_index_name(newobjname, lower_relname);
renamestmt->subname = NULL;
renamestmt->newname = newobjname;
renamestmt->relation->relname = construct_unique_index_name(lowerstr(objname), lower_relname);
renamestmt->relation->relname = construct_unique_index_name(downcase_truncate_identifier(objname, strlen(objname), false), lower_relname);
}
else
{
Expand Down
19 changes: 19 additions & 0 deletions test/JDBC/expected/Test-sp_rename-vu-verify.out
Original file line number Diff line number Diff line change
Expand Up @@ -819,6 +819,25 @@ GO
~~ERROR (Message: Either the parameter @objname is ambiguous or the claimed @objtype (INDEX) is wrong.)~~


-- create index with len
CREATE INDEX sp_rename_indexnamegreaterthan64abcdefghijklmnopqrstuvwxyzabcdefghi ON sp_rename_vu_table1(sp_rename_vu_t1_col1_new);
GO

EXEC sp_rename 'sp_rename_vu_table1.sp_rename_indexnamegreaterthan64abcdefghijklmnopqrstuvwxyzabcdefghi',
'sp_rename_indexnamegreaterthan64abcdefghijklmnopqrstuvwxyzabcdefghijkl', 'INDEX';
GO

SELECT name FROM sys.indexes WHERE name like 'sp_rename_indexnamegreaterthan64%';
GO
~~START~~
varchar
sp_rename_indexnamegreaterthan64abcdefghijklmnopqrstuvwxyzabcdefghijkl
~~END~~


DROP INDEX sp_rename_indexnamegreaterthan64abcdefghijklmnopqrstuvwxyzabcdefghijkl ON sp_rename_vu_table1;
GO

-- Statistics
EXEC sp_rename 'sp_rename_vu_stat1', 'sp_rename_vu_stat2', 'STATISTICS';
GO
Expand Down
2 changes: 0 additions & 2 deletions test/JDBC/expected/babel_621.out
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,6 @@ go
alter table table_4 drop constraint uniq_table_4;
go

-- Test that `sp_rename` is NOT available. If it is available, we need more tests with index/constraints renames
-- We expect this test to break when `sp_rename` will be implemented
go
exec sp_rename N'table_4.uniq_table_4', N'uniq_table_4_a', N'INDEX';
go
Expand Down
2 changes: 0 additions & 2 deletions test/JDBC/input/babel_621.sql
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,6 @@ go
alter table table_4 drop constraint uniq_table_4;
go

-- Test that `sp_rename` is NOT available. If it is available, we need more tests with index/constraints renames
-- We expect this test to break when `sp_rename` will be implemented
go
exec sp_rename N'table_4.uniq_table_4', N'uniq_table_4_a', N'INDEX';
go
Expand Down
14 changes: 14 additions & 0 deletions test/JDBC/input/storedProcedures/Test-sp_rename-vu-verify.sql
Original file line number Diff line number Diff line change
Expand Up @@ -400,6 +400,20 @@ GO
EXEC sp_rename N'sp_rename_vu_index1', N'sp_rename_vu_index2', N'INDEX';
GO

-- create index with len
CREATE INDEX sp_rename_indexnamegreaterthan64abcdefghijklmnopqrstuvwxyzabcdefghi ON sp_rename_vu_table1(sp_rename_vu_t1_col1_new);
GO

EXEC sp_rename 'sp_rename_vu_table1.sp_rename_indexnamegreaterthan64abcdefghijklmnopqrstuvwxyzabcdefghi',
'sp_rename_indexnamegreaterthan64abcdefghijklmnopqrstuvwxyzabcdefghijkl', 'INDEX';
GO

SELECT name FROM sys.indexes WHERE name like 'sp_rename_indexnamegreaterthan64%';
GO

DROP INDEX sp_rename_indexnamegreaterthan64abcdefghijklmnopqrstuvwxyzabcdefghijkl ON sp_rename_vu_table1;
GO

-- Statistics
EXEC sp_rename 'sp_rename_vu_stat1', 'sp_rename_vu_stat2', 'STATISTICS';
GO
Expand Down

0 comments on commit 0dc3502

Please sign in to comment.