I am getting the following error when running the project stage
command. I am including the output from the command run with the debug option.
SQL> project stage -de
----- DISPLAY ARGUMENTS -----
BRANCH-NAME: null
Diffing Branches
result: diff DiffEntry[ADD src/database/example/triggers/example_documents_fix_name.sql]
ERROR: An error has occurred processing your request:
Unrecognized character escape ''' (code 39)
at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 806] (through reference chain: oracle.dbtools.extension.project.commands.stage.objectclasses.SrcSnapShot["sxml"])
oracle.dbtools.extension.project.core.exceptions.ChangelogGenerationException: Unrecognized character escape ''' (code 39)
at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 806] (through reference chain: oracle.dbtools.extension.project.commands.stage.objectclasses.SrcSnapShot["sxml"])
at oracle.dbtools.extension.project.core.utils.GitUtils.diffBranches(GitUtils.java:216)
at oracle.dbtools.extension.project.commands.stage.StageCommand.run(StageCommand.java:82)
at oracle.dbtools.extension.project.commands.handler.CommandHandler.StageCommand(CommandHandler.java:59)
at oracle.dbtools.extension.project.commands.handler.ProjectCommand.handleEvent(ProjectCommand.java:75)
at oracle.dbtools.raptor.newscriptrunner.util.command.ParsedCommandListener.handleEvent(ParsedCommandListener.java:62)
at oracle.dbtools.raptor.newscriptrunner.CommandRegistry.fireListeners(CommandRegistry.java:448)
at oracle.dbtools.raptor.newscriptrunner.ScriptRunner.lambda$run$0(ScriptRunner.java:236)
at oracle.dbtools.raptor.newscriptrunner.ScriptRunnerContext.runWithStoredContext(ScriptRunnerContext.java:833)
at oracle.dbtools.raptor.newscriptrunner.ScriptRunner.run(ScriptRunner.java:119)
at oracle.dbtools.raptor.newscriptrunner.ScriptExecutor.run(ScriptExecutor.java:364)
at oracle.dbtools.raptor.newscriptrunner.ScriptExecutor.run(ScriptExecutor.java:245)
at oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.processLine(SqlCli.java:1223)
at oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.runSqlcl(SqlCli.java:1401)
at oracle.dbtools.raptor.scriptrunner.cmdline.SqlCli.main(SqlCli.java:370)
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Unrecognized character escape ''' (code 39)
at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 806] (through reference chain: oracle.dbtools.extension.project.commands.stage.objectclasses.SrcSnapShot["sxml"])
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:402)
at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:361)
at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.wrapAndThrow(BeanDeserializerBase.java:1937)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:312)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:177)
at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:342)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4905)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3848)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3816)
at oracle.dbtools.extension.project.commands.stage.objectclasses.SrcSnapShot.loadSnapShot(SrcSnapShot.java:39)
at oracle.dbtools.extension.project.commands.stage.objectclasses.DbDiffObject.<init>(DbDiffObject.java:55)
at oracle.dbtools.extension.project.core.utils.GitUtils.diffBranches(GitUtils.java:203)
... 13 more
Caused by: com.fasterxml.jackson.core.JsonParseException: Unrecognized character escape ''' (code 39)
at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 806]
at com.fasterxml.jackson.core.JsonParser._constructReadException(JsonParser.java:2648)
at com.fasterxml.jackson.core.base.ParserBase._handleUnrecognizedCharacterEscape(ParserBase.java:1376)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._decodeEscaped(ReaderBasedJsonParser.java:2681)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._finishString2(ReaderBasedJsonParser.java:2201)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._finishString(ReaderBasedJsonParser.java:2174)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.getText(ReaderBasedJsonParser.java:295)
at com.fasterxml.jackson.databind.deser.std.StringDeserializer.deserialize(StringDeserializer.java:42)
at com.fasterxml.jackson.databind.deser.std.StringDeserializer.deserialize(StringDeserializer.java:11)
at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:129)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:310)
... 21 more
This is the file the error occurred on. This is a trigger that has been running for years so as far as SQL is concerned it is valid.
CREATE OR REPLACE EDITIONABLE TRIGGER example_documents_fix_name BEFORE
UPDATE ON example_documents
REFERENCING
NEW AS new
OLD AS old
FOR EACH ROW
declare
cd_except EXCEPTION;
originalname varchar2(256);
BEGIN
originalname := :new.name;
IF instr(:new.name,
'/\\') > 0 THEN
:new.name := substr(:new.name,
1,
instr(:new.name,
'/'))
|| substr(:new.name,
instr(:new.name,
'\',
-1) + 1);
update program_eform_attachment
set
attachment_name = :new.name
where
attachment_name = originalname;
update example_document_views
set
filename = :new.name
where
filename = originalname;
END IF;
exception
WHEN OTHERS THEN
:new.name := originalname;
END;
/
-- sqlcl_snapshot {"hash":"de0c721f02971b90248987ef91a65e1ceecbaeff","type":"TRIGGER","name":"EXAMPLE_DOCUMENTS_FIX_NAME","schemaName":"EXAMPLE","sxml":"<TRIGGER xmlns =\"http://xmlns.oracle.com/ku\" version =\"1.0\"><SCHEMA>EXAMPLE</SCHEMA><NAME>EXAMPLE_DOCUMENTS_FIX_NAME</NAME><TRIGGER_TYPE>BEFORE</TRIGGER_TYPE><DML_EVENT><EVENT_LIST><EVENT_LIST_ITEM><EVENT>UPDATE</EVENT></EVENT_LIST_ITEM></EVENT_LIST><SCHEMA>EXAMPLE</SCHEMA><NAME>EXAMPLE_DOCUMENTS</NAME><REFERENCING><FOR_EACH_ROW></FOR_EACH_ROW></REFERENCING></DML_EVENT><PLSQL_BLOCK>declare CD_EXCEPT EXCEPTION ;originalname varchar2 (256 );BEGIN originalname :=:new .name ;IF INSTR (:NEW .NAME ,'/\\' )>0 THEN :NEW .NAME :=SUBSTR (:NEW .NAME ,1 ,INSTR (:NEW .NAME ,'/' ))||SUBSTR (:NEW .NAME ,INSTR (:NEW .NAME ,'\' ,-1 )+1 );update PROGRAM_EFORM_ATTACHMENT set ATTACHMENT_NAME =:new .name where ATTACHMENT_NAME =originalname ;update EXAMPLE_DOCUMENT_VIEWS set filename =:new .name where filename =originalname ;END IF ;exception WHEN OTHERS THEN :new .name :=originalname ;END ;</PLSQL_BLOCK></TRIGGER>"}