WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$1 (file:/usr/share/maven/lib/guice.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release [INFO] Scanning for projects... [INFO] [INFO] ------------------< org.folio:mod-inventory-storage >------------------- [INFO] Building mod-inventory-storage 22.1.0-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- domain-models-maven-plugin:33.1.1:java (generate_interfaces) @ mod-inventory-storage --- DomainModelsMojo.execute() generateInterfaces=true generateClients=false project.baseDir = /home/julian/git/mod-inventory-storage project.name = mod-inventory-storage project.actifactId = mod-inventory-storage Artifacts: [] ArtifactMap: {} ramlDirs.size=0 schemaPaths.size=0 GenerateRunner.generate Input directory /home/julian/git/mod-inventory-storage/target/classes/ramls org/folio/rest/jaxrs/model/AlternativeTitleType.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/AlternativeTitleType.java org/folio/rest/jaxrs/model/AlternativeTitleTypes.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java [INFO] Reading from pom.xml [INFO] module name: mod_inventory_storage, version: 22.1.0 org/folio/rest/jaxrs/model/Authority.java org/folio/rest/jaxrs/model/Identifier.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Note.java org/folio/rest/jaxrs/model/Authorities.java org/folio/rest/jaxrs/model/Authority.java org/folio/rest/jaxrs/model/Diagnostic.java org/folio/rest/jaxrs/model/Facet.java org/folio/rest/jaxrs/model/FacetValue.java org/folio/rest/jaxrs/model/Identifier.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Note.java org/folio/rest/jaxrs/model/ResultInfo.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/AuthorityNoteType.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/AuthorityNoteType.java org/folio/rest/jaxrs/model/AuthorityNoteTypes.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/BoundWithPart.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/BoundWithPart.java org/folio/rest/jaxrs/model/BoundWithParts.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/CallNumberType.java org/folio/rest/jaxrs/model/CallNumberTypes.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/CallNumberType.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/ClassificationType.java org/folio/rest/jaxrs/model/ClassificationTypes.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/ClassificationType.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/ContributorNameType.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/ContributorNameType.java org/folio/rest/jaxrs/model/ContributorNameTypes.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/ContributorType.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/ContributorType.java org/folio/rest/jaxrs/model/ContributorTypes.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/ElectronicAccessRelationship.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/ElectronicAccessRelationship.java org/folio/rest/jaxrs/model/ElectronicAccessRelationships.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/HoldingsNoteType.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/HoldingsNoteType.java org/folio/rest/jaxrs/model/HoldingsNoteTypes.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/HoldingsRecordsSource.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/HoldingsRecordsSource.java org/folio/rest/jaxrs/model/HoldingsRecordsSources.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/CirculationNote.java org/folio/rest/jaxrs/model/Diagnostic.java org/folio/rest/jaxrs/model/EffectiveCallNumberComponents.java org/folio/rest/jaxrs/model/ElectronicAccess.java org/folio/rest/jaxrs/model/ElectronicAccess_.java org/folio/rest/jaxrs/model/Entry.java org/folio/rest/jaxrs/model/Facet.java org/folio/rest/jaxrs/model/FacetValue.java org/folio/rest/jaxrs/model/HoldingsInstance.java org/folio/rest/jaxrs/model/HoldingsItem.java org/folio/rest/jaxrs/model/HoldingsNoteTypeVirtual.java org/folio/rest/jaxrs/model/HoldingsRecord.java org/folio/rest/jaxrs/model/HoldingsRecord2.java org/folio/rest/jaxrs/model/HoldingsRecords.java org/folio/rest/jaxrs/model/HoldingsStatement.java org/folio/rest/jaxrs/model/HoldingsStatementsForIndex.java org/folio/rest/jaxrs/model/HoldingsStatementsForSupplement.java org/folio/rest/jaxrs/model/IllPolicyVirtual.java org/folio/rest/jaxrs/model/LastCheckIn.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Note.java org/folio/rest/jaxrs/model/Note_.java org/folio/rest/jaxrs/model/PermanentLocation.java org/folio/rest/jaxrs/model/PermanentLocation_.java org/folio/rest/jaxrs/model/Personal.java org/folio/rest/jaxrs/model/ReceivingHistory.java org/folio/rest/jaxrs/model/ResultInfo.java org/folio/rest/jaxrs/model/Source.java org/folio/rest/jaxrs/model/Status.java org/folio/rest/jaxrs/model/Tags.java org/folio/rest/jaxrs/model/TemporaryLocation.java org/folio/rest/jaxrs/model/itemNoteTypeVirtual.java org/folio/rest/jaxrs/model/materialTypeVirtual.java org/folio/rest/jaxrs/model/CirculationNote.java org/folio/rest/jaxrs/model/EffectiveCallNumberComponents.java org/folio/rest/jaxrs/model/ElectronicAccess.java org/folio/rest/jaxrs/model/ElectronicAccess_.java org/folio/rest/jaxrs/model/Entry.java org/folio/rest/jaxrs/model/HoldingsInstance.java org/folio/rest/jaxrs/model/HoldingsItem.java org/folio/rest/jaxrs/model/HoldingsNoteTypeVirtual.java org/folio/rest/jaxrs/model/HoldingsRecord.java org/folio/rest/jaxrs/model/HoldingsRecord2.java org/folio/rest/jaxrs/model/HoldingsStatement.java org/folio/rest/jaxrs/model/HoldingsStatementsForIndex.java org/folio/rest/jaxrs/model/HoldingsStatementsForSupplement.java org/folio/rest/jaxrs/model/IllPolicyVirtual.java org/folio/rest/jaxrs/model/LastCheckIn.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Note.java org/folio/rest/jaxrs/model/Note_.java org/folio/rest/jaxrs/model/PermanentLocation.java org/folio/rest/jaxrs/model/PermanentLocation_.java org/folio/rest/jaxrs/model/Personal.java org/folio/rest/jaxrs/model/ReceivingHistory.java org/folio/rest/jaxrs/model/Source.java org/folio/rest/jaxrs/model/Status.java org/folio/rest/jaxrs/model/Tags.java org/folio/rest/jaxrs/model/TemporaryLocation.java org/folio/rest/jaxrs/model/itemNoteTypeVirtual.java org/folio/rest/jaxrs/model/materialTypeVirtual.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/CirculationNote.java org/folio/rest/jaxrs/model/EffectiveCallNumberComponents.java org/folio/rest/jaxrs/model/ElectronicAccess.java org/folio/rest/jaxrs/model/ElectronicAccess_.java org/folio/rest/jaxrs/model/Entry.java org/folio/rest/jaxrs/model/HoldingsInstance.java org/folio/rest/jaxrs/model/HoldingsItem.java org/folio/rest/jaxrs/model/HoldingsNoteTypeVirtual.java org/folio/rest/jaxrs/model/HoldingsRecord.java org/folio/rest/jaxrs/model/HoldingsRecord2.java org/folio/rest/jaxrs/model/HoldingsStatement.java org/folio/rest/jaxrs/model/HoldingsStatementsForIndex.java org/folio/rest/jaxrs/model/HoldingsStatementsForSupplement.java org/folio/rest/jaxrs/model/HoldingsrecordsPost.java org/folio/rest/jaxrs/model/IllPolicyVirtual.java org/folio/rest/jaxrs/model/LastCheckIn.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Note.java org/folio/rest/jaxrs/model/Note_.java org/folio/rest/jaxrs/model/PermanentLocation.java org/folio/rest/jaxrs/model/PermanentLocation_.java org/folio/rest/jaxrs/model/Personal.java org/folio/rest/jaxrs/model/ReceivingHistory.java org/folio/rest/jaxrs/model/Source.java org/folio/rest/jaxrs/model/Status.java org/folio/rest/jaxrs/model/Tags.java org/folio/rest/jaxrs/model/TemporaryLocation.java org/folio/rest/jaxrs/model/itemNoteTypeVirtual.java org/folio/rest/jaxrs/model/materialTypeVirtual.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/HoldingsType.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/HoldingsType.java org/folio/rest/jaxrs/model/HoldingsTypes.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/HridSetting.java org/folio/rest/jaxrs/model/HridSettings.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/IdentifierType.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/IdentifierType.java org/folio/rest/jaxrs/model/IdentifierTypes.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/IllPolicies.java org/folio/rest/jaxrs/model/IllPolicy.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/IllPolicy.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/InstanceFormat.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/InstanceFormat.java org/folio/rest/jaxrs/model/InstanceFormats.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/IterationJob.java org/folio/rest/jaxrs/model/IterationJobParams.java org/folio/rest/jaxrs/model/IterationJobParams.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/InstanceNoteType.java org/folio/rest/jaxrs/model/InstanceNoteTypes.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/InstanceNoteType.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/Identifier.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/PrecedingSucceedingTitle.java org/folio/rest/jaxrs/model/Identifier.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/PrecedingSucceedingTitle.java org/folio/rest/jaxrs/model/PrecedingSucceedingTitles.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/ReindexJob.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/InstanceRelationshipType.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/InstanceRelationshipType.java org/folio/rest/jaxrs/model/InstanceRelationshipTypes.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/InstanceStatus.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/InstanceStatus.java org/folio/rest/jaxrs/model/InstanceStatuses.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/AlternativeTitle.java org/folio/rest/jaxrs/model/CirculationNote.java org/folio/rest/jaxrs/model/Classification.java org/folio/rest/jaxrs/model/Contributor.java org/folio/rest/jaxrs/model/Diagnostic.java org/folio/rest/jaxrs/model/EffectiveCallNumberComponents.java org/folio/rest/jaxrs/model/ElectronicAccess.java org/folio/rest/jaxrs/model/ElectronicAccess_.java org/folio/rest/jaxrs/model/ElectronicAccess__.java org/folio/rest/jaxrs/model/Entry.java org/folio/rest/jaxrs/model/Facet.java org/folio/rest/jaxrs/model/FacetValue.java org/folio/rest/jaxrs/model/HoldingsInstance.java org/folio/rest/jaxrs/model/HoldingsItem.java org/folio/rest/jaxrs/model/HoldingsNoteTypeVirtual.java org/folio/rest/jaxrs/model/HoldingsRecord2.java org/folio/rest/jaxrs/model/HoldingsRecords2.java org/folio/rest/jaxrs/model/HoldingsStatement.java org/folio/rest/jaxrs/model/HoldingsStatementsForIndex.java org/folio/rest/jaxrs/model/HoldingsStatementsForSupplement.java org/folio/rest/jaxrs/model/Identifier.java org/folio/rest/jaxrs/model/IdentifierTypeObject.java org/folio/rest/jaxrs/model/IllPolicyVirtual.java org/folio/rest/jaxrs/model/Instance.java org/folio/rest/jaxrs/model/InstanceFormat.java org/folio/rest/jaxrs/model/Instances.java org/folio/rest/jaxrs/model/LastCheckIn.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Note.java org/folio/rest/jaxrs/model/Note_.java org/folio/rest/jaxrs/model/Note__.java org/folio/rest/jaxrs/model/PermanentLocation.java org/folio/rest/jaxrs/model/PermanentLocation_.java org/folio/rest/jaxrs/model/Personal.java org/folio/rest/jaxrs/model/Publication.java org/folio/rest/jaxrs/model/PublicationPeriod.java org/folio/rest/jaxrs/model/ReceivingHistory.java org/folio/rest/jaxrs/model/ResultInfo.java org/folio/rest/jaxrs/model/Source.java org/folio/rest/jaxrs/model/Status.java org/folio/rest/jaxrs/model/Tags.java org/folio/rest/jaxrs/model/TemporaryLocation.java org/folio/rest/jaxrs/model/classificationTypeVirtual.java org/folio/rest/jaxrs/model/contributorNameTypeVirtual.java org/folio/rest/jaxrs/model/itemNoteTypeVirtual.java org/folio/rest/jaxrs/model/materialTypeVirtual.java org/folio/rest/jaxrs/model/AlternativeTitle.java org/folio/rest/jaxrs/model/CirculationNote.java org/folio/rest/jaxrs/model/Classification.java org/folio/rest/jaxrs/model/Contributor.java org/folio/rest/jaxrs/model/EffectiveCallNumberComponents.java org/folio/rest/jaxrs/model/ElectronicAccess.java org/folio/rest/jaxrs/model/ElectronicAccess_.java org/folio/rest/jaxrs/model/ElectronicAccess__.java org/folio/rest/jaxrs/model/Entry.java org/folio/rest/jaxrs/model/HoldingsInstance.java org/folio/rest/jaxrs/model/HoldingsItem.java org/folio/rest/jaxrs/model/HoldingsNoteTypeVirtual.java org/folio/rest/jaxrs/model/HoldingsRecord2.java org/folio/rest/jaxrs/model/HoldingsRecords2.java org/folio/rest/jaxrs/model/HoldingsStatement.java org/folio/rest/jaxrs/model/HoldingsStatementsForIndex.java org/folio/rest/jaxrs/model/HoldingsStatementsForSupplement.java org/folio/rest/jaxrs/model/Identifier.java org/folio/rest/jaxrs/model/IdentifierTypeObject.java org/folio/rest/jaxrs/model/IllPolicyVirtual.java org/folio/rest/jaxrs/model/Instance.java org/folio/rest/jaxrs/model/InstanceFormat.java org/folio/rest/jaxrs/model/InstancesBatchResponse.java org/folio/rest/jaxrs/model/LastCheckIn.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Note.java org/folio/rest/jaxrs/model/Note_.java org/folio/rest/jaxrs/model/Note__.java org/folio/rest/jaxrs/model/PermanentLocation.java org/folio/rest/jaxrs/model/PermanentLocation_.java org/folio/rest/jaxrs/model/Personal.java org/folio/rest/jaxrs/model/Publication.java org/folio/rest/jaxrs/model/PublicationPeriod.java org/folio/rest/jaxrs/model/ReceivingHistory.java org/folio/rest/jaxrs/model/Source.java org/folio/rest/jaxrs/model/Status.java org/folio/rest/jaxrs/model/Tags.java org/folio/rest/jaxrs/model/TemporaryLocation.java org/folio/rest/jaxrs/model/classificationTypeVirtual.java org/folio/rest/jaxrs/model/contributorNameTypeVirtual.java org/folio/rest/jaxrs/model/itemNoteTypeVirtual.java org/folio/rest/jaxrs/model/materialTypeVirtual.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/AlternativeTitle.java org/folio/rest/jaxrs/model/CirculationNote.java org/folio/rest/jaxrs/model/Classification.java org/folio/rest/jaxrs/model/Contributor.java org/folio/rest/jaxrs/model/EffectiveCallNumberComponents.java org/folio/rest/jaxrs/model/ElectronicAccess.java org/folio/rest/jaxrs/model/ElectronicAccess_.java org/folio/rest/jaxrs/model/ElectronicAccess__.java org/folio/rest/jaxrs/model/Entry.java org/folio/rest/jaxrs/model/HoldingsInstance.java org/folio/rest/jaxrs/model/HoldingsItem.java org/folio/rest/jaxrs/model/HoldingsNoteTypeVirtual.java org/folio/rest/jaxrs/model/HoldingsRecord2.java org/folio/rest/jaxrs/model/HoldingsRecords2.java org/folio/rest/jaxrs/model/HoldingsStatement.java org/folio/rest/jaxrs/model/HoldingsStatementsForIndex.java org/folio/rest/jaxrs/model/HoldingsStatementsForSupplement.java org/folio/rest/jaxrs/model/Identifier.java org/folio/rest/jaxrs/model/IdentifierTypeObject.java org/folio/rest/jaxrs/model/IllPolicyVirtual.java org/folio/rest/jaxrs/model/Instance.java org/folio/rest/jaxrs/model/InstanceFormat.java org/folio/rest/jaxrs/model/LastCheckIn.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Note.java org/folio/rest/jaxrs/model/Note_.java org/folio/rest/jaxrs/model/Note__.java org/folio/rest/jaxrs/model/PermanentLocation.java org/folio/rest/jaxrs/model/PermanentLocation_.java org/folio/rest/jaxrs/model/Personal.java org/folio/rest/jaxrs/model/Publication.java org/folio/rest/jaxrs/model/PublicationPeriod.java org/folio/rest/jaxrs/model/ReceivingHistory.java org/folio/rest/jaxrs/model/Source.java org/folio/rest/jaxrs/model/Status.java org/folio/rest/jaxrs/model/Tags.java org/folio/rest/jaxrs/model/TemporaryLocation.java org/folio/rest/jaxrs/model/classificationTypeVirtual.java org/folio/rest/jaxrs/model/contributorNameTypeVirtual.java org/folio/rest/jaxrs/model/itemNoteTypeVirtual.java org/folio/rest/jaxrs/model/materialTypeVirtual.java org/folio/rest/jaxrs/model/AlternativeTitle.java org/folio/rest/jaxrs/model/CirculationNote.java org/folio/rest/jaxrs/model/Classification.java org/folio/rest/jaxrs/model/Contributor.java org/folio/rest/jaxrs/model/Diagnostic.java org/folio/rest/jaxrs/model/EffectiveCallNumberComponents.java org/folio/rest/jaxrs/model/ElectronicAccess.java org/folio/rest/jaxrs/model/ElectronicAccess_.java org/folio/rest/jaxrs/model/ElectronicAccess__.java org/folio/rest/jaxrs/model/Entry.java org/folio/rest/jaxrs/model/Facet.java org/folio/rest/jaxrs/model/FacetValue.java org/folio/rest/jaxrs/model/HoldingsInstance.java org/folio/rest/jaxrs/model/HoldingsItem.java org/folio/rest/jaxrs/model/HoldingsNoteTypeVirtual.java org/folio/rest/jaxrs/model/HoldingsRecord2.java org/folio/rest/jaxrs/model/HoldingsRecords2.java org/folio/rest/jaxrs/model/HoldingsStatement.java org/folio/rest/jaxrs/model/HoldingsStatementsForIndex.java org/folio/rest/jaxrs/model/HoldingsStatementsForSupplement.java org/folio/rest/jaxrs/model/Identifier.java org/folio/rest/jaxrs/model/IdentifierTypeObject.java org/folio/rest/jaxrs/model/IllPolicyVirtual.java org/folio/rest/jaxrs/model/Instance.java org/folio/rest/jaxrs/model/InstanceFormat.java org/folio/rest/jaxrs/model/Instances.java org/folio/rest/jaxrs/model/LastCheckIn.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Note.java org/folio/rest/jaxrs/model/Note_.java org/folio/rest/jaxrs/model/Note__.java org/folio/rest/jaxrs/model/PermanentLocation.java org/folio/rest/jaxrs/model/PermanentLocation_.java org/folio/rest/jaxrs/model/Personal.java org/folio/rest/jaxrs/model/Publication.java org/folio/rest/jaxrs/model/PublicationPeriod.java org/folio/rest/jaxrs/model/ReceivingHistory.java org/folio/rest/jaxrs/model/ResultInfo.java org/folio/rest/jaxrs/model/Source.java org/folio/rest/jaxrs/model/Status.java org/folio/rest/jaxrs/model/Tags.java org/folio/rest/jaxrs/model/TemporaryLocation.java org/folio/rest/jaxrs/model/classificationTypeVirtual.java org/folio/rest/jaxrs/model/contributorNameTypeVirtual.java org/folio/rest/jaxrs/model/itemNoteTypeVirtual.java org/folio/rest/jaxrs/model/materialTypeVirtual.java org/folio/rest/jaxrs/model/MarcJson.java org/folio/rest/jaxrs/model/InstanceRelationship.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/InstanceRelationship.java org/folio/rest/jaxrs/model/InstanceRelationships.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/AlternativeTitle.java org/folio/rest/jaxrs/model/CirculationNote.java org/folio/rest/jaxrs/model/Classification.java org/folio/rest/jaxrs/model/Contributor.java org/folio/rest/jaxrs/model/EffectiveCallNumberComponents.java org/folio/rest/jaxrs/model/ElectronicAccess.java org/folio/rest/jaxrs/model/ElectronicAccess_.java org/folio/rest/jaxrs/model/ElectronicAccess__.java org/folio/rest/jaxrs/model/Entry.java org/folio/rest/jaxrs/model/HoldingsInstance.java org/folio/rest/jaxrs/model/HoldingsItem.java org/folio/rest/jaxrs/model/HoldingsNoteTypeVirtual.java org/folio/rest/jaxrs/model/HoldingsRecord2.java org/folio/rest/jaxrs/model/HoldingsRecords2.java org/folio/rest/jaxrs/model/HoldingsStatement.java org/folio/rest/jaxrs/model/HoldingsStatementsForIndex.java org/folio/rest/jaxrs/model/HoldingsStatementsForSupplement.java org/folio/rest/jaxrs/model/Identifier.java org/folio/rest/jaxrs/model/IdentifierTypeObject.java org/folio/rest/jaxrs/model/IllPolicyVirtual.java org/folio/rest/jaxrs/model/Instance.java org/folio/rest/jaxrs/model/InstanceFormat.java org/folio/rest/jaxrs/model/InstancesPost.java org/folio/rest/jaxrs/model/LastCheckIn.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Note.java org/folio/rest/jaxrs/model/Note_.java org/folio/rest/jaxrs/model/Note__.java org/folio/rest/jaxrs/model/PermanentLocation.java org/folio/rest/jaxrs/model/PermanentLocation_.java org/folio/rest/jaxrs/model/Personal.java org/folio/rest/jaxrs/model/Publication.java org/folio/rest/jaxrs/model/PublicationPeriod.java org/folio/rest/jaxrs/model/ReceivingHistory.java org/folio/rest/jaxrs/model/Source.java org/folio/rest/jaxrs/model/Status.java org/folio/rest/jaxrs/model/Tags.java org/folio/rest/jaxrs/model/TemporaryLocation.java org/folio/rest/jaxrs/model/classificationTypeVirtual.java org/folio/rest/jaxrs/model/contributorNameTypeVirtual.java org/folio/rest/jaxrs/model/itemNoteTypeVirtual.java org/folio/rest/jaxrs/model/materialTypeVirtual.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/InstanceType.java org/folio/rest/jaxrs/model/InstanceTypes.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/InstanceType.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/CallNumber.java org/folio/rest/jaxrs/model/CallNumber_.java org/folio/rest/jaxrs/model/EffectiveLocation.java org/folio/rest/jaxrs/model/ElectronicAccess.java org/folio/rest/jaxrs/model/ElectronicAccess_.java org/folio/rest/jaxrs/model/Entry.java org/folio/rest/jaxrs/model/Holding.java org/folio/rest/jaxrs/model/HoldingsStatement.java org/folio/rest/jaxrs/model/HoldingsStatementsForIndex.java org/folio/rest/jaxrs/model/HoldingsStatementsForSupplement.java org/folio/rest/jaxrs/model/InventoryItemsAndHoldings.java org/folio/rest/jaxrs/model/Item.java org/folio/rest/jaxrs/model/Location.java org/folio/rest/jaxrs/model/Location_.java org/folio/rest/jaxrs/model/Location__.java org/folio/rest/jaxrs/model/Note.java org/folio/rest/jaxrs/model/Note_.java org/folio/rest/jaxrs/model/PermanentLocation.java org/folio/rest/jaxrs/model/PermanentLocation_.java org/folio/rest/jaxrs/model/ReceivingHistory.java org/folio/rest/jaxrs/model/StatisticalCode.java org/folio/rest/jaxrs/model/StatisticalCode_.java org/folio/rest/jaxrs/model/Tags.java org/folio/rest/jaxrs/model/Tags_.java org/folio/rest/jaxrs/model/TemporaryLocation.java org/folio/rest/jaxrs/model/TemporaryLocation_.java org/folio/rest/jaxrs/model/InventoryInstanceIds.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/InventoryUpdatedInstanceIds.java org/folio/rest/jaxrs/model/AlternativeTitle.java org/folio/rest/jaxrs/model/CirculationNote.java org/folio/rest/jaxrs/model/Classification.java org/folio/rest/jaxrs/model/Contributor.java org/folio/rest/jaxrs/model/EffectiveCallNumberComponents.java org/folio/rest/jaxrs/model/ElectronicAccess.java org/folio/rest/jaxrs/model/ElectronicAccess_.java org/folio/rest/jaxrs/model/ElectronicAccess__.java org/folio/rest/jaxrs/model/Entry.java org/folio/rest/jaxrs/model/HoldingsInstance.java org/folio/rest/jaxrs/model/HoldingsItem.java org/folio/rest/jaxrs/model/HoldingsNoteTypeVirtual.java org/folio/rest/jaxrs/model/HoldingsRecord2.java org/folio/rest/jaxrs/model/HoldingsRecords2.java org/folio/rest/jaxrs/model/HoldingsStatement.java org/folio/rest/jaxrs/model/HoldingsStatementsForIndex.java org/folio/rest/jaxrs/model/HoldingsStatementsForSupplement.java org/folio/rest/jaxrs/model/Identifier.java org/folio/rest/jaxrs/model/IdentifierTypeObject.java org/folio/rest/jaxrs/model/IllPolicyVirtual.java org/folio/rest/jaxrs/model/Instance.java org/folio/rest/jaxrs/model/InstanceFormat.java org/folio/rest/jaxrs/model/InventoryViewInstance.java org/folio/rest/jaxrs/model/LastCheckIn.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Note.java org/folio/rest/jaxrs/model/Note_.java org/folio/rest/jaxrs/model/Note__.java org/folio/rest/jaxrs/model/PermanentLocation.java org/folio/rest/jaxrs/model/PermanentLocation_.java org/folio/rest/jaxrs/model/Personal.java org/folio/rest/jaxrs/model/Publication.java org/folio/rest/jaxrs/model/PublicationPeriod.java org/folio/rest/jaxrs/model/ReceivingHistory.java org/folio/rest/jaxrs/model/Source.java org/folio/rest/jaxrs/model/Status.java org/folio/rest/jaxrs/model/Tags.java org/folio/rest/jaxrs/model/TemporaryLocation.java org/folio/rest/jaxrs/model/classificationTypeVirtual.java org/folio/rest/jaxrs/model/contributorNameTypeVirtual.java org/folio/rest/jaxrs/model/itemNoteTypeVirtual.java org/folio/rest/jaxrs/model/materialTypeVirtual.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/ItemDamageStatus.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/ItemDamageStatus.java org/folio/rest/jaxrs/model/ItemDamageStatuses.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/ItemNoteType.java org/folio/rest/jaxrs/model/ItemNoteTypes.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/ItemNoteType.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/AlternativeTitle.java org/folio/rest/jaxrs/model/Campus.java org/folio/rest/jaxrs/model/CirculationNote.java org/folio/rest/jaxrs/model/CirculationNote_.java org/folio/rest/jaxrs/model/Classification.java org/folio/rest/jaxrs/model/Contributor.java org/folio/rest/jaxrs/model/DereferencedItem.java org/folio/rest/jaxrs/model/Details.java org/folio/rest/jaxrs/model/EffectiveCallNumberComponents.java org/folio/rest/jaxrs/model/EffectiveCallNumberComponents_.java org/folio/rest/jaxrs/model/ElectronicAccess.java org/folio/rest/jaxrs/model/ElectronicAccess_.java org/folio/rest/jaxrs/model/ElectronicAccess__.java org/folio/rest/jaxrs/model/ElectronicAccess___.java org/folio/rest/jaxrs/model/Entry.java org/folio/rest/jaxrs/model/HoldShelfExpiryPeriod.java org/folio/rest/jaxrs/model/HoldingsInstance.java org/folio/rest/jaxrs/model/HoldingsItem.java org/folio/rest/jaxrs/model/HoldingsNoteTypeVirtual.java org/folio/rest/jaxrs/model/HoldingsRecord2.java org/folio/rest/jaxrs/model/HoldingsRecords2.java org/folio/rest/jaxrs/model/HoldingsStatement.java org/folio/rest/jaxrs/model/HoldingsStatementsForIndex.java org/folio/rest/jaxrs/model/HoldingsStatementsForSupplement.java org/folio/rest/jaxrs/model/Identifier.java org/folio/rest/jaxrs/model/IdentifierTypeObject.java org/folio/rest/jaxrs/model/IllPolicyVirtual.java org/folio/rest/jaxrs/model/InstanceFormat.java org/folio/rest/jaxrs/model/InstanceRecord.java org/folio/rest/jaxrs/model/Institution.java org/folio/rest/jaxrs/model/LastCheckIn.java org/folio/rest/jaxrs/model/LastCheckIn_.java org/folio/rest/jaxrs/model/Library.java org/folio/rest/jaxrs/model/MaterialType.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Note.java org/folio/rest/jaxrs/model/Note_.java org/folio/rest/jaxrs/model/Note__.java org/folio/rest/jaxrs/model/Note___.java org/folio/rest/jaxrs/model/PermanentLoanType.java org/folio/rest/jaxrs/model/PermanentLocation.java org/folio/rest/jaxrs/model/PermanentLocation_.java org/folio/rest/jaxrs/model/PermanentLocation__.java org/folio/rest/jaxrs/model/Personal.java org/folio/rest/jaxrs/model/Personal_.java org/folio/rest/jaxrs/model/PrimaryServicePointObject.java org/folio/rest/jaxrs/model/Publication.java org/folio/rest/jaxrs/model/PublicationPeriod.java org/folio/rest/jaxrs/model/ReceivingHistory.java org/folio/rest/jaxrs/model/Source.java org/folio/rest/jaxrs/model/Source_.java org/folio/rest/jaxrs/model/StaffSlip.java org/folio/rest/jaxrs/model/Status.java org/folio/rest/jaxrs/model/Status_.java org/folio/rest/jaxrs/model/Tags.java org/folio/rest/jaxrs/model/TemporaryLocation.java org/folio/rest/jaxrs/model/classificationTypeVirtual.java org/folio/rest/jaxrs/model/contributorNameTypeVirtual.java org/folio/rest/jaxrs/model/itemNoteTypeVirtual.java org/folio/rest/jaxrs/model/materialTypeVirtual.java org/folio/rest/jaxrs/model/AlternativeTitle.java org/folio/rest/jaxrs/model/Campus.java org/folio/rest/jaxrs/model/CirculationNote.java org/folio/rest/jaxrs/model/CirculationNote_.java org/folio/rest/jaxrs/model/Classification.java org/folio/rest/jaxrs/model/Contributor.java org/folio/rest/jaxrs/model/DereferencedItem.java org/folio/rest/jaxrs/model/DereferencedItems.java org/folio/rest/jaxrs/model/Details.java org/folio/rest/jaxrs/model/EffectiveCallNumberComponents.java org/folio/rest/jaxrs/model/EffectiveCallNumberComponents_.java org/folio/rest/jaxrs/model/ElectronicAccess.java org/folio/rest/jaxrs/model/ElectronicAccess_.java org/folio/rest/jaxrs/model/ElectronicAccess__.java org/folio/rest/jaxrs/model/ElectronicAccess___.java org/folio/rest/jaxrs/model/Entry.java org/folio/rest/jaxrs/model/HoldShelfExpiryPeriod.java org/folio/rest/jaxrs/model/HoldingsInstance.java org/folio/rest/jaxrs/model/HoldingsItem.java org/folio/rest/jaxrs/model/HoldingsNoteTypeVirtual.java org/folio/rest/jaxrs/model/HoldingsRecord2.java org/folio/rest/jaxrs/model/HoldingsRecords2.java org/folio/rest/jaxrs/model/HoldingsStatement.java org/folio/rest/jaxrs/model/HoldingsStatementsForIndex.java org/folio/rest/jaxrs/model/HoldingsStatementsForSupplement.java org/folio/rest/jaxrs/model/Identifier.java org/folio/rest/jaxrs/model/IdentifierTypeObject.java org/folio/rest/jaxrs/model/IllPolicyVirtual.java org/folio/rest/jaxrs/model/InstanceFormat.java org/folio/rest/jaxrs/model/InstanceRecord.java org/folio/rest/jaxrs/model/Institution.java org/folio/rest/jaxrs/model/LastCheckIn.java org/folio/rest/jaxrs/model/LastCheckIn_.java org/folio/rest/jaxrs/model/Library.java org/folio/rest/jaxrs/model/MaterialType.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Note.java org/folio/rest/jaxrs/model/Note_.java org/folio/rest/jaxrs/model/Note__.java org/folio/rest/jaxrs/model/Note___.java org/folio/rest/jaxrs/model/PermanentLoanType.java org/folio/rest/jaxrs/model/PermanentLocation.java org/folio/rest/jaxrs/model/PermanentLocation_.java org/folio/rest/jaxrs/model/PermanentLocation__.java org/folio/rest/jaxrs/model/Personal.java org/folio/rest/jaxrs/model/Personal_.java org/folio/rest/jaxrs/model/PrimaryServicePointObject.java org/folio/rest/jaxrs/model/Publication.java org/folio/rest/jaxrs/model/PublicationPeriod.java org/folio/rest/jaxrs/model/ReceivingHistory.java org/folio/rest/jaxrs/model/Source.java org/folio/rest/jaxrs/model/Source_.java org/folio/rest/jaxrs/model/StaffSlip.java org/folio/rest/jaxrs/model/Status.java org/folio/rest/jaxrs/model/Status_.java org/folio/rest/jaxrs/model/Tags.java org/folio/rest/jaxrs/model/TemporaryLocation.java org/folio/rest/jaxrs/model/classificationTypeVirtual.java org/folio/rest/jaxrs/model/contributorNameTypeVirtual.java org/folio/rest/jaxrs/model/itemNoteTypeVirtual.java org/folio/rest/jaxrs/model/materialTypeVirtual.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/CirculationNote.java org/folio/rest/jaxrs/model/EffectiveCallNumberComponents.java org/folio/rest/jaxrs/model/ElectronicAccess.java org/folio/rest/jaxrs/model/HoldingsRecord2.java org/folio/rest/jaxrs/model/Item.java org/folio/rest/jaxrs/model/LastCheckIn.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Note.java org/folio/rest/jaxrs/model/PermanentLocation.java org/folio/rest/jaxrs/model/Personal.java org/folio/rest/jaxrs/model/Source.java org/folio/rest/jaxrs/model/Status.java org/folio/rest/jaxrs/model/Tags.java org/folio/rest/jaxrs/model/TemporaryLocation.java org/folio/rest/jaxrs/model/itemNoteTypeVirtual.java org/folio/rest/jaxrs/model/materialTypeVirtual.java org/folio/rest/jaxrs/model/CirculationNote.java org/folio/rest/jaxrs/model/Diagnostic.java org/folio/rest/jaxrs/model/EffectiveCallNumberComponents.java org/folio/rest/jaxrs/model/ElectronicAccess.java org/folio/rest/jaxrs/model/Facet.java org/folio/rest/jaxrs/model/FacetValue.java org/folio/rest/jaxrs/model/HoldingsRecord2.java org/folio/rest/jaxrs/model/Item.java org/folio/rest/jaxrs/model/Items.java org/folio/rest/jaxrs/model/LastCheckIn.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Note.java org/folio/rest/jaxrs/model/PermanentLocation.java org/folio/rest/jaxrs/model/Personal.java org/folio/rest/jaxrs/model/ResultInfo.java org/folio/rest/jaxrs/model/Source.java org/folio/rest/jaxrs/model/Status.java org/folio/rest/jaxrs/model/Tags.java org/folio/rest/jaxrs/model/TemporaryLocation.java org/folio/rest/jaxrs/model/itemNoteTypeVirtual.java org/folio/rest/jaxrs/model/materialTypeVirtual.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/CirculationNote.java org/folio/rest/jaxrs/model/EffectiveCallNumberComponents.java org/folio/rest/jaxrs/model/ElectronicAccess.java org/folio/rest/jaxrs/model/HoldingsRecord2.java org/folio/rest/jaxrs/model/Item.java org/folio/rest/jaxrs/model/ItemsPost.java org/folio/rest/jaxrs/model/LastCheckIn.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Note.java org/folio/rest/jaxrs/model/PermanentLocation.java org/folio/rest/jaxrs/model/Personal.java org/folio/rest/jaxrs/model/Source.java org/folio/rest/jaxrs/model/Status.java org/folio/rest/jaxrs/model/Tags.java org/folio/rest/jaxrs/model/TemporaryLocation.java org/folio/rest/jaxrs/model/itemNoteTypeVirtual.java org/folio/rest/jaxrs/model/materialTypeVirtual.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/Loantype.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Loantype.java org/folio/rest/jaxrs/model/Loantypes.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/Campus.java org/folio/rest/jaxrs/model/Details.java org/folio/rest/jaxrs/model/HoldShelfExpiryPeriod.java org/folio/rest/jaxrs/model/Institution.java org/folio/rest/jaxrs/model/Library.java org/folio/rest/jaxrs/model/Location.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/PrimaryServicePointObject.java org/folio/rest/jaxrs/model/StaffSlip.java org/folio/rest/jaxrs/model/Campus.java org/folio/rest/jaxrs/model/Details.java org/folio/rest/jaxrs/model/HoldShelfExpiryPeriod.java org/folio/rest/jaxrs/model/Institution.java org/folio/rest/jaxrs/model/Library.java org/folio/rest/jaxrs/model/Location.java org/folio/rest/jaxrs/model/Locations.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/PrimaryServicePointObject.java org/folio/rest/jaxrs/model/StaffSlip.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/Locinst.java org/folio/rest/jaxrs/model/Locinsts.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Loccamp.java org/folio/rest/jaxrs/model/Loccamps.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Loclib.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Locinst.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Loccamp.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Loclib.java org/folio/rest/jaxrs/model/Loclibs.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Mtype.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Mtype.java org/folio/rest/jaxrs/model/Mtypes.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/IssuanceMode.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/IssuanceMode.java org/folio/rest/jaxrs/model/IssuanceModes.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/NatureOfContentTerm.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/NatureOfContentTerm.java org/folio/rest/jaxrs/model/NatureOfContentTerms.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/OaipmhInstanceIds.java org/folio/rest/jaxrs/model/OaipmhInstances.java org/folio/rest/jaxrs/model/OaipmhUpdatedInstanceIds.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/ItemsAndHoldingsFields.java org/folio/rest/jaxrs/model/OaipmhEnrichedInstances.java org/folio/rest/jaxrs/model/Diagnostic.java org/folio/rest/jaxrs/model/Facet.java org/folio/rest/jaxrs/model/FacetValue.java org/folio/rest/jaxrs/model/Ids.java org/folio/rest/jaxrs/model/ResultInfo.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/HoldShelfExpiryPeriod.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Servicepoint.java org/folio/rest/jaxrs/model/Servicepoints.java org/folio/rest/jaxrs/model/StaffSlip.java org/folio/rest/jaxrs/model/HoldShelfExpiryPeriod.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/Servicepoint.java org/folio/rest/jaxrs/model/StaffSlip.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/ServicePointsUser.java org/folio/rest/jaxrs/model/ServicePointsUsers.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/ServicePointsUser.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/Shelflocation.java org/folio/rest/jaxrs/model/Shelflocations.java org/folio/rest/jaxrs/model/Shelflocation.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/StatisticalCodeType.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/StatisticalCodeType.java org/folio/rest/jaxrs/model/StatisticalCodeTypes.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/StatisticalCode.java org/folio/rest/jaxrs/model/Metadata.java org/folio/rest/jaxrs/model/StatisticalCode.java org/folio/rest/jaxrs/model/StatisticalCodes.java org/folio/rest/jaxrs/model/Error.java org/folio/rest/jaxrs/model/Errors.java org/folio/rest/jaxrs/model/Parameter.java [INFO] [INFO] --- build-helper-maven-plugin:3.0.0:add-source (addGeneratedSourceFolder) @ mod-inventory-storage --- [INFO] Source directory: /home/julian/git/mod-inventory-storage/target/generated-sources/raml-jaxrs added. [INFO] [INFO] --- maven-resources-plugin:3.0.1:copy-resources (filter-descriptor-inputs) @ mod-inventory-storage --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 4 resources [INFO] [INFO] --- copy-rename-maven-plugin:1.0:rename (rename-descriptor-outputs) @ mod-inventory-storage --- [INFO] Renamed /home/julian/git/mod-inventory-storage/target/ModuleDescriptor-template.json to /home/julian/git/mod-inventory-storage/target/ModuleDescriptor.json [INFO] Renamed /home/julian/git/mod-inventory-storage/target/DeploymentDescriptor-template.json to /home/julian/git/mod-inventory-storage/target/DeploymentDescriptor.json [INFO] Renamed /home/julian/git/mod-inventory-storage/target/DeploymentDescriptor-environment-template.json to /home/julian/git/mod-inventory-storage/target/DeploymentDescriptor-environment.json [INFO] Renamed /home/julian/git/mod-inventory-storage/target/Install-template.json to /home/julian/git/mod-inventory-storage/target/Install.json [INFO] [INFO] --- license-maven-plugin:2.0.0:add-third-party (add-third-party) @ mod-inventory-storage --- [INFO] Writing third-party file to /home/julian/git/mod-inventory-storage/target/generated-sources/license/THIRD-PARTY.txt [INFO] [INFO] --- maven-resources-plugin:3.0.1:resources (default-resources) @ mod-inventory-storage --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 41 resources [INFO] skip non existing resourceDirectory /home/julian/git/mod-inventory-storage/target/generated-resources [INFO] Copying 1 resource [INFO] [INFO] --- maven-resources-plugin:3.0.1:copy-resources (copy-resources) @ mod-inventory-storage --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 342 resources [INFO] [INFO] --- maven-resources-plugin:3.0.1:copy-resources (copy-reference-data) @ mod-inventory-storage --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 601 resources [INFO] [INFO] --- maven-resources-plugin:3.0.1:copy-resources (copy-user-sample-data) @ mod-inventory-storage --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 300 resources [INFO] [INFO] --- maven-resources-plugin:3.0.1:copy-resources (copy-sample-data) @ mod-inventory-storage --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 80 resources [INFO] [INFO] --- maven-compiler-plugin:3.8.1:compile (default-compile) @ mod-inventory-storage --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 339 source files to /home/julian/git/mod-inventory-storage/target/classes [INFO] /home/julian/git/mod-inventory-storage/src/main/java/org/folio/rest/persist/PostgresClientFuturized.java: Some input files use or override a deprecated API. [INFO] /home/julian/git/mod-inventory-storage/src/main/java/org/folio/rest/persist/PostgresClientFuturized.java: Recompile with -Xlint:deprecation for details. [INFO] [INFO] --- aspectj-maven-plugin:1.12.6:compile (default) @ mod-inventory-storage --- [INFO] Showing AJC message detail for messages of types: [error, warning, fail] [WARNING] You aren't using a compiler supported by lombok, so lombok will not work and has been disabled. Your processor is: org.aspectj.org.eclipse.jdt.internal.compiler.apt.dispatch.BatchProcessingEnvImpl Lombok supports: OpenJDK javac, ECJ : [INFO] Join point 'method-execution(void org.folio.rest.impl.ItemStorageAPI.getItemStorageItems(int, int, java.lang.String, java.lang.String, io.vertx.ext.web.RoutingContext, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.ItemStorageAPI' (ItemStorageAPI.java:29) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.ItemStorageAPI.postItemStorageItems(java.lang.String, org.folio.rest.jaxrs.model.Item, io.vertx.ext.web.RoutingContext, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.ItemStorageAPI' (ItemStorageAPI.java:41) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.ItemStorageAPI.getItemStorageItemsByItemId(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.ItemStorageAPI' (ItemStorageAPI.java:54) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.ItemStorageAPI.deleteItemStorageItems(java.lang.String, io.vertx.ext.web.RoutingContext, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.ItemStorageAPI' (ItemStorageAPI.java:65) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.ItemStorageAPI.putItemStorageItemsByItemId(java.lang.String, java.lang.String, org.folio.rest.jaxrs.model.Item, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.ItemStorageAPI' (ItemStorageAPI.java:77) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.ItemStorageAPI.deleteItemStorageItemsByItemId(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.ItemStorageAPI' (ItemStorageAPI.java:89) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.InstanceRelationshipTypeAPI.getInstanceRelationshipTypes(java.lang.String, int, int, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.InstanceRelationshipTypeAPI' (InstanceRelationshipTypeAPI.java:47) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.InstanceRelationshipTypeAPI.postInstanceRelationshipTypes(java.lang.String, org.folio.rest.jaxrs.model.InstanceRelationshipType, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.InstanceRelationshipTypeAPI' (InstanceRelationshipTypeAPI.java:101) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.InstanceRelationshipTypeAPI.getInstanceRelationshipTypesByRelationshipTypeId(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.InstanceRelationshipTypeAPI' (InstanceRelationshipTypeAPI.java:144) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.InstanceRelationshipTypeAPI.deleteInstanceRelationshipTypesByRelationshipTypeId(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.InstanceRelationshipTypeAPI' (InstanceRelationshipTypeAPI.java:159) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.InstanceRelationshipTypeAPI.putInstanceRelationshipTypesByRelationshipTypeId(java.lang.String, java.lang.String, org.folio.rest.jaxrs.model.InstanceRelationshipType, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.InstanceRelationshipTypeAPI' (InstanceRelationshipTypeAPI.java:209) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.HoldingsBatchSyncAPI.postHoldingsStorageBatchSynchronous(boolean, org.folio.rest.jaxrs.model.HoldingsrecordsPost, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.HoldingsBatchSyncAPI' (HoldingsBatchSyncAPI.java:22) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.LoanTypeAPI.getLoanTypes(java.lang.String, int, int, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.LoanTypeAPI' (LoanTypeAPI.java:56) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.LoanTypeAPI.postLoanTypes(java.lang.String, org.folio.rest.jaxrs.model.Loantype, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.LoanTypeAPI' (LoanTypeAPI.java:103) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.LoanTypeAPI.getLoanTypesByLoantypeId(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.LoanTypeAPI' (LoanTypeAPI.java:145) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.LoanTypeAPI.deleteLoanTypesByLoantypeId(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.LoanTypeAPI' (LoanTypeAPI.java:154) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.LoanTypeAPI.putLoanTypesByLoantypeId(java.lang.String, java.lang.String, org.folio.rest.jaxrs.model.Loantype, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.LoanTypeAPI' (LoanTypeAPI.java:197) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.InstanceFormatAPI.getInstanceFormats(java.lang.String, int, int, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.InstanceFormatAPI' (InstanceFormatAPI.java:44) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.InstanceFormatAPI.postInstanceFormats(java.lang.String, org.folio.rest.jaxrs.model.InstanceFormat, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.InstanceFormatAPI' (InstanceFormatAPI.java:98) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.InstanceFormatAPI.getInstanceFormatsByInstanceFormatId(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.InstanceFormatAPI' (InstanceFormatAPI.java:142) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.InstanceFormatAPI.deleteInstanceFormatsByInstanceFormatId(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.InstanceFormatAPI' (InstanceFormatAPI.java:157) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.InstanceFormatAPI.putInstanceFormatsByInstanceFormatId(java.lang.String, java.lang.String, org.folio.rest.jaxrs.model.InstanceFormat, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.InstanceFormatAPI' (InstanceFormatAPI.java:207) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.IllPolicyAPI.getIllPolicies(java.lang.String, int, int, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.IllPolicyAPI' (IllPolicyAPI.java:49) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.RecordBulkAPI.getRecordBulkIds(org.folio.rest.jaxrs.model.RecordBulkIdsGetField, org.folio.rest.jaxrs.model.RecordBulkIdsGetRecordType, int, java.lang.String, int, java.lang.String, io.vertx.ext.web.RoutingContext, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.RecordBulkAPI' (RecordBulkAPI.java:40) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.InstanceTypeAPI.getInstanceTypes(java.lang.String, int, int, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.InstanceTypeAPI' (InstanceTypeAPI.java:44) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.InstanceTypeAPI.postInstanceTypes(java.lang.String, org.folio.rest.jaxrs.model.InstanceType, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.InstanceTypeAPI' (InstanceTypeAPI.java:98) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.InstanceTypeAPI.getInstanceTypesByInstanceTypeId(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.InstanceTypeAPI' (InstanceTypeAPI.java:141) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.InstanceTypeAPI.deleteInstanceTypesByInstanceTypeId(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.InstanceTypeAPI' (InstanceTypeAPI.java:156) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.InstanceTypeAPI.putInstanceTypesByInstanceTypeId(java.lang.String, java.lang.String, org.folio.rest.jaxrs.model.InstanceType, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.InstanceTypeAPI' (InstanceTypeAPI.java:206) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.OaiPmhViewInstancesAPI.getOaiPmhViewInstances(java.lang.String, java.lang.String, boolean, boolean, java.lang.String, io.vertx.ext.web.RoutingContext, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.OaiPmhViewInstancesAPI' (OaiPmhViewInstancesAPI.java:26) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.OaiPmhViewInstancesAPI.postOaiPmhViewEnrichedInstances(org.folio.rest.jaxrs.model.OaipmhInstanceIds, io.vertx.ext.web.RoutingContext, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.OaiPmhViewInstancesAPI' (OaiPmhViewInstancesAPI.java:38) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.OaiPmhViewInstancesAPI.getOaiPmhViewUpdatedInstanceIds(java.lang.String, java.lang.String, boolean, boolean, java.lang.String, io.vertx.ext.web.RoutingContext, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.OaiPmhViewInstancesAPI' (OaiPmhViewInstancesAPI.java:51) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.ContributorTypeAPI.getContributorTypes(java.lang.String, int, int, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.ContributorTypeAPI' (ContributorTypeAPI.java:44) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.ContributorTypeAPI.postContributorTypes(java.lang.String, org.folio.rest.jaxrs.model.ContributorType, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.ContributorTypeAPI' (ContributorTypeAPI.java:98) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.ContributorTypeAPI.getContributorTypesByContributorTypeId(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.ContributorTypeAPI' (ContributorTypeAPI.java:141) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.ContributorTypeAPI.deleteContributorTypesByContributorTypeId(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.ContributorTypeAPI' (ContributorTypeAPI.java:156) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.ContributorTypeAPI.putContributorTypesByContributorTypeId(java.lang.String, java.lang.String, org.folio.rest.jaxrs.model.ContributorType, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.ContributorTypeAPI' (ContributorTypeAPI.java:206) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.CallNumberTypeAPI.getCallNumberTypes(java.lang.String, int, int, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.CallNumberTypeAPI' (CallNumberTypeAPI.java:45) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.CallNumberTypeAPI.postCallNumberTypes(java.lang.String, org.folio.rest.jaxrs.model.CallNumberType, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.CallNumberTypeAPI' (CallNumberTypeAPI.java:52) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.CallNumberTypeAPI.getCallNumberTypesById(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.CallNumberTypeAPI' (CallNumberTypeAPI.java:92) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.CallNumberTypeAPI.deleteCallNumberTypesById(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.CallNumberTypeAPI' (CallNumberTypeAPI.java:99) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.CallNumberTypeAPI.putCallNumberTypesById(java.lang.String, java.lang.String, org.folio.rest.jaxrs.model.CallNumberType, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.CallNumberTypeAPI' (CallNumberTypeAPI.java:140) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.HridSettingsStorageAPI.getHridSettingsStorageHridSettings(java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.HridSettingsStorageAPI' (HridSettingsStorageAPI.java:25) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.HridSettingsStorageAPI.putHridSettingsStorageHridSettings(org.folio.rest.jaxrs.model.HridSettings, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.HridSettingsStorageAPI' (HridSettingsStorageAPI.java:47) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.InventoryHierarchyAPI.getInventoryHierarchyUpdatedInstanceIds(java.lang.String, java.lang.String, boolean, boolean, boolean, java.lang.String, io.vertx.ext.web.RoutingContext, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.InventoryHierarchyAPI' (InventoryHierarchyAPI.java:41) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.InventoryHierarchyAPI.postInventoryHierarchyItemsAndHoldings(org.folio.rest.jaxrs.model.InventoryInstanceIds, io.vertx.ext.web.RoutingContext, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.InventoryHierarchyAPI' (InventoryHierarchyAPI.java:67) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.AuthorityNoteTypeAPI.getAuthorityNoteTypes(java.lang.String, int, int, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.AuthorityNoteTypeAPI' (AuthorityNoteTypeAPI.java:20) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.AuthorityNoteTypeAPI.postAuthorityNoteTypes(java.lang.String, org.folio.rest.jaxrs.model.AuthorityNoteType, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.AuthorityNoteTypeAPI' (AuthorityNoteTypeAPI.java:28) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.AuthorityNoteTypeAPI.getAuthorityNoteTypesById(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.AuthorityNoteTypeAPI' (AuthorityNoteTypeAPI.java:36) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.AuthorityNoteTypeAPI.deleteAuthorityNoteTypesById(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.AuthorityNoteTypeAPI' (AuthorityNoteTypeAPI.java:44) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.AuthorityNoteTypeAPI.putAuthorityNoteTypesById(java.lang.String, java.lang.String, org.folio.rest.jaxrs.model.AuthorityNoteType, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.AuthorityNoteTypeAPI' (AuthorityNoteTypeAPI.java:52) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.PrecedingSucceedingTitleAPI.getPrecedingSucceedingTitles(int, int, java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.PrecedingSucceedingTitleAPI' (PrecedingSucceedingTitleAPI.java:30) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.PrecedingSucceedingTitleAPI.postPrecedingSucceedingTitles(java.lang.String, org.folio.rest.jaxrs.model.PrecedingSucceedingTitle, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.PrecedingSucceedingTitleAPI' (PrecedingSucceedingTitleAPI.java:38) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.PrecedingSucceedingTitleAPI.putPrecedingSucceedingTitlesInstancesByInstanceId(java.lang.String, org.folio.rest.jaxrs.model.PrecedingSucceedingTitles, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.PrecedingSucceedingTitleAPI' (PrecedingSucceedingTitleAPI.java:51) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.PrecedingSucceedingTitleAPI.getPrecedingSucceedingTitlesByPrecedingSucceedingTitleId(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.PrecedingSucceedingTitleAPI' (PrecedingSucceedingTitleAPI.java:68) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.PrecedingSucceedingTitleAPI.deletePrecedingSucceedingTitlesByPrecedingSucceedingTitleId(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.PrecedingSucceedingTitleAPI' (PrecedingSucceedingTitleAPI.java:76) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.PrecedingSucceedingTitleAPI.putPrecedingSucceedingTitlesByPrecedingSucceedingTitleId(java.lang.String, java.lang.String, org.folio.rest.jaxrs.model.PrecedingSucceedingTitle, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.PrecedingSucceedingTitleAPI' (PrecedingSucceedingTitleAPI.java:84) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.InstanceBatchSyncAPI.postInstanceStorageBatchSynchronous(boolean, org.folio.rest.jaxrs.model.InstancesPost, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.InstanceBatchSyncAPI' (InstanceBatchSyncAPI.java:21) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.ClassificationTypeAPI.getClassificationTypes(java.lang.String, int, int, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.ClassificationTypeAPI' (ClassificationTypeAPI.java:48) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.ClassificationTypeAPI.postClassificationTypes(java.lang.String, org.folio.rest.jaxrs.model.ClassificationType, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.ClassificationTypeAPI' (ClassificationTypeAPI.java:102) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.ClassificationTypeAPI.getClassificationTypesByClassificationTypeId(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.ClassificationTypeAPI' (ClassificationTypeAPI.java:145) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.ClassificationTypeAPI.deleteClassificationTypesByClassificationTypeId(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.ClassificationTypeAPI' (ClassificationTypeAPI.java:161) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.ClassificationTypeAPI.putClassificationTypesByClassificationTypeId(java.lang.String, java.lang.String, org.folio.rest.jaxrs.model.ClassificationType, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.ClassificationTypeAPI' (ClassificationTypeAPI.java:211) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.ItemStorageDereferencedAPI.getItemStorageDereferencedItems(int, int, java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.ItemStorageDereferencedAPI' (ItemStorageDereferencedAPI.java:77) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.ItemStorageDereferencedAPI.getItemStorageDereferencedItemsByItemId(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.ItemStorageDereferencedAPI' (ItemStorageDereferencedAPI.java:119) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.ItemBatchSyncAPI.postItemStorageBatchSynchronous(boolean, org.folio.rest.jaxrs.model.ItemsPost, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.ItemBatchSyncAPI' (ItemBatchSyncAPI.java:22) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.IdentifierTypeAPI.getIdentifierTypes(java.lang.String, int, int, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.IdentifierTypeAPI' (IdentifierTypeAPI.java:44) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.IdentifierTypeAPI.postIdentifierTypes(java.lang.String, org.folio.rest.jaxrs.model.IdentifierType, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.IdentifierTypeAPI' (IdentifierTypeAPI.java:98) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.IdentifierTypeAPI.getIdentifierTypesByIdentifierTypeId(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.IdentifierTypeAPI' (IdentifierTypeAPI.java:141) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.IdentifierTypeAPI.deleteIdentifierTypesByIdentifierTypeId(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.IdentifierTypeAPI' (IdentifierTypeAPI.java:156) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.IdentifierTypeAPI.putIdentifierTypesByIdentifierTypeId(java.lang.String, java.lang.String, org.folio.rest.jaxrs.model.IdentifierType, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.IdentifierTypeAPI' (IdentifierTypeAPI.java:206) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(io.vertx.core.Future org.folio.rest.impl.TenantRefAPI.loadData(org.folio.rest.jaxrs.model.TenantAttributes, java.lang.String, java.util.Map, io.vertx.core.Context))' in Type 'org.folio.rest.impl.TenantRefAPI' (TenantRefAPI.java:111) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.TenantRefAPI.postTenant(org.folio.rest.jaxrs.model.TenantAttributes, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.TenantRefAPI' (TenantRefAPI.java:163) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.MaterialTypeAPI.getMaterialTypes(java.lang.String, int, int, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.MaterialTypeAPI' (MaterialTypeAPI.java:49) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.MaterialTypeAPI.postMaterialTypes(java.lang.String, org.folio.rest.jaxrs.model.Mtype, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.MaterialTypeAPI' (MaterialTypeAPI.java:97) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.MaterialTypeAPI.getMaterialTypesByMaterialtypeId(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.MaterialTypeAPI' (MaterialTypeAPI.java:151) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.MaterialTypeAPI.deleteMaterialTypesByMaterialtypeId(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.MaterialTypeAPI' (MaterialTypeAPI.java:161) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.MaterialTypeAPI.putMaterialTypesByMaterialtypeId(java.lang.String, java.lang.String, org.folio.rest.jaxrs.model.Mtype, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.MaterialTypeAPI' (MaterialTypeAPI.java:170) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.HoldingsStorageAPI.deleteHoldingsStorageHoldings(java.lang.String, io.vertx.ext.web.RoutingContext, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.HoldingsStorageAPI' (HoldingsStorageAPI.java:39) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.HoldingsStorageAPI.getHoldingsStorageHoldings(int, int, java.lang.String, java.lang.String, io.vertx.ext.web.RoutingContext, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.HoldingsStorageAPI' (HoldingsStorageAPI.java:53) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.HoldingsStorageAPI.postHoldingsStorageHoldings(java.lang.String, org.folio.rest.jaxrs.model.HoldingsRecord, io.vertx.ext.web.RoutingContext, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.HoldingsStorageAPI' (HoldingsStorageAPI.java:65) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.HoldingsStorageAPI.getHoldingsStorageHoldingsByHoldingsRecordId(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.HoldingsStorageAPI' (HoldingsStorageAPI.java:79) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.HoldingsStorageAPI.deleteHoldingsStorageHoldingsByHoldingsRecordId(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.HoldingsStorageAPI' (HoldingsStorageAPI.java:92) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.HoldingsStorageAPI.putHoldingsStorageHoldingsByHoldingsRecordId(java.lang.String, java.lang.String, org.folio.rest.jaxrs.model.HoldingsRecord, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.HoldingsStorageAPI' (HoldingsStorageAPI.java:106) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.ContributorNameTypeAPI.getContributorNameTypes(java.lang.String, int, int, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.ContributorNameTypeAPI' (ContributorNameTypeAPI.java:32) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.ContributorNameTypeAPI.postContributorNameTypes(java.lang.String, org.folio.rest.jaxrs.model.ContributorNameType, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.ContributorNameTypeAPI' (ContributorNameTypeAPI.java:50) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.ContributorNameTypeAPI.getContributorNameTypesByContributorNameTypeId(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.ContributorNameTypeAPI' (ContributorNameTypeAPI.java:92) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.ContributorNameTypeAPI.deleteContributorNameTypesByContributorNameTypeId(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.ContributorNameTypeAPI' (ContributorNameTypeAPI.java:108) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.ContributorNameTypeAPI.putContributorNameTypesByContributorNameTypeId(java.lang.String, java.lang.String, org.folio.rest.jaxrs.model.ContributorNameType, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.ContributorNameTypeAPI' (ContributorNameTypeAPI.java:158) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.AlternativeTitleTypeAPI.getAlternativeTitleTypes(java.lang.String, int, int, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.AlternativeTitleTypeAPI' (AlternativeTitleTypeAPI.java:42) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.AlternativeTitleTypeAPI.postAlternativeTitleTypes(java.lang.String, org.folio.rest.jaxrs.model.AlternativeTitleType, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.AlternativeTitleTypeAPI' (AlternativeTitleTypeAPI.java:52) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.AlternativeTitleTypeAPI.getAlternativeTitleTypesById(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.AlternativeTitleTypeAPI' (AlternativeTitleTypeAPI.java:92) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.AlternativeTitleTypeAPI.deleteAlternativeTitleTypesById(java.lang.String, java.lang.String, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.AlternativeTitleTypeAPI' (AlternativeTitleTypeAPI.java:99) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] Join point 'method-execution(void org.folio.rest.impl.AlternativeTitleTypeAPI.putAlternativeTitleTypesById(java.lang.String, java.lang.String, org.folio.rest.jaxrs.model.AlternativeTitleType, java.util.Map, io.vertx.core.Handler, io.vertx.core.Context))' in Type 'org.folio.rest.impl.AlternativeTitleTypeAPI' (AlternativeTitleTypeAPI.java:140) advised by before advice from 'org.folio.rest.annotations.RestValidator' (domain-models-api-aspects-33.1.1.jar!RestValidator.class:37(from RestValidator.aj)) [INFO] [INFO] --- maven-resources-plugin:3.0.1:testResources (default-testResources) @ mod-inventory-storage --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 4 resources [INFO] [INFO] --- maven-compiler-plugin:3.8.1:testCompile (default-testCompile) @ mod-inventory-storage --- [INFO] Changes detected - recompiling the module! [INFO] Compiling 140 source files to /home/julian/git/mod-inventory-storage/target/test-classes [INFO] /home/julian/git/mod-inventory-storage/src/test/java/org/folio/rest/api/ItemDamagedStatusAPITest.java: Some input files use or override a deprecated API. [INFO] /home/julian/git/mod-inventory-storage/src/test/java/org/folio/rest/api/ItemDamagedStatusAPITest.java: Recompile with -Xlint:deprecation for details. [INFO] /home/julian/git/mod-inventory-storage/src/test/java/org/folio/rest/unit/ItemDamagedStatusAPIUnitTest.java: Some input files use unchecked or unsafe operations. [INFO] /home/julian/git/mod-inventory-storage/src/test/java/org/folio/rest/unit/ItemDamagedStatusAPIUnitTest.java: Recompile with -Xlint:unchecked for details. [INFO] [INFO] --- maven-surefire-plugin:2.19.1:test (default-test) @ mod-inventory-storage --- ------------------------------------------------------- T E S T S ------------------------------------------------------- Running org.folio.rest.api.SampleDataTest 09:32:54 [] [] [] [] INFO TestBase starting @BeforeClass testBaseBeforeClass() SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. 09:32:54 [] [] [] [] INFO StorageTestSuite starting @BeforeClass before() 09:33:04 [] [] [] [] INFO StorageTestSuite starting Kafka host=localhost port=49332 09:33:04 [] [] [] [] INFO StorageTestSuite starting RestVerticle 09:33:04 [] [] [] [] INFO RestVerticle git: https://github.com/folio-org/raml-module-builder.git fde49cf0066c1f0e038d8295a03749e54c6607dc 09:33:04 [] [] [] [] INFO RestVerticle metrics enabled: false 09:33:04 [] [] [] [] INFO Messages Loading messages from /infra-messages/APIMessages_en.properties ................................ 09:33:04 [] [] [] [] INFO Messages Loading messages from /infra-messages/APIMessages_de.properties ................................ 09:33:04 [] [] [] [] INFO Version HV000001: Hibernate Validator 6.1.5.Final 09:33:05 [] [] [] [] INFO RestRouting Adding route DELETE /item-note-types/{id} -> deleteItemNoteTypesById 09:33:05 [] [] [] [] INFO RestRouting Adding route GET /item-note-types/{id} -> getItemNoteTypesById 09:33:05 [] [] [] [] INFO RestRouting Adding route PUT /item-note-types/{id} -> putItemNoteTypesById 09:33:05 [] [] [] [] INFO RestRouting Adding route GET /item-note-types -> getItemNoteTypes 09:33:05 [] [] [] [] INFO RestRouting Adding route POST /item-note-types -> postItemNoteTypes 09:33:05 [] [] [] [] INFO RestRouting Adding route DELETE /call-number-types/{id} -> deleteCallNumberTypesById 09:33:05 [] [] [] [] INFO RestRouting Adding route GET /call-number-types/{id} -> getCallNumberTypesById 09:33:05 [] [] [] [] INFO RestRouting Adding route PUT /call-number-types/{id} -> putCallNumberTypesById 09:33:05 [] [] [] [] INFO RestRouting Adding route GET /call-number-types -> getCallNumberTypes 09:33:05 [] [] [] [] INFO RestRouting Adding route POST /call-number-types -> postCallNumberTypes 09:33:05 [] [] [] [] INFO RestRouting Adding route DELETE /inventory-storage/bound-with-parts/{id} -> deleteInventoryStorageBoundWithPartsById 09:33:05 [] [] [] [] INFO RestRouting Adding route GET /inventory-storage/bound-with-parts/{id} -> getInventoryStorageBoundWithPartsById 09:33:05 [] [] [] [] INFO RestRouting Adding route PUT /inventory-storage/bound-with-parts/{id} -> putInventoryStorageBoundWithPartsById 09:33:05 [] [] [] [] INFO RestRouting Adding route GET /inventory-storage/bound-with-parts -> getInventoryStorageBoundWithParts 09:33:05 [] [] [] [] INFO RestRouting Adding route POST /inventory-storage/bound-with-parts -> postInventoryStorageBoundWithParts 09:33:05 [] [] [] [] INFO RestRouting Adding route DELETE /holdings-sources/{id} -> deleteHoldingsSourcesById 09:33:05 [] [] [] [] INFO RestRouting Adding route GET /holdings-sources/{id} -> getHoldingsSourcesById 09:33:05 [] [] [] [] INFO RestRouting Adding route PUT /holdings-sources/{id} -> putHoldingsSourcesById 09:33:05 [] [] [] [] INFO RestRouting Adding route GET /holdings-sources -> getHoldingsSources 09:33:05 [] [] [] [] INFO RestRouting Adding route POST /holdings-sources -> postHoldingsSources 09:33:05 [] [] [] [] INFO RestRouting Adding route DELETE /holdings-note-types/{id} -> deleteHoldingsNoteTypesById 09:33:05 [] [] [] [] INFO RestRouting Adding route GET /holdings-note-types/{id} -> getHoldingsNoteTypesById 09:33:05 [] [] [] [] INFO RestRouting Adding route PUT /holdings-note-types/{id} -> putHoldingsNoteTypesById 09:33:05 [] [] [] [] INFO RestRouting Adding route GET /holdings-note-types -> getHoldingsNoteTypes 09:33:05 [] [] [] [] INFO RestRouting Adding route POST /holdings-note-types -> postHoldingsNoteTypes 09:33:05 [] [] [] [] INFO RestRouting Adding route DELETE /holdings-storage/holdings -> deleteHoldingsStorageHoldings 09:33:05 [] [] [] [] INFO RestRouting Adding route GET /holdings-storage/holdings -> getHoldingsStorageHoldings 09:33:05 [] [] [] [] INFO RestRouting Adding route POST /holdings-storage/holdings -> postHoldingsStorageHoldings 09:33:05 [] [] [] [] INFO RestRouting Adding route DELETE /holdings-storage/holdings/{holdingsRecordId} -> deleteHoldingsStorageHoldingsByHoldingsRecordId 09:33:05 [] [] [] [] INFO RestRouting Adding route GET /holdings-storage/holdings/{holdingsRecordId} -> getHoldingsStorageHoldingsByHoldingsRecordId 09:33:05 [] [] [] [] INFO RestRouting Adding route PUT /holdings-storage/holdings/{holdingsRecordId} -> putHoldingsStorageHoldingsByHoldingsRecordId 09:33:05 [] [] [] [] INFO RestRouting Adding route GET /hrid-settings-storage/hrid-settings -> getHridSettingsStorageHridSettings 09:33:05 [] [] [] [] INFO RestRouting Adding route PUT /hrid-settings-storage/hrid-settings -> putHridSettingsStorageHridSettings 09:33:05 [] [] [] [] INFO RestRouting Adding route DELETE /contributor-types/{contributorTypeId} -> deleteContributorTypesByContributorTypeId 09:33:05 [] [] [] [] INFO RestRouting Adding route GET /contributor-types/{contributorTypeId} -> getContributorTypesByContributorTypeId 09:33:05 [] [] [] [] INFO RestRouting Adding route PUT /contributor-types/{contributorTypeId} -> putContributorTypesByContributorTypeId 09:33:05 [] [] [] [] INFO RestRouting Adding route GET /contributor-types -> getContributorTypes 09:33:05 [] [] [] [] INFO RestRouting Adding route POST /contributor-types -> postContributorTypes 09:33:05 [] [] [] [] INFO RestRouting Adding route GET /item-storage-dereferenced/items -> getItemStorageDereferencedItems 09:33:05 [] [] [] [] INFO RestRouting Adding route GET /item-storage-dereferenced/items/{itemId} -> getItemStorageDereferencedItemsByItemId 09:33:05 [] [] [] [] INFO RestRouting Adding route GET /_/ramls -> getRamls 09:33:05 [] [] [] [] INFO RestRouting Adding route GET /record-bulk/ids -> getRecordBulkIds 09:33:05 [] [] [] [] INFO RestRouting Adding route GET /inventory-hierarchy/updated-instance-ids -> getInventoryHierarchyUpdatedInstanceIds 09:33:05 [] [] [] [] INFO RestRouting Adding route POST /inventory-hierarchy/items-and-holdings -> postInventoryHierarchyItemsAndHoldings 09:33:05 [] [] [] [] INFO RestRouting Adding route DELETE /statistical-code-types -> deleteStatisticalCodeTypes 09:33:05 [] [] [] [] INFO RestRouting Adding route GET /statistical-code-types -> getStatisticalCodeTypes 09:33:05 [] [] [] [] INFO RestRouting Adding route POST /statistical-code-types -> postStatisticalCodeTypes 09:33:05 [] [] [] [] INFO RestRouting Adding route DELETE /statistical-code-types/{statisticalCodeTypeId} -> deleteStatisticalCodeTypesByStatisticalCodeTypeId 09:33:05 [] [] [] [] INFO RestRouting Adding route GET /statistical-code-types/{statisticalCodeTypeId} -> getStatisticalCodeTypesByStatisticalCodeTypeId 09:33:05 [] [] [] [] INFO RestRouting Adding route PUT /statistical-code-types/{statisticalCodeTypeId} -> putStatisticalCodeTypesByStatisticalCodeTypeId 09:33:06 [] [] [] [] INFO RestRouting Adding route DELETE /contributor-name-types/{contributorNameTypeId} -> deleteContributorNameTypesByContributorNameTypeId 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /contributor-name-types/{contributorNameTypeId} -> getContributorNameTypesByContributorNameTypeId 09:33:06 [] [] [] [] INFO RestRouting Adding route PUT /contributor-name-types/{contributorNameTypeId} -> putContributorNameTypesByContributorNameTypeId 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /contributor-name-types -> getContributorNameTypes 09:33:06 [] [] [] [] INFO RestRouting Adding route POST /contributor-name-types -> postContributorNameTypes 09:33:06 [] [] [] [] INFO RestRouting Looks like org.folio.rest.jaxrs.resource.Rmbtests is not implemented 09:33:06 [] [] [] [] INFO RestRouting Adding route DELETE /instance-storage/instances/iteration/{id} -> deleteInstanceStorageInstancesIterationById 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /instance-storage/instances/iteration/{id} -> getInstanceStorageInstancesIterationById 09:33:06 [] [] [] [] INFO RestRouting Adding route POST /instance-storage/instances/iteration -> postInstanceStorageInstancesIteration 09:33:06 [] [] [] [] INFO RestRouting Adding route DELETE /material-types -> deleteMaterialTypes 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /material-types -> getMaterialTypes 09:33:06 [] [] [] [] INFO RestRouting Adding route POST /material-types -> postMaterialTypes 09:33:06 [] [] [] [] INFO RestRouting Adding route DELETE /material-types/{materialtypeId} -> deleteMaterialTypesByMaterialtypeId 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /material-types/{materialtypeId} -> getMaterialTypesByMaterialtypeId 09:33:06 [] [] [] [] INFO RestRouting Adding route PUT /material-types/{materialtypeId} -> putMaterialTypesByMaterialtypeId 09:33:06 [] [] [] [] INFO RestRouting Adding route DELETE /ill-policies/{id} -> deleteIllPoliciesById 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /ill-policies/{id} -> getIllPoliciesById 09:33:06 [] [] [] [] INFO RestRouting Adding route PUT /ill-policies/{id} -> putIllPoliciesById 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /ill-policies -> getIllPolicies 09:33:06 [] [] [] [] INFO RestRouting Adding route POST /ill-policies -> postIllPolicies 09:33:06 [] [] [] [] INFO RestRouting Adding route DELETE /authority-storage/authorities -> deleteAuthorityStorageAuthorities 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /authority-storage/authorities -> getAuthorityStorageAuthorities 09:33:06 [] [] [] [] INFO RestRouting Adding route POST /authority-storage/authorities -> postAuthorityStorageAuthorities 09:33:06 [] [] [] [] INFO RestRouting Adding route DELETE /authority-storage/authorities/{authorityId} -> deleteAuthorityStorageAuthoritiesByAuthorityId 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /authority-storage/authorities/{authorityId} -> getAuthorityStorageAuthoritiesByAuthorityId 09:33:06 [] [] [] [] INFO RestRouting Adding route PUT /authority-storage/authorities/{authorityId} -> putAuthorityStorageAuthoritiesByAuthorityId 09:33:06 [] [] [] [] INFO RestRouting Adding route DELETE /classification-types/{classificationTypeId} -> deleteClassificationTypesByClassificationTypeId 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /classification-types/{classificationTypeId} -> getClassificationTypesByClassificationTypeId 09:33:06 [] [] [] [] INFO RestRouting Adding route PUT /classification-types/{classificationTypeId} -> putClassificationTypesByClassificationTypeId 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /classification-types -> getClassificationTypes 09:33:06 [] [] [] [] INFO RestRouting Adding route POST /classification-types -> postClassificationTypes 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /oai-pmh-view/instances -> getOaiPmhViewInstances 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /oai-pmh-view/updatedInstanceIds -> getOaiPmhViewUpdatedInstanceIds 09:33:06 [] [] [] [] INFO RestRouting Adding route POST /oai-pmh-view/enrichedInstances -> postOaiPmhViewEnrichedInstances 09:33:06 [] [] [] [] INFO RestRouting Adding route DELETE /holdings-types/{id} -> deleteHoldingsTypesById 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /holdings-types/{id} -> getHoldingsTypesById 09:33:06 [] [] [] [] INFO RestRouting Adding route PUT /holdings-types/{id} -> putHoldingsTypesById 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /holdings-types -> getHoldingsTypes 09:33:06 [] [] [] [] INFO RestRouting Adding route POST /holdings-types -> postHoldingsTypes 09:33:06 [] [] [] [] INFO RestRouting Adding route DELETE /instance-types/{instanceTypeId} -> deleteInstanceTypesByInstanceTypeId 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /instance-types/{instanceTypeId} -> getInstanceTypesByInstanceTypeId 09:33:06 [] [] [] [] INFO RestRouting Adding route PUT /instance-types/{instanceTypeId} -> putInstanceTypesByInstanceTypeId 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /instance-types -> getInstanceTypes 09:33:06 [] [] [] [] INFO RestRouting Adding route POST /instance-types -> postInstanceTypes 09:33:06 [] [] [] [] INFO RestRouting Adding route DELETE /_/tenant/{operation_id} -> deleteTenantByOperationId 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /_/tenant/{operation_id} -> getTenantByOperationId 09:33:06 [] [] [] [] INFO RestRouting Adding route POST /_/tenant -> postTenant 09:33:06 [] [] [] [] INFO RestRouting Adding route DELETE /modes-of-issuance -> deleteModesOfIssuance 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /modes-of-issuance -> getModesOfIssuance 09:33:06 [] [] [] [] INFO RestRouting Adding route POST /modes-of-issuance -> postModesOfIssuance 09:33:06 [] [] [] [] INFO RestRouting Adding route DELETE /modes-of-issuance/{modeOfIssuanceId} -> deleteModesOfIssuanceByModeOfIssuanceId 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /modes-of-issuance/{modeOfIssuanceId} -> getModesOfIssuanceByModeOfIssuanceId 09:33:06 [] [] [] [] INFO RestRouting Adding route PUT /modes-of-issuance/{modeOfIssuanceId} -> putModesOfIssuanceByModeOfIssuanceId 09:33:06 [] [] [] [] INFO RestRouting Adding route DELETE /admin/kill_query -> deleteAdminKillQuery 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /admin/cache_hit_rates -> getAdminCacheHitRates 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /admin/db_cache_summary -> getAdminDbCacheSummary 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /admin/health -> getAdminHealth 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /admin/jstack -> getAdminJstack 09:33:06 [] [] [] [] INFO RestRouting Adding route PUT /admin/jstack -> putAdminJstack 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /admin/list_locking_queries -> getAdminListLockingQueries 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /admin/loglevel -> getAdminLoglevel 09:33:06 [] [] [] [] INFO RestRouting Adding route PUT /admin/loglevel -> putAdminLoglevel 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /admin/memory -> getAdminMemory 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /admin/postgres_active_sessions -> getAdminPostgresActiveSessions 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /admin/postgres_load -> getAdminPostgresLoad 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /admin/postgres_table_access_stats -> getAdminPostgresTableAccessStats 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /admin/postgres_table_size -> getAdminPostgresTableSize 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /admin/slow_queries -> getAdminSlowQueries 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /admin/table_index_usage -> getAdminTableIndexUsage 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /admin/total_db_size -> getAdminTotalDbSize 09:33:06 [] [] [] [] INFO RestRouting Adding route POST /admin/get_password -> postAdminGetPassword 09:33:06 [] [] [] [] INFO RestRouting Adding route POST /admin/importSQL -> postAdminImportSQL 09:33:06 [] [] [] [] INFO RestRouting Adding route POST /admin/postgres_maintenance -> postAdminPostgresMaintenance 09:33:06 [] [] [] [] INFO RestRouting Adding route POST /admin/set_AES_key -> postAdminSetAESKey 09:33:06 [] [] [] [] INFO RestRouting Adding route PUT /admin/postgres_create_indexes -> putAdminPostgresCreateIndexes 09:33:06 [] [] [] [] INFO RestRouting Adding route PUT /admin/postgres_drop_indexes -> putAdminPostgresDropIndexes 09:33:06 [] [] [] [] INFO RestRouting Adding route DELETE /electronic-access-relationships/{electronicAccessRelationshipId} -> deleteElectronicAccessRelationshipsByElectronicAccessRelationshipId 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /electronic-access-relationships/{electronicAccessRelationshipId} -> getElectronicAccessRelationshipsByElectronicAccessRelationshipId 09:33:06 [] [] [] [] INFO RestRouting Adding route PUT /electronic-access-relationships/{electronicAccessRelationshipId} -> putElectronicAccessRelationshipsByElectronicAccessRelationshipId 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /electronic-access-relationships -> getElectronicAccessRelationships 09:33:06 [] [] [] [] INFO RestRouting Adding route POST /electronic-access-relationships -> postElectronicAccessRelationships 09:33:06 [] [] [] [] INFO RestRouting Adding route DELETE /alternative-title-types/{id} -> deleteAlternativeTitleTypesById 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /alternative-title-types/{id} -> getAlternativeTitleTypesById 09:33:06 [] [] [] [] INFO RestRouting Adding route PUT /alternative-title-types/{id} -> putAlternativeTitleTypesById 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /alternative-title-types -> getAlternativeTitleTypes 09:33:06 [] [] [] [] INFO RestRouting Adding route POST /alternative-title-types -> postAlternativeTitleTypes 09:33:06 [] [] [] [] INFO RestRouting Adding route DELETE /service-points-users -> deleteServicePointsUsers 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /service-points-users -> getServicePointsUsers 09:33:06 [] [] [] [] INFO RestRouting Adding route POST /service-points-users -> postServicePointsUsers 09:33:06 [] [] [] [] INFO RestRouting Adding route DELETE /service-points-users/{servicePointsUserId} -> deleteServicePointsUsersByServicePointsUserId 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /service-points-users/{servicePointsUserId} -> getServicePointsUsersByServicePointsUserId 09:33:06 [] [] [] [] INFO RestRouting Adding route PUT /service-points-users/{servicePointsUserId} -> putServicePointsUsersByServicePointsUserId 09:33:06 [] [] [] [] INFO RestRouting Adding route DELETE /loan-types -> deleteLoanTypes 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /loan-types -> getLoanTypes 09:33:06 [] [] [] [] INFO RestRouting Adding route POST /loan-types -> postLoanTypes 09:33:06 [] [] [] [] INFO RestRouting Adding route DELETE /loan-types/{loantypeId} -> deleteLoanTypesByLoantypeId 09:33:06 [] [] [] [] INFO RestRouting Adding route GET /loan-types/{loantypeId} -> getLoanTypesByLoantypeId 09:33:06 [] [] [] [] INFO RestRouting Adding route PUT /loan-types/{loantypeId} -> putLoanTypesByLoantypeId 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /_/jsonSchemas -> getJsonSchemas 09:33:07 [] [] [] [] INFO RestRouting Adding route DELETE /statistical-codes/{statisticalCodeId} -> deleteStatisticalCodesByStatisticalCodeId 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /statistical-codes/{statisticalCodeId} -> getStatisticalCodesByStatisticalCodeId 09:33:07 [] [] [] [] INFO RestRouting Adding route PUT /statistical-codes/{statisticalCodeId} -> putStatisticalCodesByStatisticalCodeId 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /statistical-codes -> getStatisticalCodes 09:33:07 [] [] [] [] INFO RestRouting Adding route POST /statistical-codes -> postStatisticalCodes 09:33:07 [] [] [] [] INFO RestRouting Adding route DELETE /instance-storage/instance-relationships/{relationshipId} -> deleteInstanceStorageInstanceRelationshipsByRelationshipId 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /instance-storage/instance-relationships/{relationshipId} -> getInstanceStorageInstanceRelationshipsByRelationshipId 09:33:07 [] [] [] [] INFO RestRouting Adding route PUT /instance-storage/instance-relationships/{relationshipId} -> putInstanceStorageInstanceRelationshipsByRelationshipId 09:33:07 [] [] [] [] INFO RestRouting Adding route DELETE /instance-storage/instances -> deleteInstanceStorageInstances 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /instance-storage/instances -> getInstanceStorageInstances 09:33:07 [] [] [] [] INFO RestRouting Adding route POST /instance-storage/instances -> postInstanceStorageInstances 09:33:07 [] [] [] [] INFO RestRouting Adding route DELETE /instance-storage/instances/{instanceId} -> deleteInstanceStorageInstancesByInstanceId 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /instance-storage/instances/{instanceId} -> getInstanceStorageInstancesByInstanceId 09:33:07 [] [] [] [] INFO RestRouting Adding route PUT /instance-storage/instances/{instanceId} -> putInstanceStorageInstancesByInstanceId 09:33:07 [] [] [] [] INFO RestRouting Adding route DELETE /instance-storage/instances/{instanceId}/source-record -> deleteInstanceStorageInstancesSourceRecordByInstanceId 09:33:07 [] [] [] [] INFO RestRouting Adding route DELETE /instance-storage/instances/{instanceId}/source-record/marc-json -> deleteInstanceStorageInstancesSourceRecordMarcJsonByInstanceId 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /instance-storage/instances/{instanceId}/source-record/marc-json -> getInstanceStorageInstancesSourceRecordMarcJsonByInstanceId 09:33:07 [] [] [] [] INFO RestRouting Adding route PUT /instance-storage/instances/{instanceId}/source-record/marc-json -> putInstanceStorageInstancesSourceRecordMarcJsonByInstanceId 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /instance-storage/instance-relationships -> getInstanceStorageInstanceRelationships 09:33:07 [] [] [] [] INFO RestRouting Adding route POST /instance-storage/instance-relationships -> postInstanceStorageInstanceRelationships 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /instance-storage/instances/{instanceId}/source-record/mods -> getInstanceStorageInstancesSourceRecordModsByInstanceId 09:33:07 [] [] [] [] INFO RestRouting Adding route PUT /instance-storage/instances/{instanceId}/source-record/mods -> putInstanceStorageInstancesSourceRecordModsByInstanceId 09:33:07 [] [] [] [] WARN ? Thread Thread[vert.x-eventloop-thread-0,5,main] has been blocked for 2626 ms, time limit is 2000 ms 09:33:07 [] [] [] [] INFO RestRouting Adding route DELETE /item-storage/items -> deleteItemStorageItems 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /item-storage/items -> getItemStorageItems 09:33:07 [] [] [] [] INFO RestRouting Adding route POST /item-storage/items -> postItemStorageItems 09:33:07 [] [] [] [] INFO RestRouting Adding route DELETE /item-storage/items/{itemId} -> deleteItemStorageItemsByItemId 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /item-storage/items/{itemId} -> getItemStorageItemsByItemId 09:33:07 [] [] [] [] INFO RestRouting Adding route PUT /item-storage/items/{itemId} -> putItemStorageItemsByItemId 09:33:07 [] [] [] [] INFO RestRouting Adding route DELETE /shelf-locations -> deleteShelfLocations 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /shelf-locations -> getShelfLocations 09:33:07 [] [] [] [] INFO RestRouting Adding route POST /shelf-locations -> postShelfLocations 09:33:07 [] [] [] [] INFO RestRouting Adding route DELETE /shelf-locations/{id} -> deleteShelfLocationsById 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /shelf-locations/{id} -> getShelfLocationsById 09:33:07 [] [] [] [] INFO RestRouting Adding route PUT /shelf-locations/{id} -> putShelfLocationsById 09:33:07 [] [] [] [] INFO RestRouting Adding route DELETE /preceding-succeeding-titles/{precedingSucceedingTitleId} -> deletePrecedingSucceedingTitlesByPrecedingSucceedingTitleId 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /preceding-succeeding-titles/{precedingSucceedingTitleId} -> getPrecedingSucceedingTitlesByPrecedingSucceedingTitleId 09:33:07 [] [] [] [] INFO RestRouting Adding route PUT /preceding-succeeding-titles/{precedingSucceedingTitleId} -> putPrecedingSucceedingTitlesByPrecedingSucceedingTitleId 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /preceding-succeeding-titles -> getPrecedingSucceedingTitles 09:33:07 [] [] [] [] INFO RestRouting Adding route POST /preceding-succeeding-titles -> postPrecedingSucceedingTitles 09:33:07 [] [] [] [] INFO RestRouting Adding route PUT /preceding-succeeding-titles/instances/{instanceId} -> putPrecedingSucceedingTitlesInstancesByInstanceId 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /inventory-view/instances -> getInventoryViewInstances 09:33:07 [] [] [] [] INFO RestRouting Adding route DELETE /authority-note-types/{id} -> deleteAuthorityNoteTypesById 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /authority-note-types/{id} -> getAuthorityNoteTypesById 09:33:07 [] [] [] [] INFO RestRouting Adding route PUT /authority-note-types/{id} -> putAuthorityNoteTypesById 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /authority-note-types -> getAuthorityNoteTypes 09:33:07 [] [] [] [] INFO RestRouting Adding route POST /authority-note-types -> postAuthorityNoteTypes 09:33:07 [] [] [] [] INFO RestRouting Adding route DELETE /instance-formats/{instanceFormatId} -> deleteInstanceFormatsByInstanceFormatId 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /instance-formats/{instanceFormatId} -> getInstanceFormatsByInstanceFormatId 09:33:07 [] [] [] [] INFO RestRouting Adding route PUT /instance-formats/{instanceFormatId} -> putInstanceFormatsByInstanceFormatId 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /instance-formats -> getInstanceFormats 09:33:07 [] [] [] [] INFO RestRouting Adding route POST /instance-formats -> postInstanceFormats 09:33:07 [] [] [] [] INFO RestRouting Adding route DELETE /identifier-types/{identifierTypeId} -> deleteIdentifierTypesByIdentifierTypeId 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /identifier-types/{identifierTypeId} -> getIdentifierTypesByIdentifierTypeId 09:33:07 [] [] [] [] INFO RestRouting Adding route PUT /identifier-types/{identifierTypeId} -> putIdentifierTypesByIdentifierTypeId 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /identifier-types -> getIdentifierTypes 09:33:07 [] [] [] [] INFO RestRouting Adding route POST /identifier-types -> postIdentifierTypes 09:33:07 [] [] [] [] INFO RestRouting Adding route DELETE /instance-storage/reindex/{id} -> deleteInstanceStorageReindexById 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /instance-storage/reindex/{id} -> getInstanceStorageReindexById 09:33:07 [] [] [] [] INFO RestRouting Adding route POST /instance-storage/reindex -> postInstanceStorageReindex 09:33:07 [] [] [] [] INFO RestRouting Adding route POST /item-storage/batch/synchronous -> postItemStorageBatchSynchronous 09:33:07 [] [] [] [] INFO RestRouting Adding route DELETE /instance-relationship-types/{relationshipTypeId} -> deleteInstanceRelationshipTypesByRelationshipTypeId 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /instance-relationship-types/{relationshipTypeId} -> getInstanceRelationshipTypesByRelationshipTypeId 09:33:07 [] [] [] [] INFO RestRouting Adding route PUT /instance-relationship-types/{relationshipTypeId} -> putInstanceRelationshipTypesByRelationshipTypeId 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /instance-relationship-types -> getInstanceRelationshipTypes 09:33:07 [] [] [] [] INFO RestRouting Adding route POST /instance-relationship-types -> postInstanceRelationshipTypes 09:33:07 [] [] [] [] INFO RestRouting Adding route DELETE /instance-note-types/{id} -> deleteInstanceNoteTypesById 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /instance-note-types/{id} -> getInstanceNoteTypesById 09:33:07 [] [] [] [] INFO RestRouting Adding route PUT /instance-note-types/{id} -> putInstanceNoteTypesById 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /instance-note-types -> getInstanceNoteTypes 09:33:07 [] [] [] [] INFO RestRouting Adding route POST /instance-note-types -> postInstanceNoteTypes 09:33:07 [] [] [] [] INFO RestRouting Adding route POST /instance-storage/batch/instances -> postInstanceStorageBatchInstances 09:33:07 [] [] [] [] INFO RestRouting Adding route DELETE /location-units/campuses -> deleteLocationUnitsCampuses 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /location-units/campuses -> getLocationUnitsCampuses 09:33:07 [] [] [] [] INFO RestRouting Adding route POST /location-units/campuses -> postLocationUnitsCampuses 09:33:07 [] [] [] [] INFO RestRouting Adding route DELETE /location-units/campuses/{id} -> deleteLocationUnitsCampusesById 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /location-units/campuses/{id} -> getLocationUnitsCampusesById 09:33:07 [] [] [] [] INFO RestRouting Adding route PUT /location-units/campuses/{id} -> putLocationUnitsCampusesById 09:33:07 [] [] [] [] INFO RestRouting Adding route DELETE /location-units/institutions -> deleteLocationUnitsInstitutions 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /location-units/institutions -> getLocationUnitsInstitutions 09:33:07 [] [] [] [] INFO RestRouting Adding route POST /location-units/institutions -> postLocationUnitsInstitutions 09:33:07 [] [] [] [] INFO RestRouting Adding route DELETE /location-units/institutions/{id} -> deleteLocationUnitsInstitutionsById 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /location-units/institutions/{id} -> getLocationUnitsInstitutionsById 09:33:07 [] [] [] [] INFO RestRouting Adding route PUT /location-units/institutions/{id} -> putLocationUnitsInstitutionsById 09:33:07 [] [] [] [] INFO RestRouting Adding route DELETE /location-units/libraries -> deleteLocationUnitsLibraries 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /location-units/libraries -> getLocationUnitsLibraries 09:33:07 [] [] [] [] INFO RestRouting Adding route POST /location-units/libraries -> postLocationUnitsLibraries 09:33:07 [] [] [] [] INFO RestRouting Adding route DELETE /location-units/libraries/{id} -> deleteLocationUnitsLibrariesById 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /location-units/libraries/{id} -> getLocationUnitsLibrariesById 09:33:07 [] [] [] [] INFO RestRouting Adding route PUT /location-units/libraries/{id} -> putLocationUnitsLibrariesById 09:33:07 [] [] [] [] INFO RestRouting Adding route POST /instance-storage/batch/synchronous -> postInstanceStorageBatchSynchronous 09:33:07 [] [] [] [] INFO RestRouting Adding route DELETE /instance-statuses -> deleteInstanceStatuses 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /instance-statuses -> getInstanceStatuses 09:33:07 [] [] [] [] INFO RestRouting Adding route POST /instance-statuses -> postInstanceStatuses 09:33:07 [] [] [] [] INFO RestRouting Adding route DELETE /instance-statuses/{instanceStatusId} -> deleteInstanceStatusesByInstanceStatusId 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /instance-statuses/{instanceStatusId} -> getInstanceStatusesByInstanceStatusId 09:33:07 [] [] [] [] INFO RestRouting Adding route PUT /instance-statuses/{instanceStatusId} -> putInstanceStatusesByInstanceStatusId 09:33:07 [] [] [] [] INFO RestRouting Adding route DELETE /nature-of-content-terms/{id} -> deleteNatureOfContentTermsById 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /nature-of-content-terms/{id} -> getNatureOfContentTermsById 09:33:07 [] [] [] [] INFO RestRouting Adding route PUT /nature-of-content-terms/{id} -> putNatureOfContentTermsById 09:33:07 [] [] [] [] INFO RestRouting Adding route GET /nature-of-content-terms -> getNatureOfContentTerms 09:33:07 [] [] [] [] INFO RestRouting Adding route POST /nature-of-content-terms -> postNatureOfContentTerms 09:33:08 [] [] [] [] INFO RestRouting Adding route DELETE /item-damaged-statuses/{id} -> deleteItemDamagedStatusesById 09:33:08 [] [] [] [] INFO RestRouting Adding route GET /item-damaged-statuses/{id} -> getItemDamagedStatusesById 09:33:08 [] [] [] [] INFO RestRouting Adding route PUT /item-damaged-statuses/{id} -> putItemDamagedStatusesById 09:33:08 [] [] [] [] INFO RestRouting Adding route GET /item-damaged-statuses -> getItemDamagedStatuses 09:33:08 [] [] [] [] INFO RestRouting Adding route POST /item-damaged-statuses -> postItemDamagedStatuses 09:33:08 [] [] [] [] INFO RestRouting Adding route DELETE /locations -> deleteLocations 09:33:08 [] [] [] [] INFO RestRouting Adding route GET /locations -> getLocations 09:33:08 [] [] [] [] INFO RestRouting Adding route POST /locations -> postLocations 09:33:08 [] [] [] [] INFO RestRouting Adding route DELETE /locations/{id} -> deleteLocationsById 09:33:08 [] [] [] [] INFO RestRouting Adding route GET /locations/{id} -> getLocationsById 09:33:08 [] [] [] [] INFO RestRouting Adding route PUT /locations/{id} -> putLocationsById 09:33:08 [] [] [] [] INFO RestRouting Adding route POST /holdings-storage/batch/synchronous -> postHoldingsStorageBatchSynchronous 09:33:08 [] [] [] [] WARN ? Thread Thread[vert.x-eventloop-thread-0,5,main] has been blocked for 3629 ms, time limit is 2000 ms 09:33:08 [] [] [] [] INFO RestRouting Adding route DELETE /service-points -> deleteServicePoints 09:33:08 [] [] [] [] INFO RestRouting Adding route GET /service-points -> getServicePoints 09:33:08 [] [] [] [] INFO RestRouting Adding route POST /service-points -> postServicePoints 09:33:08 [] [] [] [] INFO RestRouting Adding route DELETE /service-points/{servicepointId} -> deleteServicePointsByServicepointId 09:33:08 [] [] [] [] INFO RestRouting Adding route GET /service-points/{servicepointId} -> getServicePointsByServicepointId 09:33:08 [] [] [] [] INFO RestRouting Adding route PUT /service-points/{servicepointId} -> putServicePointsByServicepointId 09:33:08 [] [] [] [] INFO RestVerticle Listening port 49391 09:33:08 [] [] [] [] INFO RestVerticle No periodic implementation found, continuing with deployment 09:33:08 [] [] [] [] INFO RestVerticle No Post Deploy Hook implementation found, continuing with deployment 09:33:08 [] [] [] [] INFO StorageTestSuite preparing tenant 09:33:08 [] [] [] [] INFO HttpClient POST http://localhost:49391/_/tenant, Request: { "parameters" : [ { "key" : "loadReference", "value" : "true" }, { "key" : "loadSample", "value" : "false" } ], "module_to" : "mod-inventory-storage-1.0.0" } 09:33:08 [] [] [] [] INFO RestRouting invoking postTenant 09:33:08 [] [] [] [] INFO LoadConfs File does not exist: /postgres-conf.json 09:33:08 [] [] [] [] INFO LoadConfs Resource does not exist: /postgres-conf.json 09:33:08 [] [] [] [] INFO PostgresClient No DB configuration found, setting username, password and database for testing 09:33:08 [] [] [] [] INFO PostgresClient Starting postgres tester 09:33:11 [] [] [] [] WARN ? Thread Thread[vert.x-eventloop-thread-0,5,main] has been blocked for 2450 ms, time limit is 2000 ms 09:33:11 [] [] [] [] INFO PostgresClient postgreSQLClientConfig = {"postgres_tester":true,"username":"username","password":"...","database":"postgres","port":49335,"host":"localhost"} 09:33:12 [] [] [] [] INFO PostgresClient Executing multiple statements with id 1779899756 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE ROLE test_tenant_mod_inventory_storage PASSWORD 'test_tenant' NOSUPERUSER NOCREATEDB INHERIT LOGIN; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE ROLE test_tenant_mod_inventory_storage PASSWORD 'test_tenant' NOSUPERUSER NOCREATEDB INHERIT LOGIN; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} GRANT test_tenant_mod_inventory_storage TO CURRENT_USER; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed GRANT test_tenant_mod_inventory_storage TO CURRENT_USER; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE SCHEMA test_tenant_mod_inventory_storage AUTHORIZATION test_tenant_mod_inventory_storage; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE SCHEMA test_tenant_mod_inventory_storage AUTHORIZATION test_tenant_mod_inventory_storage; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER ROLE test_tenant_mod_inventory_storage SET search_path = "$user"; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed ALTER ROLE test_tenant_mod_inventory_storage SET search_path = "$user"; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN -- This only succeeds if show_trgm, a pg_trgm function, -- has been loaded into public schema. PERFORM public.show_trgm('a'); EXCEPTION WHEN undefined_function THEN BEGIN ALTER EXTENSION pg_trgm SET SCHEMA public; EXCEPTION WHEN undefined_object THEN NULL; END; END; END $$; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN -- This only succeeds if show_trgm, a pg_trgm function, -- has been loaded into public schema. PERFORM public.show_trgm('a'); EXCEPTION WHEN undefined_function THEN BEGIN ALTER EXTENSION pg_trgm SET SCHEMA public; EXCEPTION WHEN undefined_object THEN NULL; END; END; END $$; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE EXTENSION IF NOT EXISTS unaccent WITH SCHEMA public; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE EXTENSION IF NOT EXISTS unaccent WITH SCHEMA public; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE EXTENSION IF NOT EXISTS pg_trgm WITH SCHEMA public; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE EXTENSION IF NOT EXISTS pg_trgm WITH SCHEMA public; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.rmb_internal ( id SERIAL PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.rmb_internal ( id SERIAL PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} insert into test_tenant_mod_inventory_storage.rmb_internal (jsonb) values ('{"rmbVersion": "33.1.1", "moduleVersion": "mod-inventory-storage-1.0.0"}'::jsonb); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed insert into test_tenant_mod_inventory_storage.rmb_internal (jsonb) values ('{"rmbVersion": "33.1.1", "moduleVersion": "mod-inventory-storage-1.0.0"}'::jsonb); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.rmb_job ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.rmb_job ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:12 [] [] [] [] INFO LogUtil 127.0.0.1:57298 POST /_/tenant null HTTP_1_1 201 346 3651 tid=test_tenant Created 09:33:12 [] [] [] [] INFO PostgresClient Executing multiple statements with id -294782510 09:33:12 [] [] [] [] INFO RestRouting invoking getTenantByOperationId 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} SET search_path TO test_tenant_mod_inventory_storage; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed SET search_path TO test_tenant_mod_inventory_storage; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.rmb_internal_index ( name text PRIMARY KEY, def text NOT NULL, remove boolean NOT NULL ); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.rmb_internal_index ( name text PRIMARY KEY, def text NOT NULL, remove boolean NOT NULL ); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.rmb_internal_index SET remove = TRUE; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.rmb_internal_index SET remove = TRUE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS rmb_internal_analyze ( tablename text ); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS rmb_internal_analyze ( tablename text ); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.uuid_smaller(uuid, uuid) RETURNS uuid AS $$ BEGIN IF $1 IS NULL THEN RETURN $2; END IF; IF $2 IS NULL THEN RETURN $1; END IF; IF $1 < $2 THEN RETURN $1; ELSE RETURN $2; END IF; END; $$ LANGUAGE plpgsql; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.uuid_smaller(uuid, uuid) RETURNS uuid AS $$ BEGIN IF $1 IS NULL THEN RETURN $2; END IF; IF $2 IS NULL THEN RETURN $1; END IF; IF $1 < $2 THEN RETURN $1; ELSE RETURN $2; END IF; END; $$ LANGUAGE plpgsql; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.uuid_larger(uuid, uuid) RETURNS uuid AS $$ BEGIN IF $1 IS NULL THEN RETURN $2; END IF; IF $2 IS NULL THEN RETURN $1; END IF; IF $1 > $2 THEN RETURN $1; ELSE RETURN $2; END IF; END; $$ LANGUAGE plpgsql; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.uuid_larger(uuid, uuid) RETURNS uuid AS $$ BEGIN IF $1 IS NULL THEN RETURN $2; END IF; IF $2 IS NULL THEN RETURN $1; END IF; IF $1 > $2 THEN RETURN $1; ELSE RETURN $2; END IF; END; $$ LANGUAGE plpgsql; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.next_uuid(uuid) RETURNS uuid AS $$ DECLARE uuid text; digit text; BEGIN uuid = $1; FOR i IN REVERSE 36..1 LOOP digit := substring(uuid from i for 1); -- skip minus, version byte M and variant byte N CONTINUE WHEN digit = '-' OR i = 15 OR i = 20; CASE digit WHEN '0' THEN digit := '1'; WHEN '1' THEN digit := '2'; WHEN '2' THEN digit := '3'; WHEN '3' THEN digit := '4'; WHEN '4' THEN digit := '5'; WHEN '5' THEN digit := '6'; WHEN '6' THEN digit := '7'; WHEN '7' THEN digit := '8'; WHEN '8' THEN digit := '9'; WHEN '9' THEN digit := 'a'; WHEN 'a' THEN digit := 'b'; WHEN 'b' THEN digit := 'c'; WHEN 'c' THEN digit := 'd'; WHEN 'd' THEN digit := 'e'; WHEN 'e' THEN digit := 'f'; WHEN 'f' THEN digit := '0'; ELSE NULL; END CASE; uuid = overlay(uuid placing digit from i); EXIT WHEN digit <> '0'; END LOOP; RETURN uuid; END; $$ LANGUAGE plpgsql; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.next_uuid(uuid) RETURNS uuid AS $$ DECLARE uuid text; digit text; BEGIN uuid = $1; FOR i IN REVERSE 36..1 LOOP digit := substring(uuid from i for 1); -- skip minus, version byte M and variant byte N CONTINUE WHEN digit = '-' OR i = 15 OR i = 20; CASE digit WHEN '0' THEN digit := '1'; WHEN '1' THEN digit := '2'; WHEN '2' THEN digit := '3'; WHEN '3' THEN digit := '4'; WHEN '4' THEN digit := '5'; WHEN '5' THEN digit := '6'; WHEN '6' THEN digit := '7'; WHEN '7' THEN digit := '8'; WHEN '8' THEN digit := '9'; WHEN '9' THEN digit := 'a'; WHEN 'a' THEN digit := 'b'; WHEN 'b' THEN digit := 'c'; WHEN 'c' THEN digit := 'd'; WHEN 'd' THEN digit := 'e'; WHEN 'e' THEN digit := 'f'; WHEN 'f' THEN digit := '0'; ELSE NULL; END CASE; uuid = overlay(uuid placing digit from i); EXIT WHEN digit <> '0'; END LOOP; RETURN uuid; END; $$ LANGUAGE plpgsql; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE AGGREGATE test_tenant_mod_inventory_storage.max(uuid) ( stype = uuid, sfunc = test_tenant_mod_inventory_storage.uuid_larger, combinefunc = test_tenant_mod_inventory_storage.uuid_larger, parallel = safe, sortop = operator (>) ); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE AGGREGATE test_tenant_mod_inventory_storage.max(uuid) ( stype = uuid, sfunc = test_tenant_mod_inventory_storage.uuid_larger, combinefunc = test_tenant_mod_inventory_storage.uuid_larger, parallel = safe, sortop = operator (>) ); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE AGGREGATE test_tenant_mod_inventory_storage.min(uuid) ( stype = uuid, sfunc = test_tenant_mod_inventory_storage.uuid_smaller, combinefunc = test_tenant_mod_inventory_storage.uuid_smaller, parallel = safe, sortop = operator (<) ); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE AGGREGATE test_tenant_mod_inventory_storage.min(uuid) ( stype = uuid, sfunc = test_tenant_mod_inventory_storage.uuid_smaller, combinefunc = test_tenant_mod_inventory_storage.uuid_smaller, parallel = safe, sortop = operator (<) ); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.count_estimate_smart2(bigint,bigint,text); 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.count_estimate_smart2(pg_catalog.int8,pg_catalog.int8,text) does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.count_estimate_smart2(bigint,bigint,text); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE FUNCTION test_tenant_mod_inventory_storage.count_estimate_smart2(rows bigint, lim bigint, query text) RETURNS bigint AS $$ DECLARE rec record; cnt bigint; BEGIN IF rows = lim THEN FOR rec IN EXECUTE 'EXPLAIN ' || query LOOP cnt := substring(rec."QUERY PLAN" FROM ' rows=([[:digit:]]+)'); EXIT WHEN cnt IS NOT NULL; END LOOP; RETURN cnt; END IF; RETURN rows; END; $$ LANGUAGE plpgsql VOLATILE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE FUNCTION test_tenant_mod_inventory_storage.count_estimate_smart2(rows bigint, lim bigint, query text) RETURNS bigint AS $$ DECLARE rec record; cnt bigint; BEGIN IF rows = lim THEN FOR rec IN EXECUTE 'EXPLAIN ' || query LOOP cnt := substring(rec."QUERY PLAN" FROM ' rows=([[:digit:]]+)'); EXIT WHEN cnt IS NOT NULL; END LOOP; RETURN cnt; END IF; RETURN rows; END; $$ LANGUAGE plpgsql VOLATILE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.count_estimate_default(query text) RETURNS bigint AS $$ DECLARE rows bigint; q text; BEGIN q = 'SELECT COUNT(*) FROM (' || query || ' LIMIT 1000) x'; EXECUTE q INTO rows; IF rows < 1000 THEN return rows; END IF; rows = test_tenant_mod_inventory_storage.count_estimate_smart2(1000, 1000, query); IF rows < 1000 THEN return 1000; END IF; RETURN rows; END; $$ LANGUAGE plpgsql IMMUTABLE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.count_estimate_default(query text) RETURNS bigint AS $$ DECLARE rows bigint; q text; BEGIN q = 'SELECT COUNT(*) FROM (' || query || ' LIMIT 1000) x'; EXECUTE q INTO rows; IF rows < 1000 THEN return rows; END IF; rows = test_tenant_mod_inventory_storage.count_estimate_smart2(1000, 1000, query); IF rows < 1000 THEN return 1000; END IF; RETURN rows; END; $$ LANGUAGE plpgsql IMMUTABLE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.count_estimate(query text) RETURNS bigint AS $$ DECLARE count bigint; est_count bigint; q text; BEGIN est_count = test_tenant_mod_inventory_storage.count_estimate_smart2(1000, 1000, query); IF est_count > 4*1000 THEN RETURN est_count; END IF; q = 'SELECT COUNT(*) FROM (' || query || ' LIMIT 1000) x'; EXECUTE q INTO count; IF count < 1000 THEN RETURN count; END IF; IF est_count < 1000 THEN RETURN 1000; END IF; RETURN est_count; END; $$ LANGUAGE plpgsql STABLE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.count_estimate(query text) RETURNS bigint AS $$ DECLARE count bigint; est_count bigint; q text; BEGIN est_count = test_tenant_mod_inventory_storage.count_estimate_smart2(1000, 1000, query); IF est_count > 4*1000 THEN RETURN est_count; END IF; q = 'SELECT COUNT(*) FROM (' || query || ' LIMIT 1000) x'; EXECUTE q INTO count; IF count < 1000 THEN RETURN count; END IF; IF est_count < 1000 THEN RETURN 1000; END IF; RETURN est_count; END; $$ LANGUAGE plpgsql STABLE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.upsert(text, uuid, anyelement) RETURNS uuid AS $$ DECLARE ret uuid; BEGIN EXECUTE format('UPDATE test_tenant_mod_inventory_storage.%I SET jsonb=$3 WHERE id=$2 RETURNING id', $1) USING $1, $2, $3 INTO ret; IF ret IS NOT NULL THEN RETURN ret; END IF; EXECUTE format('INSERT INTO test_tenant_mod_inventory_storage.%I (id, jsonb) VALUES ($2, $3) RETURNING id', $1) USING $1, $2, $3 INTO STRICT ret; RETURN ret; END; $$ LANGUAGE plpgsql; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.upsert(text, uuid, anyelement) RETURNS uuid AS $$ DECLARE ret uuid; BEGIN EXECUTE format('UPDATE test_tenant_mod_inventory_storage.%I SET jsonb=$3 WHERE id=$2 RETURNING id', $1) USING $1, $2, $3 INTO ret; IF ret IS NOT NULL THEN RETURN ret; END IF; EXECUTE format('INSERT INTO test_tenant_mod_inventory_storage.%I (id, jsonb) VALUES ($2, $3) RETURNING id', $1) USING $1, $2, $3 INTO STRICT ret; RETURN ret; END; $$ LANGUAGE plpgsql; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE ver integer; BEGIN SELECT current_setting('server_version_num') INTO ver; IF (ver >= 120000) THEN CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.f_unaccent(text) RETURNS text AS $f_unaccent$ SELECT public.unaccent('public.unaccent', $1) -- schema-qualify function and dictionary $f_unaccent$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; ELSE CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.f_unaccent(text) RETURNS text AS $f_unaccent$ SELECT regexp_replace(public.unaccent('public.unaccent', $1), E'[\u0300\u0301\u0302\u0303\u0304\u0305\u0306\u0307\u0308\u0309\u030a\u030b\u030c\u030d\u030e\u030f' || E'\u0310\u0311\u0312\u0313\u0314\u0315\u0316\u0317\u0318\u0319\u031a\u031b\u031c\u031d\u031e\u031f' || E'\u0320\u0321\u0322\u0323\u0324\u0325\u0326\u0327\u0328\u0329\u032a\u032b\u032c\u032d\u032e\u032f' || E'\u0330\u0331\u0332\u0333\u0334\u0335\u0336\u0337\u0338\u0339\u033a\u033b\u033c\u033d\u033e\u033f' || E'\u0340\u0341\u0342\u0343\u0344\u0345\u0346\u0347\u0348\u0349\u034a\u034b\u034c\u034d\u034e\u034f' || E'\u0350\u0351\u0352\u0353\u0354\u0355\u0356\u0357\u0358\u0359\u035a\u035b\u035c\u035d\u035e\u035f' || E'\u0360\u0361\u0362' || E'\u20dd\u20de\u20df\u20e0' || E'\u20e2\u20e3\u20e4]', '', 'g') $f_unaccent$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; END IF; END $$; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE ver integer; BEGIN SELECT current_setting('server_version_num') INTO ver; IF (ver >= 120000) THEN CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.f_unaccent(text) RETURNS text AS $f_unaccent$ SELECT public.unaccent('public.unaccent', $1) -- schema-qualify function and dictionary $f_unaccent$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; ELSE CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.f_unaccent(text) RETURNS text AS $f_unaccent$ SELECT regexp_replace(public.unaccent('public.unaccent', $1), E'[\u0300\u0301\u0302\u0303\u0304\u0305\u0306\u0307\u0308\u0309\u030a\u030b\u030c\u030d\u030e\u030f' || E'\u0310\u0311\u0312\u0313\u0314\u0315\u0316\u0317\u0318\u0319\u031a\u031b\u031c\u031d\u031e\u031f' || E'\u0320\u0321\u0322\u0323\u0324\u0325\u0326\u0327\u0328\u0329\u032a\u032b\u032c\u032d\u032e\u032f' || E'\u0330\u0331\u0332\u0333\u0334\u0335\u0336\u0337\u0338\u0339\u033a\u033b\u033c\u033d\u033e\u033f' || E'\u0340\u0341\u0342\u0343\u0344\u0345\u0346\u0347\u0348\u0349\u034a\u034b\u034c\u034d\u034e\u034f' || E'\u0350\u0351\u0352\u0353\u0354\u0355\u0356\u0357\u0358\u0359\u035a\u035b\u035c\u035d\u035e\u035f' || E'\u0360\u0361\u0362' || E'\u20dd\u20de\u20df\u20e0' || E'\u20e2\u20e3\u20e4]', '', 'g') $f_unaccent$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; END IF; END $$; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.get_tsvector(text) RETURNS tsvector AS $$ SELECT to_tsvector('simple', translate($1, '&', ',')); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.get_tsvector(text) RETURNS tsvector AS $$ SELECT to_tsvector('simple', translate($1, '&', ',')); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.tsquery_and(text) RETURNS tsquery AS $$ SELECT to_tsquery('simple', string_agg(CASE WHEN length(v) = 0 OR v = '*' THEN '' WHEN right(v, 1) = '*' THEN '''' || left(v, -1) || ''':*' ELSE '''' || v || '''' END, '&')) FROM (SELECT regexp_split_to_table(translate($1, '&''', ',,'), ' +')) AS x(v); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.tsquery_and(text) RETURNS tsquery AS $$ SELECT to_tsquery('simple', string_agg(CASE WHEN length(v) = 0 OR v = '*' THEN '' WHEN right(v, 1) = '*' THEN '''' || left(v, -1) || ''':*' ELSE '''' || v || '''' END, '&')) FROM (SELECT regexp_split_to_table(translate($1, '&''', ',,'), ' +')) AS x(v); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.tsquery_or(text) RETURNS tsquery AS $$ SELECT replace(test_tenant_mod_inventory_storage.tsquery_and($1)::text, '&', '|')::tsquery; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.tsquery_or(text) RETURNS tsquery AS $$ SELECT replace(test_tenant_mod_inventory_storage.tsquery_and($1)::text, '&', '|')::tsquery; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.tsquery_phrase(text) RETURNS tsquery AS $$ SELECT replace(test_tenant_mod_inventory_storage.tsquery_and($1)::text, '&', '<->')::tsquery; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.tsquery_phrase(text) RETURNS tsquery AS $$ SELECT replace(test_tenant_mod_inventory_storage.tsquery_and($1)::text, '&', '<->')::tsquery; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_digits(text) RETURNS text AS $$ SELECT translate((regexp_match($1, '^([0-9 \t-]*(?:\*[ \t]*)?)(.*)'))[1], E' \t-', '') || CASE WHEN (regexp_match($1, '^([0-9 \t-]*(?:\*[ \t]*)?)(.*)'))[1] = '' THEN '' WHEN (regexp_match($1, '^([0-9 \t-]*(?:\*[ \t]*)?)(.*)'))[2] = '' THEN '' ELSE ' ' END || (regexp_match($1, '^([0-9 \t-]*(?:\*[ \t]*)?)(.*)'))[2]; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_digits(text) RETURNS text AS $$ SELECT translate((regexp_match($1, '^([0-9 \t-]*(?:\*[ \t]*)?)(.*)'))[1], E' \t-', '') || CASE WHEN (regexp_match($1, '^([0-9 \t-]*(?:\*[ \t]*)?)(.*)'))[1] = '' THEN '' WHEN (regexp_match($1, '^([0-9 \t-]*(?:\*[ \t]*)?)(.*)'))[2] = '' THEN '' ELSE ' ' END || (regexp_match($1, '^([0-9 \t-]*(?:\*[ \t]*)?)(.*)'))[2]; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_id_in_jsonb() RETURNS TRIGGER AS $$ BEGIN NEW.jsonb = jsonb_set(NEW.jsonb, '{id}', to_jsonb(NEW.id)); RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_id_in_jsonb() RETURNS TRIGGER AS $$ BEGIN NEW.jsonb = jsonb_set(NEW.jsonb, '{id}', to_jsonb(NEW.id)); RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.concat_space_sql(VARIADIC text[]) RETURNS text AS $$ select concat_ws(' ', VARIADIC $1); $$ LANGUAGE SQL IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.concat_space_sql(VARIADIC text[]) RETURNS text AS $$ select concat_ws(' ', VARIADIC $1); $$ LANGUAGE SQL IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.concat_array_object_values(jsonb_array jsonb, field text) RETURNS text AS $$ SELECT string_agg(value->>$2, ' ') FROM jsonb_array_elements($1); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.concat_array_object_values(jsonb_array jsonb, field text) RETURNS text AS $$ SELECT string_agg(value->>$2, ' ') FROM jsonb_array_elements($1); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.concat_array_object_values( jsonb_array jsonb, field text, filterkey text, filtervalue text) RETURNS text AS $$ SELECT string_agg(value->>$2, ' ') FROM jsonb_array_elements($1) WHERE value->>$3 = $4; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.concat_array_object_values( jsonb_array jsonb, field text, filterkey text, filtervalue text) RETURNS text AS $$ SELECT string_agg(value->>$2, ' ') FROM jsonb_array_elements($1) WHERE value->>$3 = $4; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.first_array_object_value( jsonb_array jsonb, field text, filterkey text, filtervalue text) RETURNS text AS $$ SELECT value->>$2 FROM jsonb_array_elements($1) WHERE value->>$3 = $4 LIMIT 1; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.first_array_object_value( jsonb_array jsonb, field text, filterkey text, filtervalue text) RETURNS text AS $$ SELECT value->>$2 FROM jsonb_array_elements($1) WHERE value->>$3 = $4 LIMIT 1; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.concat_array_object(jsonb_array jsonb) RETURNS text AS $$ SELECT string_agg(value::text, ' ') FROM jsonb_array_elements_text($1); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.concat_array_object(jsonb_array jsonb) RETURNS text AS $$ SELECT string_agg(value::text, ' ') FROM jsonb_array_elements_text($1); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS rmb_internal_index(aname text, tops text, newdef text); 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function rmb_internal_index(text,text,text) does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS rmb_internal_index(aname text, tops text, newdef text); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION rmb_internal_index( atable text, aname text, tops text, newdef text) RETURNS void AS $$ DECLARE olddef text; namep CONSTANT text = concat(aname, '_p'); prepareddef text; BEGIN IF tops = 'DELETE' THEN -- use case insensitive %s, not case sensitive %I -- no SQL injection because the names are hard-coded in schema.json EXECUTE format('DROP INDEX IF EXISTS %s', aname); EXECUTE 'DELETE FROM test_tenant_mod_inventory_storage.rmb_internal_index WHERE name = $1' USING aname; RETURN; END IF; SELECT def INTO olddef FROM test_tenant_mod_inventory_storage.rmb_internal_index WHERE name = aname; SELECT def INTO prepareddef FROM test_tenant_mod_inventory_storage.rmb_internal_index WHERE name = namep; prepareddef = replace(prepareddef, concat(' ', namep, ' ON '), concat(' ', aname, ' ON ')); IF prepareddef = newdef THEN EXECUTE format('DROP INDEX IF EXISTS %s', aname); EXECUTE format('ALTER INDEX IF EXISTS %s RENAME TO %s', namep, aname); EXECUTE 'DELETE FROM rmb_internal_index WHERE name = $1' USING namep; EXECUTE 'INSERT INTO rmb_internal_analyze VALUES ($1)' USING atable; ELSIF olddef IS DISTINCT FROM newdef THEN EXECUTE format('DROP INDEX IF EXISTS %s', aname); EXECUTE newdef; EXECUTE 'INSERT INTO rmb_internal_analyze VALUES ($1)' USING atable; END IF; EXECUTE 'INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ($1, $2, FALSE) ' 'ON CONFLICT (name) DO UPDATE SET def = EXCLUDED.def, remove = EXCLUDED.remove' USING aname, newdef; END $$ LANGUAGE plpgsql; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION rmb_internal_index( atable text, aname text, tops text, newdef text) RETURNS void AS $$ DECLARE olddef text; namep CONSTANT text = concat(aname, '_p'); prepareddef text; BEGIN IF tops = 'DELETE' THEN -- use case insensitive %s, not case sensitive %I -- no SQL injection because the names are hard-coded in schema.json EXECUTE format('DROP INDEX IF EXISTS %s', aname); EXECUTE 'DELETE FROM test_tenant_mod_inventory_storage.rmb_internal_index WHERE name = $1' USING aname; RETURN; END IF; SELECT def INTO olddef FROM test_tenant_mod_inventory_storage.rmb_internal_index WHERE name = aname; SELECT def INTO prepareddef FROM test_tenant_mod_inventory_storage.rmb_internal_index WHERE name = namep; prepareddef = replace(prepareddef, concat(' ', namep, ' ON '), concat(' ', aname, ' ON ')); IF prepareddef = newdef THEN EXECUTE format('DROP INDEX IF EXISTS %s', aname); EXECUTE format('ALTER INDEX IF EXISTS %s RENAME TO %s', namep, aname); EXECUTE 'DELETE FROM rmb_internal_index WHERE name = $1' USING namep; EXECUTE 'INSERT INTO rmb_internal_analyze VALUES ($1)' USING atable; ELSIF olddef IS DISTINCT FROM newdef THEN EXECUTE format('DROP INDEX IF EXISTS %s', aname); EXECUTE newdef; EXECUTE 'INSERT INTO rmb_internal_analyze VALUES ($1)' USING atable; END IF; EXECUTE 'INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ($1, $2, FALSE) ' 'ON CONFLICT (name) DO UPDATE SET def = EXCLUDED.def, remove = EXCLUDED.remove' USING aname, newdef; END $$ LANGUAGE plpgsql; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE n INT; BEGIN -- Only populate if table is empty SELECT count(*) INTO n FROM test_tenant_mod_inventory_storage.rmb_internal_index; IF n > 0 THEN RETURN; END IF; CASE '0.0' -- previous module version taken from the /_/tenant POST module_from variable WHEN '18.2.3', 'mod-inventory-storage-18.2.3', '18.2.2', 'mod-inventory-storage-18.2.2', '18.2.1', 'mod-inventory-storage-18.2.1' THEN -- Edelweiss versions 18.2.1 - 18.2.3; earlier versions don't have left(..., 600) index truncation INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('alternative_title_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS alternative_title_type_name_idx_unique ON test_tenant_mod_inventory_storage.alternative_title_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('call_number_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS call_number_type_name_idx_unique ON test_tenant_mod_inventory_storage.call_number_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('classification_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS classification_type_name_idx_unique ON test_tenant_mod_inventory_storage.classification_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('contributor_name_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_name_type_name_idx_unique ON test_tenant_mod_inventory_storage.contributor_name_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('contributor_type_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_type_code_idx_unique ON test_tenant_mod_inventory_storage.contributor_type (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('contributor_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_type_name_idx_unique ON test_tenant_mod_inventory_storage.contributor_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('electronic_access_relationship_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS electronic_access_relationship_name_idx_unique ON test_tenant_mod_inventory_storage.electronic_access_relationship (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('holdings_note_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_note_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('holdings_record_hrid_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_record_hrid_idx_unique ON test_tenant_mod_inventory_storage.holdings_record (lower(f_unaccent(jsonb->>''hrid'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('holdings_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_type_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('identifier_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS identifier_type_name_idx_unique ON test_tenant_mod_inventory_storage.identifier_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('ill_policy_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS ill_policy_name_idx_unique ON test_tenant_mod_inventory_storage.ill_policy (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_classifications_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_classifications_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''classifications''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_contributors_idx', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''contributors'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_contributors_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''contributors'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_contributors_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''contributors''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_format_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_format_code_idx_unique ON test_tenant_mod_inventory_storage.instance_format (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_format_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_format_name_idx_unique ON test_tenant_mod_inventory_storage.instance_format (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_hrid_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_hrid_idx_unique ON test_tenant_mod_inventory_storage.instance (lower(f_unaccent(jsonb->>''hrid'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_identifiers_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_identifiers_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''identifiers'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_identifiers_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_identifiers_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''identifiers''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_indexTitle_idx', 'CREATE INDEX IF NOT EXISTS instance_indexTitle_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''indexTitle'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_indexTitle_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_indexTitle_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''indexTitle''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_keyword_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_keyword_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(concat_space_sql(instance.jsonb->>''title'' , concat_array_object_values(instance.jsonb->''contributors'',''name'') , concat_array_object_values(instance.jsonb->''identifiers'',''value'')))) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_languages_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_languages_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''languages'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_note_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_note_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_publication_idx', 'CREATE INDEX IF NOT EXISTS instance_publication_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''publication'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_relationship_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_relationship_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_relationship_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_source_idx', 'CREATE INDEX IF NOT EXISTS instance_source_idx ON test_tenant_mod_inventory_storage.instance (left(lower(jsonb->>''source''),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_statisticalCodeIds_idx', 'CREATE INDEX IF NOT EXISTS instance_statisticalCodeIds_idx ON test_tenant_mod_inventory_storage.instance (left(lower(jsonb->>''statisticalCodeIds''),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_status_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_status_code_idx_unique ON test_tenant_mod_inventory_storage.instance_status (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_status_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_status_name_idx_unique ON test_tenant_mod_inventory_storage.instance_status (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_subjects_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_subjects_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''subjects''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_title_idx', 'CREATE INDEX IF NOT EXISTS instance_title_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''title'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_title_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_title_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''title'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_title_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_title_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''title''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_type_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_type_code_idx_unique ON test_tenant_mod_inventory_storage.instance_type (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_barcode_idx', 'CREATE INDEX IF NOT EXISTS item_barcode_idx ON test_tenant_mod_inventory_storage.item (left(lower(f_unaccent(jsonb->>''barcode'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_barcode_idx_ft', 'CREATE INDEX IF NOT EXISTS item_barcode_idx_ft ON test_tenant_mod_inventory_storage.item USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''barcode'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_barcode_idx_gin', 'CREATE INDEX IF NOT EXISTS item_barcode_idx_gin ON test_tenant_mod_inventory_storage.item USING GIN ((lower(f_unaccent(jsonb->>''barcode''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_damaged_status_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS item_damaged_status_name_idx_unique ON test_tenant_mod_inventory_storage.item_damaged_status (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_hrid_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS item_hrid_idx_unique ON test_tenant_mod_inventory_storage.item (lower(f_unaccent(jsonb->>''hrid'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_note_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS item_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.item_note_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_status_name_idx', 'CREATE INDEX IF NOT EXISTS item_status_name_idx ON test_tenant_mod_inventory_storage.item (left(lower(f_unaccent(jsonb->''status''->>''name'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_status_name_idx_gin', 'CREATE INDEX IF NOT EXISTS item_status_name_idx_gin ON test_tenant_mod_inventory_storage.item USING GIN ((lower(f_unaccent(jsonb->''status''->>''name''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('loan_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS loan_type_name_idx_unique ON test_tenant_mod_inventory_storage.loan_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('location_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS location_code_idx_unique ON test_tenant_mod_inventory_storage.location (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('location_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS location_name_idx_unique ON test_tenant_mod_inventory_storage.location (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('loccampus_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS loccampus_name_idx_unique ON test_tenant_mod_inventory_storage.loccampus (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('locinstitution_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS locinstitution_name_idx_unique ON test_tenant_mod_inventory_storage.locinstitution (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('loclibrary_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS loclibrary_name_idx_unique ON test_tenant_mod_inventory_storage.loclibrary (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('material_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS material_type_name_idx_unique ON test_tenant_mod_inventory_storage.material_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('mode_of_issuance_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS mode_of_issuance_name_idx_unique ON test_tenant_mod_inventory_storage.mode_of_issuance (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('nature_of_content_term_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS nature_of_content_term_name_idx_unique ON test_tenant_mod_inventory_storage.nature_of_content_term (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('service_point_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_code_idx_unique ON test_tenant_mod_inventory_storage.service_point (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('service_point_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_name_idx_unique ON test_tenant_mod_inventory_storage.service_point (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('service_point_user_userId_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_user_userId_idx_unique ON test_tenant_mod_inventory_storage.service_point_user (lower(f_unaccent(jsonb->>''userId'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('statistical_code_code_statisticalCodeTypeId_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_code_statisticalCodeTypeId_idx_unique ON test_tenant_mod_inventory_storage.statistical_code (lower(f_unaccent(jsonb->>''code'')) , lower(f_unaccent(jsonb->>''statisticalCodeTypeId'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('statistical_code_type_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_type_code_idx_unique ON test_tenant_mod_inventory_storage.statistical_code_type (lower(f_unaccent(jsonb->>''code'')))', false); WHEN '19.0.0', 'mod-inventory-storage-19.0.0', '19.1.0', 'mod-inventory-storage-19.1.0' THEN INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('alternative_title_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS alternative_title_type_name_idx_unique ON test_tenant_mod_inventory_storage.alternative_title_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('call_number_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS call_number_type_name_idx_unique ON test_tenant_mod_inventory_storage.call_number_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('classification_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS classification_type_name_idx_unique ON test_tenant_mod_inventory_storage.classification_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('contributor_name_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_name_type_name_idx_unique ON test_tenant_mod_inventory_storage.contributor_name_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('contributor_type_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_type_code_idx_unique ON test_tenant_mod_inventory_storage.contributor_type (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('contributor_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_type_name_idx_unique ON test_tenant_mod_inventory_storage.contributor_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('electronic_access_relationship_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS electronic_access_relationship_name_idx_unique ON test_tenant_mod_inventory_storage.electronic_access_relationship (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('holdings_note_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_note_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('holdings_record_callNumber_idx', 'CREATE INDEX IF NOT EXISTS holdings_record_callNumber_idx ON test_tenant_mod_inventory_storage.holdings_record (left(lower(jsonb->>''callNumber''),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('holdings_record_hrid_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_record_hrid_idx_unique ON test_tenant_mod_inventory_storage.holdings_record (lower(f_unaccent(jsonb->>''hrid'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('holdings_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_type_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('identifier_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS identifier_type_name_idx_unique ON test_tenant_mod_inventory_storage.identifier_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('ill_policy_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS ill_policy_name_idx_unique ON test_tenant_mod_inventory_storage.ill_policy (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_classifications_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_classifications_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''classifications''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_contributors_idx', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''contributors'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_contributors_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''contributors'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_contributors_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''contributors''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_format_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_format_code_idx_unique ON test_tenant_mod_inventory_storage.instance_format (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_format_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_format_name_idx_unique ON test_tenant_mod_inventory_storage.instance_format (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_hrid_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_hrid_idx_unique ON test_tenant_mod_inventory_storage.instance (lower(f_unaccent(jsonb->>''hrid'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_identifiers_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_identifiers_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''identifiers'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_identifiers_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_identifiers_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''identifiers''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_indexTitle_idx', 'CREATE INDEX IF NOT EXISTS instance_indexTitle_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''indexTitle'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_indexTitle_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_indexTitle_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''indexTitle''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_languages_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_languages_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''languages'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_note_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_note_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_publication_idx', 'CREATE INDEX IF NOT EXISTS instance_publication_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''publication'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_relationship_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_relationship_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_relationship_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_source_idx', 'CREATE INDEX IF NOT EXISTS instance_source_idx ON test_tenant_mod_inventory_storage.instance (left(lower(jsonb->>''source''),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_statisticalCodeIds_idx', 'CREATE INDEX IF NOT EXISTS instance_statisticalCodeIds_idx ON test_tenant_mod_inventory_storage.instance (left(lower(jsonb->>''statisticalCodeIds''),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_status_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_status_code_idx_unique ON test_tenant_mod_inventory_storage.instance_status (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_status_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_status_name_idx_unique ON test_tenant_mod_inventory_storage.instance_status (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_subjects_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_subjects_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''subjects''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_title_idx', 'CREATE INDEX IF NOT EXISTS instance_title_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''title'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_title_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_title_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''title'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_title_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_title_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''title''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_type_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_type_code_idx_unique ON test_tenant_mod_inventory_storage.instance_type (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_accessionNumber_idx', 'CREATE INDEX IF NOT EXISTS item_accessionNumber_idx ON test_tenant_mod_inventory_storage.item (left(lower(jsonb->>''accessionNumber''),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_barcode_idx', 'CREATE INDEX IF NOT EXISTS item_barcode_idx ON test_tenant_mod_inventory_storage.item (left(lower(f_unaccent(jsonb->>''barcode'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_barcode_idx_ft', 'CREATE INDEX IF NOT EXISTS item_barcode_idx_ft ON test_tenant_mod_inventory_storage.item USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''barcode'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_barcode_idx_gin', 'CREATE INDEX IF NOT EXISTS item_barcode_idx_gin ON test_tenant_mod_inventory_storage.item USING GIN ((lower(f_unaccent(jsonb->>''barcode''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_damaged_status_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS item_damaged_status_name_idx_unique ON test_tenant_mod_inventory_storage.item_damaged_status (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_hrid_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS item_hrid_idx_unique ON test_tenant_mod_inventory_storage.item (lower(f_unaccent(jsonb->>''hrid'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_note_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS item_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.item_note_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_status_name_idx', 'CREATE INDEX IF NOT EXISTS item_status_name_idx ON test_tenant_mod_inventory_storage.item (left(lower(f_unaccent(jsonb->''status''->>''name'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_status_name_idx_gin', 'CREATE INDEX IF NOT EXISTS item_status_name_idx_gin ON test_tenant_mod_inventory_storage.item USING GIN ((lower(f_unaccent(jsonb->''status''->>''name''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('loan_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS loan_type_name_idx_unique ON test_tenant_mod_inventory_storage.loan_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('location_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS location_code_idx_unique ON test_tenant_mod_inventory_storage.location (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('location_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS location_name_idx_unique ON test_tenant_mod_inventory_storage.location (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('loccampus_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS loccampus_name_idx_unique ON test_tenant_mod_inventory_storage.loccampus (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('locinstitution_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS locinstitution_name_idx_unique ON test_tenant_mod_inventory_storage.locinstitution (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('loclibrary_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS loclibrary_name_idx_unique ON test_tenant_mod_inventory_storage.loclibrary (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('material_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS material_type_name_idx_unique ON test_tenant_mod_inventory_storage.material_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('mode_of_issuance_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS mode_of_issuance_name_idx_unique ON test_tenant_mod_inventory_storage.mode_of_issuance (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('nature_of_content_term_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS nature_of_content_term_name_idx_unique ON test_tenant_mod_inventory_storage.nature_of_content_term (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('service_point_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_code_idx_unique ON test_tenant_mod_inventory_storage.service_point (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('service_point_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_name_idx_unique ON test_tenant_mod_inventory_storage.service_point (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('service_point_user_userId_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_user_userId_idx_unique ON test_tenant_mod_inventory_storage.service_point_user (lower(f_unaccent(jsonb->>''userId'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('statistical_code_code_statisticalCodeTypeId_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_code_statisticalCodeTypeId_idx_unique ON test_tenant_mod_inventory_storage.statistical_code (lower(f_unaccent(jsonb->>''code'')) , lower(f_unaccent(jsonb->>''statisticalCodeTypeId'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('statistical_code_type_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_type_code_idx_unique ON test_tenant_mod_inventory_storage.statistical_code_type (lower(f_unaccent(jsonb->>''code'')))', false); ELSE -- nothing to do, this results in rebuilding all indexes because we haven't investigated which indexes are exactly the same END CASE; END $$; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE n INT; BEGIN -- Only populate if table is empty SELECT count(*) INTO n FROM test_tenant_mod_inventory_storage.rmb_internal_index; IF n > 0 THEN RETURN; END IF; CASE '0.0' -- previous module version taken from the /_/tenant POST module_from variable WHEN '18.2.3', 'mod-inventory-storage-18.2.3', '18.2.2', 'mod-inventory-storage-18.2.2', '18.2.1', 'mod-inventory-storage-18.2.1' THEN -- Edelweiss versions 18.2.1 - 18.2.3; earlier versions don't have left(..., 600) index truncation INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('alternative_title_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS alternative_title_type_name_idx_unique ON test_tenant_mod_inventory_storage.alternative_title_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('call_number_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS call_number_type_name_idx_unique ON test_tenant_mod_inventory_storage.call_number_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('classification_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS classification_type_name_idx_unique ON test_tenant_mod_inventory_storage.classification_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('contributor_name_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_name_type_name_idx_unique ON test_tenant_mod_inventory_storage.contributor_name_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('contributor_type_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_type_code_idx_unique ON test_tenant_mod_inventory_storage.contributor_type (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('contributor_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_type_name_idx_unique ON test_tenant_mod_inventory_storage.contributor_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('electronic_access_relationship_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS electronic_access_relationship_name_idx_unique ON test_tenant_mod_inventory_storage.electronic_access_relationship (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('holdings_note_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_note_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('holdings_record_hrid_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_record_hrid_idx_unique ON test_tenant_mod_inventory_storage.holdings_record (lower(f_unaccent(jsonb->>''hrid'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('holdings_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_type_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('identifier_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS identifier_type_name_idx_unique ON test_tenant_mod_inventory_storage.identifier_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('ill_policy_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS ill_policy_name_idx_unique ON test_tenant_mod_inventory_storage.ill_policy (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_classifications_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_classifications_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''classifications''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_contributors_idx', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''contributors'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_contributors_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''contributors'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_contributors_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''contributors''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_format_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_format_code_idx_unique ON test_tenant_mod_inventory_storage.instance_format (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_format_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_format_name_idx_unique ON test_tenant_mod_inventory_storage.instance_format (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_hrid_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_hrid_idx_unique ON test_tenant_mod_inventory_storage.instance (lower(f_unaccent(jsonb->>''hrid'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_identifiers_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_identifiers_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''identifiers'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_identifiers_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_identifiers_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''identifiers''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_indexTitle_idx', 'CREATE INDEX IF NOT EXISTS instance_indexTitle_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''indexTitle'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_indexTitle_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_indexTitle_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''indexTitle''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_keyword_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_keyword_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(concat_space_sql(instance.jsonb->>''title'' , concat_array_object_values(instance.jsonb->''contributors'',''name'') , concat_array_object_values(instance.jsonb->''identifiers'',''value'')))) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_languages_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_languages_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''languages'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_note_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_note_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_publication_idx', 'CREATE INDEX IF NOT EXISTS instance_publication_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''publication'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_relationship_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_relationship_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_relationship_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_source_idx', 'CREATE INDEX IF NOT EXISTS instance_source_idx ON test_tenant_mod_inventory_storage.instance (left(lower(jsonb->>''source''),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_statisticalCodeIds_idx', 'CREATE INDEX IF NOT EXISTS instance_statisticalCodeIds_idx ON test_tenant_mod_inventory_storage.instance (left(lower(jsonb->>''statisticalCodeIds''),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_status_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_status_code_idx_unique ON test_tenant_mod_inventory_storage.instance_status (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_status_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_status_name_idx_unique ON test_tenant_mod_inventory_storage.instance_status (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_subjects_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_subjects_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''subjects''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_title_idx', 'CREATE INDEX IF NOT EXISTS instance_title_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''title'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_title_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_title_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''title'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_title_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_title_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''title''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_type_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_type_code_idx_unique ON test_tenant_mod_inventory_storage.instance_type (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_barcode_idx', 'CREATE INDEX IF NOT EXISTS item_barcode_idx ON test_tenant_mod_inventory_storage.item (left(lower(f_unaccent(jsonb->>''barcode'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_barcode_idx_ft', 'CREATE INDEX IF NOT EXISTS item_barcode_idx_ft ON test_tenant_mod_inventory_storage.item USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''barcode'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_barcode_idx_gin', 'CREATE INDEX IF NOT EXISTS item_barcode_idx_gin ON test_tenant_mod_inventory_storage.item USING GIN ((lower(f_unaccent(jsonb->>''barcode''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_damaged_status_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS item_damaged_status_name_idx_unique ON test_tenant_mod_inventory_storage.item_damaged_status (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_hrid_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS item_hrid_idx_unique ON test_tenant_mod_inventory_storage.item (lower(f_unaccent(jsonb->>''hrid'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_note_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS item_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.item_note_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_status_name_idx', 'CREATE INDEX IF NOT EXISTS item_status_name_idx ON test_tenant_mod_inventory_storage.item (left(lower(f_unaccent(jsonb->''status''->>''name'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_status_name_idx_gin', 'CREATE INDEX IF NOT EXISTS item_status_name_idx_gin ON test_tenant_mod_inventory_storage.item USING GIN ((lower(f_unaccent(jsonb->''status''->>''name''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('loan_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS loan_type_name_idx_unique ON test_tenant_mod_inventory_storage.loan_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('location_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS location_code_idx_unique ON test_tenant_mod_inventory_storage.location (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('location_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS location_name_idx_unique ON test_tenant_mod_inventory_storage.location (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('loccampus_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS loccampus_name_idx_unique ON test_tenant_mod_inventory_storage.loccampus (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('locinstitution_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS locinstitution_name_idx_unique ON test_tenant_mod_inventory_storage.locinstitution (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('loclibrary_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS loclibrary_name_idx_unique ON test_tenant_mod_inventory_storage.loclibrary (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('material_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS material_type_name_idx_unique ON test_tenant_mod_inventory_storage.material_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('mode_of_issuance_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS mode_of_issuance_name_idx_unique ON test_tenant_mod_inventory_storage.mode_of_issuance (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('nature_of_content_term_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS nature_of_content_term_name_idx_unique ON test_tenant_mod_inventory_storage.nature_of_content_term (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('service_point_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_code_idx_unique ON test_tenant_mod_inventory_storage.service_point (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('service_point_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_name_idx_unique ON test_tenant_mod_inventory_storage.service_point (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('service_point_user_userId_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_user_userId_idx_unique ON test_tenant_mod_inventory_storage.service_point_user (lower(f_unaccent(jsonb->>''userId'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('statistical_code_code_statisticalCodeTypeId_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_code_statisticalCodeTypeId_idx_unique ON test_tenant_mod_inventory_storage.statistical_code (lower(f_unaccent(jsonb->>''code'')) , lower(f_unaccent(jsonb->>''statisticalCodeTypeId'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('statistical_code_type_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_type_code_idx_unique ON test_tenant_mod_inventory_storage.statistical_code_type (lower(f_unaccent(jsonb->>''code'')))', false); WHEN '19.0.0', 'mod-inventory-storage-19.0.0', '19.1.0', 'mod-inventory-storage-19.1.0' THEN INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('alternative_title_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS alternative_title_type_name_idx_unique ON test_tenant_mod_inventory_storage.alternative_title_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('call_number_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS call_number_type_name_idx_unique ON test_tenant_mod_inventory_storage.call_number_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('classification_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS classification_type_name_idx_unique ON test_tenant_mod_inventory_storage.classification_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('contributor_name_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_name_type_name_idx_unique ON test_tenant_mod_inventory_storage.contributor_name_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('contributor_type_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_type_code_idx_unique ON test_tenant_mod_inventory_storage.contributor_type (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('contributor_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_type_name_idx_unique ON test_tenant_mod_inventory_storage.contributor_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('electronic_access_relationship_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS electronic_access_relationship_name_idx_unique ON test_tenant_mod_inventory_storage.electronic_access_relationship (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('holdings_note_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_note_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('holdings_record_callNumber_idx', 'CREATE INDEX IF NOT EXISTS holdings_record_callNumber_idx ON test_tenant_mod_inventory_storage.holdings_record (left(lower(jsonb->>''callNumber''),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('holdings_record_hrid_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_record_hrid_idx_unique ON test_tenant_mod_inventory_storage.holdings_record (lower(f_unaccent(jsonb->>''hrid'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('holdings_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_type_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('identifier_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS identifier_type_name_idx_unique ON test_tenant_mod_inventory_storage.identifier_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('ill_policy_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS ill_policy_name_idx_unique ON test_tenant_mod_inventory_storage.ill_policy (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_classifications_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_classifications_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''classifications''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_contributors_idx', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''contributors'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_contributors_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''contributors'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_contributors_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''contributors''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_format_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_format_code_idx_unique ON test_tenant_mod_inventory_storage.instance_format (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_format_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_format_name_idx_unique ON test_tenant_mod_inventory_storage.instance_format (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_hrid_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_hrid_idx_unique ON test_tenant_mod_inventory_storage.instance (lower(f_unaccent(jsonb->>''hrid'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_identifiers_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_identifiers_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''identifiers'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_identifiers_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_identifiers_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''identifiers''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_indexTitle_idx', 'CREATE INDEX IF NOT EXISTS instance_indexTitle_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''indexTitle'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_indexTitle_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_indexTitle_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''indexTitle''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_languages_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_languages_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''languages'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_note_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_note_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_publication_idx', 'CREATE INDEX IF NOT EXISTS instance_publication_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''publication'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_relationship_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_relationship_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_relationship_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_source_idx', 'CREATE INDEX IF NOT EXISTS instance_source_idx ON test_tenant_mod_inventory_storage.instance (left(lower(jsonb->>''source''),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_statisticalCodeIds_idx', 'CREATE INDEX IF NOT EXISTS instance_statisticalCodeIds_idx ON test_tenant_mod_inventory_storage.instance (left(lower(jsonb->>''statisticalCodeIds''),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_status_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_status_code_idx_unique ON test_tenant_mod_inventory_storage.instance_status (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_status_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_status_name_idx_unique ON test_tenant_mod_inventory_storage.instance_status (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_subjects_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_subjects_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''subjects''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_title_idx', 'CREATE INDEX IF NOT EXISTS instance_title_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''title'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_title_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_title_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''title'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_title_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_title_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''title''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_type_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_type_code_idx_unique ON test_tenant_mod_inventory_storage.instance_type (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_accessionNumber_idx', 'CREATE INDEX IF NOT EXISTS item_accessionNumber_idx ON test_tenant_mod_inventory_storage.item (left(lower(jsonb->>''accessionNumber''),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_barcode_idx', 'CREATE INDEX IF NOT EXISTS item_barcode_idx ON test_tenant_mod_inventory_storage.item (left(lower(f_unaccent(jsonb->>''barcode'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_barcode_idx_ft', 'CREATE INDEX IF NOT EXISTS item_barcode_idx_ft ON test_tenant_mod_inventory_storage.item USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''barcode'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_barcode_idx_gin', 'CREATE INDEX IF NOT EXISTS item_barcode_idx_gin ON test_tenant_mod_inventory_storage.item USING GIN ((lower(f_unaccent(jsonb->>''barcode''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_damaged_status_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS item_damaged_status_name_idx_unique ON test_tenant_mod_inventory_storage.item_damaged_status (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_hrid_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS item_hrid_idx_unique ON test_tenant_mod_inventory_storage.item (lower(f_unaccent(jsonb->>''hrid'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_note_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS item_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.item_note_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_status_name_idx', 'CREATE INDEX IF NOT EXISTS item_status_name_idx ON test_tenant_mod_inventory_storage.item (left(lower(f_unaccent(jsonb->''status''->>''name'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_status_name_idx_gin', 'CREATE INDEX IF NOT EXISTS item_status_name_idx_gin ON test_tenant_mod_inventory_storage.item USING GIN ((lower(f_unaccent(jsonb->''status''->>''name''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('loan_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS loan_type_name_idx_unique ON test_tenant_mod_inventory_storage.loan_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('location_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS location_code_idx_unique ON test_tenant_mod_inventory_storage.location (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('location_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS location_name_idx_unique ON test_tenant_mod_inventory_storage.location (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('loccampus_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS loccampus_name_idx_unique ON test_tenant_mod_inventory_storage.loccampus (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('locinstitution_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS locinstitution_name_idx_unique ON test_tenant_mod_inventory_storage.locinstitution (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('loclibrary_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS loclibrary_name_idx_unique ON test_tenant_mod_inventory_storage.loclibrary (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('material_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS material_type_name_idx_unique ON test_tenant_mod_inventory_storage.material_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('mode_of_issuance_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS mode_of_issuance_name_idx_unique ON test_tenant_mod_inventory_storage.mode_of_issuance (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('nature_of_content_term_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS nature_of_content_term_name_idx_unique ON test_tenant_mod_inventory_storage.nature_of_content_term (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('service_point_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_code_idx_unique ON test_tenant_mod_inventory_storage.service_point (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('service_point_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_name_idx_unique ON test_tenant_mod_inventory_storage.service_point (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('service_point_user_userId_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_user_userId_idx_unique ON test_tenant_mod_inventory_storage.service_point_user (lower(f_unaccent(jsonb->>''userId'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('statistical_code_code_statisticalCodeTypeId_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_code_statisticalCodeTypeId_idx_unique ON test_tenant_mod_inventory_storage.statistical_code (lower(f_unaccent(jsonb->>''code'')) , lower(f_unaccent(jsonb->>''statisticalCodeTypeId'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('statistical_code_type_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_type_code_idx_unique ON test_tenant_mod_inventory_storage.statistical_code_type (lower(f_unaccent(jsonb->>''code'')))', false); ELSE -- nothing to do, this results in rebuilding all indexes because we haven't investigated which indexes are exactly the same END CASE; END $$; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_isbns(jsonb_array jsonb) RETURNS text AS $$ SELECT string_agg(test_tenant_mod_inventory_storage.normalize_digits(identifier->>'value'), ' ') FROM jsonb_array_elements($1) as identifier WHERE identifier->>'identifierTypeId' = '8261054f-be78-422d-bd51-4ed9f33c3422'; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_isbns(jsonb_array jsonb) RETURNS text AS $$ SELECT string_agg(test_tenant_mod_inventory_storage.normalize_digits(identifier->>'value'), ' ') FROM jsonb_array_elements($1) as identifier WHERE identifier->>'identifierTypeId' = '8261054f-be78-422d-bd51-4ed9f33c3422'; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_invalid_isbns(jsonb_array jsonb) RETURNS text AS $$ SELECT string_agg(test_tenant_mod_inventory_storage.normalize_digits(identifier->>'value'), ' ') FROM jsonb_array_elements($1) as identifier WHERE identifier->>'identifierTypeId' = 'fcca2643-406a-482a-b760-7a7f8aec640e'; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_invalid_isbns(jsonb_array jsonb) RETURNS text AS $$ SELECT string_agg(test_tenant_mod_inventory_storage.normalize_digits(identifier->>'value'), ' ') FROM jsonb_array_elements($1) as identifier WHERE identifier->>'identifierTypeId' = 'fcca2643-406a-482a-b760-7a7f8aec640e'; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_call_number_string(callNumberString text) RETURNS text AS $$ SELECT regexp_replace(lower(callNumberString), '[^a-z0-9]', '', 'g'); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_call_number_string(callNumberString text) RETURNS text AS $$ SELECT regexp_replace(lower(callNumberString), '[^a-z0-9]', '', 'g'); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_holdings_full_call_number(holdingsRecord jsonb) RETURNS text AS $$ SELECT test_tenant_mod_inventory_storage.normalize_call_number_string( concat_ws('', holdingsRecord->>'callNumberPrefix', holdingsRecord->>'callNumber', holdingsRecord->>'callNumberSuffix' )); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_holdings_full_call_number(holdingsRecord jsonb) RETURNS text AS $$ SELECT test_tenant_mod_inventory_storage.normalize_call_number_string( concat_ws('', holdingsRecord->>'callNumberPrefix', holdingsRecord->>'callNumber', holdingsRecord->>'callNumberSuffix' )); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_holdings_call_number_and_suffix(holdingsRecord jsonb) RETURNS text AS $$ SELECT test_tenant_mod_inventory_storage.normalize_call_number_string( concat_ws('', holdingsRecord->>'callNumber', holdingsRecord->>'callNumberSuffix' )); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_holdings_call_number_and_suffix(holdingsRecord jsonb) RETURNS text AS $$ SELECT test_tenant_mod_inventory_storage.normalize_call_number_string( concat_ws('', holdingsRecord->>'callNumber', holdingsRecord->>'callNumberSuffix' )); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_item_full_call_number(item jsonb) RETURNS text AS $$ SELECT test_tenant_mod_inventory_storage.normalize_call_number_string( concat_ws('', item->'effectiveCallNumberComponents'->>'prefix', item->'effectiveCallNumberComponents'->>'callNumber', item->'effectiveCallNumberComponents'->>'suffix' )); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_item_full_call_number(item jsonb) RETURNS text AS $$ SELECT test_tenant_mod_inventory_storage.normalize_call_number_string( concat_ws('', item->'effectiveCallNumberComponents'->>'prefix', item->'effectiveCallNumberComponents'->>'callNumber', item->'effectiveCallNumberComponents'->>'suffix' )); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_item_call_number_and_suffix(item jsonb) RETURNS text AS $$ SELECT test_tenant_mod_inventory_storage.normalize_call_number_string( concat_ws('', item->'effectiveCallNumberComponents'->>'callNumber', item->'effectiveCallNumberComponents'->>'suffix' )); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_item_call_number_and_suffix(item jsonb) RETURNS text AS $$ SELECT test_tenant_mod_inventory_storage.normalize_call_number_string( concat_ws('', item->'effectiveCallNumberComponents'->>'callNumber', item->'effectiveCallNumberComponents'->>'suffix' )); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN -- use advisory lock to prevent "tuple concurrently updated" -- https://issues.folio.org/browse/RMB-744 PERFORM pg_advisory_xact_lock(20201101, 1234567890); REVOKE ALL PRIVILEGES ON SCHEMA public FROM test_tenant_mod_inventory_storage; REVOKE CREATE ON SCHEMA public FROM PUBLIC; END $$; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN -- use advisory lock to prevent "tuple concurrently updated" -- https://issues.folio.org/browse/RMB-744 PERFORM pg_advisory_xact_lock(20201101, 1234567890); REVOKE ALL PRIVILEGES ON SCHEMA public FROM test_tenant_mod_inventory_storage; REVOKE CREATE ON SCHEMA public FROM PUBLIC; END $$; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.authority ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.authority ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_authority ON test_tenant_mod_inventory_storage.authority CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_authority" for relation "test_tenant_mod_inventory_storage.authority" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_authority ON test_tenant_mod_inventory_storage.authority CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.authority CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.authority" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.authority CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.authority FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.authority FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.authority ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.authority ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_authority_references ON test_tenant_mod_inventory_storage.authority CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_authority_references" for relation "test_tenant_mod_inventory_storage.authority" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_authority_references ON test_tenant_mod_inventory_storage.authority CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_authority_references(); 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_authority_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_authority_references(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.authority_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.authority_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_authority_md_trigger ON test_tenant_mod_inventory_storage.authority CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_authority_md_trigger" for relation "test_tenant_mod_inventory_storage.authority" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_authority_md_trigger ON test_tenant_mod_inventory_storage.authority CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_authority_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.authority FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.authority_set_md(); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_authority_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.authority FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.authority_set_md(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_authority_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_authority_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_authority_md_json_trigger ON test_tenant_mod_inventory_storage.authority CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_authority_md_json_trigger" for relation "test_tenant_mod_inventory_storage.authority" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_authority_md_json_trigger ON test_tenant_mod_inventory_storage.authority CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_authority_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.authority FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_authority_md_json(); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_authority_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.authority FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_authority_md_json(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.authority_set_ol_version() RETURNS trigger AS $$ BEGIN CASE TG_OP WHEN 'INSERT' THEN NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(1)); WHEN 'UPDATE' THEN IF NEW.jsonb->'_version' IS DISTINCT FROM OLD.jsonb->'_version' THEN RAISE NOTICE 'Ignoring optimistic locking conflict while overwriting changed record %: ' 'Stored _version is %, _version of request is %', OLD.id, OLD.jsonb->'_version', NEW.jsonb->'_version' USING ERRCODE = '23F09', TABLE = 'authority', SCHEMA = 'test_tenant_mod_inventory_storage'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(COALESCE((OLD.jsonb->>'_version')::numeric + 1, 1))); END CASE; RETURN NEW; END; $$ LANGUAGE plpgsql; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.authority_set_ol_version() RETURNS trigger AS $$ BEGIN CASE TG_OP WHEN 'INSERT' THEN NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(1)); WHEN 'UPDATE' THEN IF NEW.jsonb->'_version' IS DISTINCT FROM OLD.jsonb->'_version' THEN RAISE NOTICE 'Ignoring optimistic locking conflict while overwriting changed record %: ' 'Stored _version is %, _version of request is %', OLD.id, OLD.jsonb->'_version', NEW.jsonb->'_version' USING ERRCODE = '23F09', TABLE = 'authority', SCHEMA = 'test_tenant_mod_inventory_storage'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(COALESCE((OLD.jsonb->>'_version')::numeric + 1, 1))); END CASE; RETURN NEW; END; $$ LANGUAGE plpgsql; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_authority_ol_version_trigger ON test_tenant_mod_inventory_storage.authority CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_authority_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.authority" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_authority_ol_version_trigger ON test_tenant_mod_inventory_storage.authority CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_authority_ol_version_trigger BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.authority FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.authority_set_ol_version(); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_authority_ol_version_trigger BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.authority FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.authority_set_ol_version(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.loan_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.loan_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_loan_type ON test_tenant_mod_inventory_storage.loan_type CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_loan_type" for relation "test_tenant_mod_inventory_storage.loan_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_loan_type ON test_tenant_mod_inventory_storage.loan_type CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.loan_type CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.loan_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.loan_type CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.loan_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.loan_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.loan_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.loan_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'loan_type', 'loan_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS loan_type_name_idx_unique ON test_tenant_mod_inventory_storage.loan_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "loan_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS loan_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'loan_type', 'loan_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS loan_type_name_idx_unique ON test_tenant_mod_inventory_storage.loan_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'loan_type', 'loan_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS loan_type_name_idx_unique ON test_tenant_mod_inventory_storage.loan_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_loan_type_references ON test_tenant_mod_inventory_storage.loan_type CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_loan_type_references" for relation "test_tenant_mod_inventory_storage.loan_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_loan_type_references ON test_tenant_mod_inventory_storage.loan_type CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_loan_type_references(); 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_loan_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_loan_type_references(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.loan_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.loan_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_loan_type_md_trigger ON test_tenant_mod_inventory_storage.loan_type CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_loan_type_md_trigger" for relation "test_tenant_mod_inventory_storage.loan_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_loan_type_md_trigger ON test_tenant_mod_inventory_storage.loan_type CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_loan_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.loan_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.loan_type_set_md(); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_loan_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.loan_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.loan_type_set_md(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_loan_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_loan_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_loan_type_md_json_trigger ON test_tenant_mod_inventory_storage.loan_type CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_loan_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.loan_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_loan_type_md_json_trigger ON test_tenant_mod_inventory_storage.loan_type CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_loan_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.loan_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_loan_type_md_json(); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_loan_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.loan_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_loan_type_md_json(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_loan_type_ol_version_trigger ON test_tenant_mod_inventory_storage.loan_type CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_loan_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.loan_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_loan_type_ol_version_trigger ON test_tenant_mod_inventory_storage.loan_type CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.loan_type_set_ol_version() CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.loan_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.loan_type_set_ol_version() CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.material_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.material_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_material_type ON test_tenant_mod_inventory_storage.material_type CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_material_type" for relation "test_tenant_mod_inventory_storage.material_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_material_type ON test_tenant_mod_inventory_storage.material_type CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.material_type CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.material_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.material_type CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.material_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.material_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.material_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.material_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'material_type', 'material_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS material_type_name_idx_unique ON test_tenant_mod_inventory_storage.material_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "material_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS material_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'material_type', 'material_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS material_type_name_idx_unique ON test_tenant_mod_inventory_storage.material_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'material_type', 'material_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS material_type_name_idx_unique ON test_tenant_mod_inventory_storage.material_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_material_type_references ON test_tenant_mod_inventory_storage.material_type CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_material_type_references" for relation "test_tenant_mod_inventory_storage.material_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_material_type_references ON test_tenant_mod_inventory_storage.material_type CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_material_type_references(); 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_material_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_material_type_references(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.material_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.material_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_material_type_md_trigger ON test_tenant_mod_inventory_storage.material_type CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_material_type_md_trigger" for relation "test_tenant_mod_inventory_storage.material_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_material_type_md_trigger ON test_tenant_mod_inventory_storage.material_type CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_material_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.material_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.material_type_set_md(); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_material_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.material_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.material_type_set_md(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_material_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_material_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_material_type_md_json_trigger ON test_tenant_mod_inventory_storage.material_type CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_material_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.material_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_material_type_md_json_trigger ON test_tenant_mod_inventory_storage.material_type CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_material_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.material_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_material_type_md_json(); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_material_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.material_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_material_type_md_json(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_material_type_ol_version_trigger ON test_tenant_mod_inventory_storage.material_type CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_material_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.material_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_material_type_ol_version_trigger ON test_tenant_mod_inventory_storage.material_type CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.material_type_set_ol_version() CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.material_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.material_type_set_ol_version() CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.locinstitution ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.locinstitution ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_locinstitution ON test_tenant_mod_inventory_storage.locinstitution CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_locinstitution" for relation "test_tenant_mod_inventory_storage.locinstitution" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_locinstitution ON test_tenant_mod_inventory_storage.locinstitution CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.locinstitution CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.locinstitution" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.locinstitution CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.locinstitution FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.locinstitution FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.locinstitution ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.locinstitution ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'locinstitution', 'locinstitution_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS locinstitution_name_idx_unique ON test_tenant_mod_inventory_storage.locinstitution ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "locinstitution_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS locinstitution_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'locinstitution', 'locinstitution_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS locinstitution_name_idx_unique ON test_tenant_mod_inventory_storage.locinstitution ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'locinstitution', 'locinstitution_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS locinstitution_name_idx_unique ON test_tenant_mod_inventory_storage.locinstitution ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_locinstitution_references ON test_tenant_mod_inventory_storage.locinstitution CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_locinstitution_references" for relation "test_tenant_mod_inventory_storage.locinstitution" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_locinstitution_references ON test_tenant_mod_inventory_storage.locinstitution CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_locinstitution_references(); 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_locinstitution_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_locinstitution_references(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.locinstitution_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.locinstitution_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_locinstitution_md_trigger ON test_tenant_mod_inventory_storage.locinstitution CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_locinstitution_md_trigger" for relation "test_tenant_mod_inventory_storage.locinstitution" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_locinstitution_md_trigger ON test_tenant_mod_inventory_storage.locinstitution CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_locinstitution_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.locinstitution FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.locinstitution_set_md(); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_locinstitution_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.locinstitution FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.locinstitution_set_md(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_locinstitution_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_locinstitution_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_locinstitution_md_json_trigger ON test_tenant_mod_inventory_storage.locinstitution CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_locinstitution_md_json_trigger" for relation "test_tenant_mod_inventory_storage.locinstitution" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_locinstitution_md_json_trigger ON test_tenant_mod_inventory_storage.locinstitution CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_locinstitution_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.locinstitution FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_locinstitution_md_json(); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_locinstitution_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.locinstitution FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_locinstitution_md_json(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_locinstitution_ol_version_trigger ON test_tenant_mod_inventory_storage.locinstitution CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_locinstitution_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.locinstitution" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_locinstitution_ol_version_trigger ON test_tenant_mod_inventory_storage.locinstitution CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.locinstitution_set_ol_version() CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.locinstitution_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.locinstitution_set_ol_version() CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.loccampus ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.loccampus ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_loccampus ON test_tenant_mod_inventory_storage.loccampus CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_loccampus" for relation "test_tenant_mod_inventory_storage.loccampus" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_loccampus ON test_tenant_mod_inventory_storage.loccampus CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.loccampus CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.loccampus" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.loccampus CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.loccampus FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.loccampus FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.loccampus ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.loccampus ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'loccampus', 'loccampus_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS loccampus_name_idx_unique ON test_tenant_mod_inventory_storage.loccampus ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "loccampus_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS loccampus_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'loccampus', 'loccampus_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS loccampus_name_idx_unique ON test_tenant_mod_inventory_storage.loccampus ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'loccampus', 'loccampus_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS loccampus_name_idx_unique ON test_tenant_mod_inventory_storage.loccampus ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.loccampus ADD COLUMN IF NOT EXISTS institutionId UUID; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.loccampus ADD COLUMN IF NOT EXISTS institutionId UUID; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE loccampus ADD CONSTRAINT institutionId_locinstitution_fkey FOREIGN KEY (institutionId) REFERENCES locinstitution; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE loccampus ADD CONSTRAINT institutionId_locinstitution_fkey FOREIGN KEY (institutionId) REFERENCES locinstitution; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS loccampus_institutionId_idx ON test_tenant_mod_inventory_storage.loccampus (institutionId); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS loccampus_institutionId_idx ON test_tenant_mod_inventory_storage.loccampus (institutionId); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('loccampus'); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('loccampus'); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_loccampus_references() RETURNS TRIGGER AS $$ BEGIN NEW.institutionId = (NEW.jsonb->>'institutionId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_loccampus_references() RETURNS TRIGGER AS $$ BEGIN NEW.institutionId = (NEW.jsonb->>'institutionId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_loccampus_references ON test_tenant_mod_inventory_storage.loccampus CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_loccampus_references" for relation "test_tenant_mod_inventory_storage.loccampus" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_loccampus_references ON test_tenant_mod_inventory_storage.loccampus CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER update_loccampus_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.loccampus FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_loccampus_references(); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER update_loccampus_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.loccampus FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_loccampus_references(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE loccampus DROP CONSTRAINT IF EXISTS ' || 'institutionId_locinstitution_fkey' || i; END LOOP; END $$; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE loccampus DROP CONSTRAINT IF EXISTS ' || 'institutionId_locinstitution_fkey' || i; END LOOP; END $$; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.loccampus_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.loccampus_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_loccampus_md_trigger ON test_tenant_mod_inventory_storage.loccampus CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_loccampus_md_trigger" for relation "test_tenant_mod_inventory_storage.loccampus" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_loccampus_md_trigger ON test_tenant_mod_inventory_storage.loccampus CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_loccampus_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.loccampus FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.loccampus_set_md(); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_loccampus_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.loccampus FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.loccampus_set_md(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_loccampus_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_loccampus_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_loccampus_md_json_trigger ON test_tenant_mod_inventory_storage.loccampus CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_loccampus_md_json_trigger" for relation "test_tenant_mod_inventory_storage.loccampus" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_loccampus_md_json_trigger ON test_tenant_mod_inventory_storage.loccampus CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_loccampus_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.loccampus FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_loccampus_md_json(); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_loccampus_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.loccampus FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_loccampus_md_json(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_loccampus_ol_version_trigger ON test_tenant_mod_inventory_storage.loccampus CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_loccampus_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.loccampus" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_loccampus_ol_version_trigger ON test_tenant_mod_inventory_storage.loccampus CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.loccampus_set_ol_version() CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.loccampus_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.loccampus_set_ol_version() CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.loclibrary ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.loclibrary ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_loclibrary ON test_tenant_mod_inventory_storage.loclibrary CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_loclibrary" for relation "test_tenant_mod_inventory_storage.loclibrary" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_loclibrary ON test_tenant_mod_inventory_storage.loclibrary CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.loclibrary CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.loclibrary" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.loclibrary CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.loclibrary FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.loclibrary FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.loclibrary ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.loclibrary ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'loclibrary', 'loclibrary_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS loclibrary_name_idx_unique ON test_tenant_mod_inventory_storage.loclibrary ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "loclibrary_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS loclibrary_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'loclibrary', 'loclibrary_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS loclibrary_name_idx_unique ON test_tenant_mod_inventory_storage.loclibrary ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'loclibrary', 'loclibrary_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS loclibrary_name_idx_unique ON test_tenant_mod_inventory_storage.loclibrary ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.loclibrary ADD COLUMN IF NOT EXISTS campusId UUID; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.loclibrary ADD COLUMN IF NOT EXISTS campusId UUID; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE loclibrary ADD CONSTRAINT campusId_loccampus_fkey FOREIGN KEY (campusId) REFERENCES loccampus; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE loclibrary ADD CONSTRAINT campusId_loccampus_fkey FOREIGN KEY (campusId) REFERENCES loccampus; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS loclibrary_campusId_idx ON test_tenant_mod_inventory_storage.loclibrary (campusId); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS loclibrary_campusId_idx ON test_tenant_mod_inventory_storage.loclibrary (campusId); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('loclibrary'); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('loclibrary'); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_loclibrary_references() RETURNS TRIGGER AS $$ BEGIN NEW.campusId = (NEW.jsonb->>'campusId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_loclibrary_references() RETURNS TRIGGER AS $$ BEGIN NEW.campusId = (NEW.jsonb->>'campusId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_loclibrary_references ON test_tenant_mod_inventory_storage.loclibrary CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_loclibrary_references" for relation "test_tenant_mod_inventory_storage.loclibrary" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_loclibrary_references ON test_tenant_mod_inventory_storage.loclibrary CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER update_loclibrary_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.loclibrary FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_loclibrary_references(); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER update_loclibrary_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.loclibrary FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_loclibrary_references(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE loclibrary DROP CONSTRAINT IF EXISTS ' || 'campusId_loccampus_fkey' || i; END LOOP; END $$; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE loclibrary DROP CONSTRAINT IF EXISTS ' || 'campusId_loccampus_fkey' || i; END LOOP; END $$; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.loclibrary_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.loclibrary_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_loclibrary_md_trigger ON test_tenant_mod_inventory_storage.loclibrary CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_loclibrary_md_trigger" for relation "test_tenant_mod_inventory_storage.loclibrary" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_loclibrary_md_trigger ON test_tenant_mod_inventory_storage.loclibrary CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_loclibrary_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.loclibrary FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.loclibrary_set_md(); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_loclibrary_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.loclibrary FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.loclibrary_set_md(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_loclibrary_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_loclibrary_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_loclibrary_md_json_trigger ON test_tenant_mod_inventory_storage.loclibrary CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_loclibrary_md_json_trigger" for relation "test_tenant_mod_inventory_storage.loclibrary" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_loclibrary_md_json_trigger ON test_tenant_mod_inventory_storage.loclibrary CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_loclibrary_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.loclibrary FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_loclibrary_md_json(); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_loclibrary_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.loclibrary FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_loclibrary_md_json(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_loclibrary_ol_version_trigger ON test_tenant_mod_inventory_storage.loclibrary CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_loclibrary_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.loclibrary" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_loclibrary_ol_version_trigger ON test_tenant_mod_inventory_storage.loclibrary CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.loclibrary_set_ol_version() CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.loclibrary_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.loclibrary_set_ol_version() CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.location ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.location ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_location ON test_tenant_mod_inventory_storage.location CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_location" for relation "test_tenant_mod_inventory_storage.location" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_location ON test_tenant_mod_inventory_storage.location CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.location CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.location" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.location CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.location FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.location FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.location ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.location ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'location', 'location_primaryServicePoint_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS location_primaryServicePoint_idx ON test_tenant_mod_inventory_storage.location ' || $rmb$(left(lower(jsonb->>'primaryServicePoint'),600))$rmb$ ); END $do$; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "location_primaryservicepoint_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS location_primaryServicePoint_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'location', 'location_primaryServicePoint_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS location_primaryServicePoint_idx ON test_tenant_mod_inventory_storage.location ' || $rmb$(left(lower(jsonb->>'primaryServicePoint'),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'location', 'location_primaryServicePoint_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS location_primaryServicePoint_idx ON test_tenant_mod_inventory_storage.location ' || $rmb$(left(lower(jsonb->>'primaryServicePoint'),600))$rmb$ ); END $do$; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'location', 'location_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS location_name_idx_unique ON test_tenant_mod_inventory_storage.location ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "location_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS location_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'location', 'location_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS location_name_idx_unique ON test_tenant_mod_inventory_storage.location ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'location', 'location_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS location_name_idx_unique ON test_tenant_mod_inventory_storage.location ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'location', 'location_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS location_code_idx_unique ON test_tenant_mod_inventory_storage.location ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ ); END $do$; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "location_code_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS location_code_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'location', 'location_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS location_code_idx_unique ON test_tenant_mod_inventory_storage.location ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'location', 'location_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS location_code_idx_unique ON test_tenant_mod_inventory_storage.location ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ ); END $do$; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.location ADD COLUMN IF NOT EXISTS institutionId UUID; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.location ADD COLUMN IF NOT EXISTS institutionId UUID; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE location ADD CONSTRAINT institutionId_locinstitution_fkey FOREIGN KEY (institutionId) REFERENCES locinstitution; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE location ADD CONSTRAINT institutionId_locinstitution_fkey FOREIGN KEY (institutionId) REFERENCES locinstitution; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS location_institutionId_idx ON test_tenant_mod_inventory_storage.location (institutionId); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS location_institutionId_idx ON test_tenant_mod_inventory_storage.location (institutionId); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('location'); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('location'); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.location ADD COLUMN IF NOT EXISTS campusId UUID; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.location ADD COLUMN IF NOT EXISTS campusId UUID; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE location ADD CONSTRAINT campusId_loccampus_fkey FOREIGN KEY (campusId) REFERENCES loccampus; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE location ADD CONSTRAINT campusId_loccampus_fkey FOREIGN KEY (campusId) REFERENCES loccampus; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS location_campusId_idx ON test_tenant_mod_inventory_storage.location (campusId); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS location_campusId_idx ON test_tenant_mod_inventory_storage.location (campusId); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('location'); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('location'); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.location ADD COLUMN IF NOT EXISTS libraryId UUID; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.location ADD COLUMN IF NOT EXISTS libraryId UUID; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE location ADD CONSTRAINT libraryId_loclibrary_fkey FOREIGN KEY (libraryId) REFERENCES loclibrary; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE location ADD CONSTRAINT libraryId_loclibrary_fkey FOREIGN KEY (libraryId) REFERENCES loclibrary; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS location_libraryId_idx ON test_tenant_mod_inventory_storage.location (libraryId); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS location_libraryId_idx ON test_tenant_mod_inventory_storage.location (libraryId); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('location'); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('location'); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_location_references() RETURNS TRIGGER AS $$ BEGIN NEW.institutionId = (NEW.jsonb->>'institutionId'); NEW.campusId = (NEW.jsonb->>'campusId'); NEW.libraryId = (NEW.jsonb->>'libraryId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_location_references() RETURNS TRIGGER AS $$ BEGIN NEW.institutionId = (NEW.jsonb->>'institutionId'); NEW.campusId = (NEW.jsonb->>'campusId'); NEW.libraryId = (NEW.jsonb->>'libraryId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_location_references ON test_tenant_mod_inventory_storage.location CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_location_references" for relation "test_tenant_mod_inventory_storage.location" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_location_references ON test_tenant_mod_inventory_storage.location CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER update_location_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.location FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_location_references(); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER update_location_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.location FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_location_references(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE location DROP CONSTRAINT IF EXISTS ' || 'institutionId_locinstitution_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE location DROP CONSTRAINT IF EXISTS ' || 'campusId_loccampus_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE location DROP CONSTRAINT IF EXISTS ' || 'libraryId_loclibrary_fkey' || i; END LOOP; END $$; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE location DROP CONSTRAINT IF EXISTS ' || 'institutionId_locinstitution_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE location DROP CONSTRAINT IF EXISTS ' || 'campusId_loccampus_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE location DROP CONSTRAINT IF EXISTS ' || 'libraryId_loclibrary_fkey' || i; END LOOP; END $$; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.location_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.location_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_location_md_trigger ON test_tenant_mod_inventory_storage.location CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_location_md_trigger" for relation "test_tenant_mod_inventory_storage.location" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_location_md_trigger ON test_tenant_mod_inventory_storage.location CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_location_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.location FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.location_set_md(); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_location_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.location FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.location_set_md(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_location_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_location_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_location_md_json_trigger ON test_tenant_mod_inventory_storage.location CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_location_md_json_trigger" for relation "test_tenant_mod_inventory_storage.location" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_location_md_json_trigger ON test_tenant_mod_inventory_storage.location CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_location_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.location FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_location_md_json(); 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_location_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.location FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_location_md_json(); 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_location_ol_version_trigger ON test_tenant_mod_inventory_storage.location CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_location_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.location" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_location_ol_version_trigger ON test_tenant_mod_inventory_storage.location CASCADE; 09:33:12 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.location_set_ol_version() CASCADE; 09:33:12 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.location_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:12 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.location_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.service_point ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.service_point ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_service_point ON test_tenant_mod_inventory_storage.service_point CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_service_point" for relation "test_tenant_mod_inventory_storage.service_point" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_service_point ON test_tenant_mod_inventory_storage.service_point CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.service_point CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.service_point" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.service_point CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.service_point FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.service_point FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.service_point ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.service_point ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'service_point', 'service_point_pickupLocation_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS service_point_pickupLocation_idx ON test_tenant_mod_inventory_storage.service_point ' || $rmb$(left(lower(jsonb->>'pickupLocation'),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "service_point_pickuplocation_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS service_point_pickupLocation_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'service_point', 'service_point_pickupLocation_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS service_point_pickupLocation_idx ON test_tenant_mod_inventory_storage.service_point ' || $rmb$(left(lower(jsonb->>'pickupLocation'),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'service_point', 'service_point_pickupLocation_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS service_point_pickupLocation_idx ON test_tenant_mod_inventory_storage.service_point ' || $rmb$(left(lower(jsonb->>'pickupLocation'),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'service_point', 'service_point_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_name_idx_unique ON test_tenant_mod_inventory_storage.service_point ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "service_point_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS service_point_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'service_point', 'service_point_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_name_idx_unique ON test_tenant_mod_inventory_storage.service_point ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'service_point', 'service_point_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_name_idx_unique ON test_tenant_mod_inventory_storage.service_point ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'service_point', 'service_point_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_code_idx_unique ON test_tenant_mod_inventory_storage.service_point ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "service_point_code_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS service_point_code_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'service_point', 'service_point_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_code_idx_unique ON test_tenant_mod_inventory_storage.service_point ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'service_point', 'service_point_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_code_idx_unique ON test_tenant_mod_inventory_storage.service_point ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_service_point_references ON test_tenant_mod_inventory_storage.service_point CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_service_point_references" for relation "test_tenant_mod_inventory_storage.service_point" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_service_point_references ON test_tenant_mod_inventory_storage.service_point CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_service_point_references(); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_service_point_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_service_point_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.service_point_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.service_point_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_service_point_md_trigger ON test_tenant_mod_inventory_storage.service_point CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_service_point_md_trigger" for relation "test_tenant_mod_inventory_storage.service_point" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_service_point_md_trigger ON test_tenant_mod_inventory_storage.service_point CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_service_point_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.service_point FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.service_point_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_service_point_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.service_point FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.service_point_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_service_point_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_service_point_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_service_point_md_json_trigger ON test_tenant_mod_inventory_storage.service_point CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_service_point_md_json_trigger" for relation "test_tenant_mod_inventory_storage.service_point" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_service_point_md_json_trigger ON test_tenant_mod_inventory_storage.service_point CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_service_point_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.service_point FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_service_point_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_service_point_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.service_point FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_service_point_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_service_point_ol_version_trigger ON test_tenant_mod_inventory_storage.service_point CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_service_point_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.service_point" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_service_point_ol_version_trigger ON test_tenant_mod_inventory_storage.service_point CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.service_point_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.service_point_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.service_point_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.service_point_user ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.service_point_user ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_service_point_user ON test_tenant_mod_inventory_storage.service_point_user CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_service_point_user" for relation "test_tenant_mod_inventory_storage.service_point_user" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_service_point_user ON test_tenant_mod_inventory_storage.service_point_user CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.service_point_user CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.service_point_user" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.service_point_user CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.service_point_user FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.service_point_user FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.service_point_user ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.service_point_user ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'service_point_user', 'service_point_user_userId_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_user_userId_idx_unique ON test_tenant_mod_inventory_storage.service_point_user ' || $rmb$(lower(f_unaccent(jsonb->>'userId')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "service_point_user_userid_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS service_point_user_userId_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'service_point_user', 'service_point_user_userId_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_user_userId_idx_unique ON test_tenant_mod_inventory_storage.service_point_user ' || $rmb$(lower(f_unaccent(jsonb->>'userId')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'service_point_user', 'service_point_user_userId_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_user_userId_idx_unique ON test_tenant_mod_inventory_storage.service_point_user ' || $rmb$(lower(f_unaccent(jsonb->>'userId')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.service_point_user ADD COLUMN IF NOT EXISTS defaultServicePointId UUID; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.service_point_user ADD COLUMN IF NOT EXISTS defaultServicePointId UUID; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE service_point_user ADD CONSTRAINT defaultServicePointId_service_point_fkey FOREIGN KEY (defaultServicePointId) REFERENCES service_point; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE service_point_user ADD CONSTRAINT defaultServicePointId_service_point_fkey FOREIGN KEY (defaultServicePointId) REFERENCES service_point; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS service_point_user_defaultServicePointId_idx ON test_tenant_mod_inventory_storage.service_point_user (defaultServicePointId); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS service_point_user_defaultServicePointId_idx ON test_tenant_mod_inventory_storage.service_point_user (defaultServicePointId); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('service_point_user'); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('service_point_user'); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_service_point_user_references() RETURNS TRIGGER AS $$ BEGIN NEW.defaultServicePointId = (NEW.jsonb->>'defaultServicePointId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_service_point_user_references() RETURNS TRIGGER AS $$ BEGIN NEW.defaultServicePointId = (NEW.jsonb->>'defaultServicePointId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_service_point_user_references ON test_tenant_mod_inventory_storage.service_point_user CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_service_point_user_references" for relation "test_tenant_mod_inventory_storage.service_point_user" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_service_point_user_references ON test_tenant_mod_inventory_storage.service_point_user CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER update_service_point_user_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.service_point_user FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_service_point_user_references(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER update_service_point_user_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.service_point_user FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_service_point_user_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE service_point_user DROP CONSTRAINT IF EXISTS ' || 'defaultServicePointId_service_point_fkey' || i; END LOOP; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE service_point_user DROP CONSTRAINT IF EXISTS ' || 'defaultServicePointId_service_point_fkey' || i; END LOOP; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.service_point_user_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.service_point_user_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_service_point_user_md_trigger ON test_tenant_mod_inventory_storage.service_point_user CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_service_point_user_md_trigger" for relation "test_tenant_mod_inventory_storage.service_point_user" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_service_point_user_md_trigger ON test_tenant_mod_inventory_storage.service_point_user CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_service_point_user_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.service_point_user FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.service_point_user_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_service_point_user_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.service_point_user FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.service_point_user_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_service_point_user_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_service_point_user_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_service_point_user_md_json_trigger ON test_tenant_mod_inventory_storage.service_point_user CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_service_point_user_md_json_trigger" for relation "test_tenant_mod_inventory_storage.service_point_user" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_service_point_user_md_json_trigger ON test_tenant_mod_inventory_storage.service_point_user CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_service_point_user_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.service_point_user FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_service_point_user_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_service_point_user_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.service_point_user FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_service_point_user_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_service_point_user_ol_version_trigger ON test_tenant_mod_inventory_storage.service_point_user CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_service_point_user_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.service_point_user" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_service_point_user_ol_version_trigger ON test_tenant_mod_inventory_storage.service_point_user CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.service_point_user_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.service_point_user_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.service_point_user_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.identifier_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.identifier_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_identifier_type ON test_tenant_mod_inventory_storage.identifier_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_identifier_type" for relation "test_tenant_mod_inventory_storage.identifier_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_identifier_type ON test_tenant_mod_inventory_storage.identifier_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.identifier_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.identifier_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.identifier_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.identifier_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.identifier_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.identifier_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.identifier_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'identifier_type', 'identifier_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS identifier_type_name_idx_unique ON test_tenant_mod_inventory_storage.identifier_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "identifier_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS identifier_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'identifier_type', 'identifier_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS identifier_type_name_idx_unique ON test_tenant_mod_inventory_storage.identifier_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'identifier_type', 'identifier_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS identifier_type_name_idx_unique ON test_tenant_mod_inventory_storage.identifier_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_identifier_type_references ON test_tenant_mod_inventory_storage.identifier_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_identifier_type_references" for relation "test_tenant_mod_inventory_storage.identifier_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_identifier_type_references ON test_tenant_mod_inventory_storage.identifier_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_identifier_type_references(); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_identifier_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_identifier_type_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.identifier_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.identifier_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_identifier_type_md_trigger ON test_tenant_mod_inventory_storage.identifier_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_identifier_type_md_trigger" for relation "test_tenant_mod_inventory_storage.identifier_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_identifier_type_md_trigger ON test_tenant_mod_inventory_storage.identifier_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_identifier_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.identifier_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.identifier_type_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_identifier_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.identifier_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.identifier_type_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_identifier_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_identifier_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_identifier_type_md_json_trigger ON test_tenant_mod_inventory_storage.identifier_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_identifier_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.identifier_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_identifier_type_md_json_trigger ON test_tenant_mod_inventory_storage.identifier_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_identifier_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.identifier_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_identifier_type_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_identifier_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.identifier_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_identifier_type_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_identifier_type_ol_version_trigger ON test_tenant_mod_inventory_storage.identifier_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_identifier_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.identifier_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_identifier_type_ol_version_trigger ON test_tenant_mod_inventory_storage.identifier_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.identifier_type_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.identifier_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.identifier_type_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance_relationship_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance_relationship_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_instance_relationship_type ON test_tenant_mod_inventory_storage.instance_relationship_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_instance_relationship_type" for relation "test_tenant_mod_inventory_storage.instance_relationship_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_instance_relationship_type ON test_tenant_mod_inventory_storage.instance_relationship_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance_relationship_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.instance_relationship_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance_relationship_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_relationship_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_relationship_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance_relationship_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance_relationship_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_relationship_type', 'instance_relationship_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_relationship_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_relationship_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_relationship_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_relationship_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance_relationship_type', 'instance_relationship_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_relationship_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_relationship_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_relationship_type', 'instance_relationship_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_relationship_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_relationship_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_instance_relationship_type_references ON test_tenant_mod_inventory_storage.instance_relationship_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_instance_relationship_type_references" for relation "test_tenant_mod_inventory_storage.instance_relationship_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_instance_relationship_type_references ON test_tenant_mod_inventory_storage.instance_relationship_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_instance_relationship_type_references(); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_instance_relationship_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_instance_relationship_type_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.instance_relationship_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.instance_relationship_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_relationship_type_md_trigger ON test_tenant_mod_inventory_storage.instance_relationship_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_relationship_type_md_trigger" for relation "test_tenant_mod_inventory_storage.instance_relationship_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_relationship_type_md_trigger ON test_tenant_mod_inventory_storage.instance_relationship_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_relationship_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.instance_relationship_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.instance_relationship_type_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_relationship_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.instance_relationship_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.instance_relationship_type_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_relationship_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_relationship_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_relationship_type_md_json_trigger ON test_tenant_mod_inventory_storage.instance_relationship_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_relationship_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.instance_relationship_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_relationship_type_md_json_trigger ON test_tenant_mod_inventory_storage.instance_relationship_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_relationship_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.instance_relationship_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_relationship_type_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_relationship_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.instance_relationship_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_relationship_type_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_relationship_type_ol_version_trigger ON test_tenant_mod_inventory_storage.instance_relationship_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_relationship_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.instance_relationship_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_relationship_type_ol_version_trigger ON test_tenant_mod_inventory_storage.instance_relationship_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_relationship_type_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.instance_relationship_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_relationship_type_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.contributor_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.contributor_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_contributor_type ON test_tenant_mod_inventory_storage.contributor_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_contributor_type" for relation "test_tenant_mod_inventory_storage.contributor_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_contributor_type ON test_tenant_mod_inventory_storage.contributor_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.contributor_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.contributor_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.contributor_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.contributor_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.contributor_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.contributor_type DROP COLUMN IF EXISTS creation_date CASCADE, DROP COLUMN IF EXISTS created_by CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='column "creation_date" of relation "contributor_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='7356', routine='ATExecDropColumn', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='column "created_by" of relation "contributor_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='7356', routine='ATExecDropColumn', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.contributor_type DROP COLUMN IF EXISTS creation_date CASCADE, DROP COLUMN IF EXISTS created_by CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'contributor_type', 'contributor_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_type_name_idx_unique ON test_tenant_mod_inventory_storage.contributor_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "contributor_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS contributor_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'contributor_type', 'contributor_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_type_name_idx_unique ON test_tenant_mod_inventory_storage.contributor_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'contributor_type', 'contributor_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_type_name_idx_unique ON test_tenant_mod_inventory_storage.contributor_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'contributor_type', 'contributor_type_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_type_code_idx_unique ON test_tenant_mod_inventory_storage.contributor_type ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "contributor_type_code_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS contributor_type_code_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'contributor_type', 'contributor_type_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_type_code_idx_unique ON test_tenant_mod_inventory_storage.contributor_type ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'contributor_type', 'contributor_type_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_type_code_idx_unique ON test_tenant_mod_inventory_storage.contributor_type ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_contributor_type_references ON test_tenant_mod_inventory_storage.contributor_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_contributor_type_references" for relation "test_tenant_mod_inventory_storage.contributor_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_contributor_type_references ON test_tenant_mod_inventory_storage.contributor_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_contributor_type_references(); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_contributor_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_contributor_type_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.contributor_type_set_md() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.contributor_type_set_md() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.contributor_type_set_md() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_contributor_type_md_trigger ON test_tenant_mod_inventory_storage.contributor_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_contributor_type_md_trigger" for relation "test_tenant_mod_inventory_storage.contributor_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_contributor_type_md_trigger ON test_tenant_mod_inventory_storage.contributor_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_contributor_type_md_json() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.set_contributor_type_md_json() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_contributor_type_md_json() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_contributor_type_md_json_trigger ON test_tenant_mod_inventory_storage.contributor_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_contributor_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.contributor_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_contributor_type_md_json_trigger ON test_tenant_mod_inventory_storage.contributor_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_contributor_type_ol_version_trigger ON test_tenant_mod_inventory_storage.contributor_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_contributor_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.contributor_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_contributor_type_ol_version_trigger ON test_tenant_mod_inventory_storage.contributor_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.contributor_type_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.contributor_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.contributor_type_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.contributor_name_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.contributor_name_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_contributor_name_type ON test_tenant_mod_inventory_storage.contributor_name_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_contributor_name_type" for relation "test_tenant_mod_inventory_storage.contributor_name_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_contributor_name_type ON test_tenant_mod_inventory_storage.contributor_name_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.contributor_name_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.contributor_name_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.contributor_name_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.contributor_name_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.contributor_name_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.contributor_name_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.contributor_name_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'contributor_name_type', 'contributor_name_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_name_type_name_idx_unique ON test_tenant_mod_inventory_storage.contributor_name_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "contributor_name_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS contributor_name_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'contributor_name_type', 'contributor_name_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_name_type_name_idx_unique ON test_tenant_mod_inventory_storage.contributor_name_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'contributor_name_type', 'contributor_name_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_name_type_name_idx_unique ON test_tenant_mod_inventory_storage.contributor_name_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_contributor_name_type_references ON test_tenant_mod_inventory_storage.contributor_name_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_contributor_name_type_references" for relation "test_tenant_mod_inventory_storage.contributor_name_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_contributor_name_type_references ON test_tenant_mod_inventory_storage.contributor_name_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_contributor_name_type_references(); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_contributor_name_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_contributor_name_type_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.contributor_name_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.contributor_name_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_contributor_name_type_md_trigger ON test_tenant_mod_inventory_storage.contributor_name_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_contributor_name_type_md_trigger" for relation "test_tenant_mod_inventory_storage.contributor_name_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_contributor_name_type_md_trigger ON test_tenant_mod_inventory_storage.contributor_name_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_contributor_name_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.contributor_name_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.contributor_name_type_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_contributor_name_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.contributor_name_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.contributor_name_type_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_contributor_name_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_contributor_name_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_contributor_name_type_md_json_trigger ON test_tenant_mod_inventory_storage.contributor_name_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_contributor_name_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.contributor_name_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_contributor_name_type_md_json_trigger ON test_tenant_mod_inventory_storage.contributor_name_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_contributor_name_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.contributor_name_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_contributor_name_type_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_contributor_name_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.contributor_name_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_contributor_name_type_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_contributor_name_type_ol_version_trigger ON test_tenant_mod_inventory_storage.contributor_name_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_contributor_name_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.contributor_name_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_contributor_name_type_ol_version_trigger ON test_tenant_mod_inventory_storage.contributor_name_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.contributor_name_type_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.contributor_name_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.contributor_name_type_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_instance_type ON test_tenant_mod_inventory_storage.instance_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_instance_type" for relation "test_tenant_mod_inventory_storage.instance_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_instance_type ON test_tenant_mod_inventory_storage.instance_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.instance_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance_type DROP COLUMN IF EXISTS creation_date CASCADE, DROP COLUMN IF EXISTS created_by CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='column "creation_date" of relation "instance_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='7356', routine='ATExecDropColumn', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='column "created_by" of relation "instance_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='7356', routine='ATExecDropColumn', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance_type DROP COLUMN IF EXISTS creation_date CASCADE, DROP COLUMN IF EXISTS created_by CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_type', 'instance_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance_type', 'instance_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_type', 'instance_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_type', 'instance_type_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_type_code_idx_unique ON test_tenant_mod_inventory_storage.instance_type ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_type_code_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_type_code_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance_type', 'instance_type_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_type_code_idx_unique ON test_tenant_mod_inventory_storage.instance_type ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_type', 'instance_type_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_type_code_idx_unique ON test_tenant_mod_inventory_storage.instance_type ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_instance_type_references ON test_tenant_mod_inventory_storage.instance_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_instance_type_references" for relation "test_tenant_mod_inventory_storage.instance_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_instance_type_references ON test_tenant_mod_inventory_storage.instance_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_instance_type_references(); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_instance_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_instance_type_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_type_set_md() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.instance_type_set_md() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_type_set_md() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_type_md_trigger ON test_tenant_mod_inventory_storage.instance_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_type_md_trigger" for relation "test_tenant_mod_inventory_storage.instance_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_type_md_trigger ON test_tenant_mod_inventory_storage.instance_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_instance_type_md_json() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.set_instance_type_md_json() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_instance_type_md_json() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_type_md_json_trigger ON test_tenant_mod_inventory_storage.instance_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.instance_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_type_md_json_trigger ON test_tenant_mod_inventory_storage.instance_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_type_ol_version_trigger ON test_tenant_mod_inventory_storage.instance_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.instance_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_type_ol_version_trigger ON test_tenant_mod_inventory_storage.instance_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_type_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.instance_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_type_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance_format ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance_format ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_instance_format ON test_tenant_mod_inventory_storage.instance_format CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_instance_format" for relation "test_tenant_mod_inventory_storage.instance_format" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_instance_format ON test_tenant_mod_inventory_storage.instance_format CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance_format CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.instance_format" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance_format CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_format FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_format FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance_format DROP COLUMN IF EXISTS creation_date CASCADE, DROP COLUMN IF EXISTS created_by CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='column "creation_date" of relation "instance_format" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='7356', routine='ATExecDropColumn', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='column "created_by" of relation "instance_format" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='7356', routine='ATExecDropColumn', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance_format DROP COLUMN IF EXISTS creation_date CASCADE, DROP COLUMN IF EXISTS created_by CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_format', 'instance_format_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_format_name_idx_unique ON test_tenant_mod_inventory_storage.instance_format ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_format_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_format_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance_format', 'instance_format_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_format_name_idx_unique ON test_tenant_mod_inventory_storage.instance_format ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_format', 'instance_format_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_format_name_idx_unique ON test_tenant_mod_inventory_storage.instance_format ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_format', 'instance_format_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_format_code_idx_unique ON test_tenant_mod_inventory_storage.instance_format ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_format_code_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_format_code_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance_format', 'instance_format_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_format_code_idx_unique ON test_tenant_mod_inventory_storage.instance_format ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_format', 'instance_format_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_format_code_idx_unique ON test_tenant_mod_inventory_storage.instance_format ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_instance_format_references ON test_tenant_mod_inventory_storage.instance_format CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_instance_format_references" for relation "test_tenant_mod_inventory_storage.instance_format" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_instance_format_references ON test_tenant_mod_inventory_storage.instance_format CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_instance_format_references(); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_instance_format_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_instance_format_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_format_set_md() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.instance_format_set_md() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_format_set_md() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_format_md_trigger ON test_tenant_mod_inventory_storage.instance_format CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_format_md_trigger" for relation "test_tenant_mod_inventory_storage.instance_format" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_format_md_trigger ON test_tenant_mod_inventory_storage.instance_format CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_instance_format_md_json() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.set_instance_format_md_json() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_instance_format_md_json() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_format_md_json_trigger ON test_tenant_mod_inventory_storage.instance_format CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_format_md_json_trigger" for relation "test_tenant_mod_inventory_storage.instance_format" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_format_md_json_trigger ON test_tenant_mod_inventory_storage.instance_format CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_format_ol_version_trigger ON test_tenant_mod_inventory_storage.instance_format CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_format_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.instance_format" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_format_ol_version_trigger ON test_tenant_mod_inventory_storage.instance_format CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_format_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.instance_format_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_format_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.nature_of_content_term ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.nature_of_content_term ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_nature_of_content_term ON test_tenant_mod_inventory_storage.nature_of_content_term CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_nature_of_content_term" for relation "test_tenant_mod_inventory_storage.nature_of_content_term" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_nature_of_content_term ON test_tenant_mod_inventory_storage.nature_of_content_term CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.nature_of_content_term CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.nature_of_content_term" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.nature_of_content_term CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.nature_of_content_term FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.nature_of_content_term FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.nature_of_content_term ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.nature_of_content_term ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'nature_of_content_term', 'nature_of_content_term_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS nature_of_content_term_name_idx_unique ON test_tenant_mod_inventory_storage.nature_of_content_term ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "nature_of_content_term_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS nature_of_content_term_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'nature_of_content_term', 'nature_of_content_term_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS nature_of_content_term_name_idx_unique ON test_tenant_mod_inventory_storage.nature_of_content_term ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'nature_of_content_term', 'nature_of_content_term_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS nature_of_content_term_name_idx_unique ON test_tenant_mod_inventory_storage.nature_of_content_term ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_nature_of_content_term_references ON test_tenant_mod_inventory_storage.nature_of_content_term CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_nature_of_content_term_references" for relation "test_tenant_mod_inventory_storage.nature_of_content_term" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_nature_of_content_term_references ON test_tenant_mod_inventory_storage.nature_of_content_term CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_nature_of_content_term_references(); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_nature_of_content_term_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_nature_of_content_term_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.nature_of_content_term_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.nature_of_content_term_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_nature_of_content_term_md_trigger ON test_tenant_mod_inventory_storage.nature_of_content_term CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_nature_of_content_term_md_trigger" for relation "test_tenant_mod_inventory_storage.nature_of_content_term" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_nature_of_content_term_md_trigger ON test_tenant_mod_inventory_storage.nature_of_content_term CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_nature_of_content_term_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.nature_of_content_term FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.nature_of_content_term_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_nature_of_content_term_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.nature_of_content_term FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.nature_of_content_term_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_nature_of_content_term_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_nature_of_content_term_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_nature_of_content_term_md_json_trigger ON test_tenant_mod_inventory_storage.nature_of_content_term CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_nature_of_content_term_md_json_trigger" for relation "test_tenant_mod_inventory_storage.nature_of_content_term" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_nature_of_content_term_md_json_trigger ON test_tenant_mod_inventory_storage.nature_of_content_term CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_nature_of_content_term_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.nature_of_content_term FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_nature_of_content_term_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_nature_of_content_term_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.nature_of_content_term FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_nature_of_content_term_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_nature_of_content_term_ol_version_trigger ON test_tenant_mod_inventory_storage.nature_of_content_term CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_nature_of_content_term_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.nature_of_content_term" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_nature_of_content_term_ol_version_trigger ON test_tenant_mod_inventory_storage.nature_of_content_term CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.nature_of_content_term_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.nature_of_content_term_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.nature_of_content_term_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.classification_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.classification_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_classification_type ON test_tenant_mod_inventory_storage.classification_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_classification_type" for relation "test_tenant_mod_inventory_storage.classification_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_classification_type ON test_tenant_mod_inventory_storage.classification_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.classification_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.classification_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.classification_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.classification_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.classification_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.classification_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.classification_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'classification_type', 'classification_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS classification_type_name_idx_unique ON test_tenant_mod_inventory_storage.classification_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "classification_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS classification_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'classification_type', 'classification_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS classification_type_name_idx_unique ON test_tenant_mod_inventory_storage.classification_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'classification_type', 'classification_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS classification_type_name_idx_unique ON test_tenant_mod_inventory_storage.classification_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_classification_type_references ON test_tenant_mod_inventory_storage.classification_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_classification_type_references" for relation "test_tenant_mod_inventory_storage.classification_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_classification_type_references ON test_tenant_mod_inventory_storage.classification_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_classification_type_references(); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_classification_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_classification_type_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.classification_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.classification_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_classification_type_md_trigger ON test_tenant_mod_inventory_storage.classification_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_classification_type_md_trigger" for relation "test_tenant_mod_inventory_storage.classification_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_classification_type_md_trigger ON test_tenant_mod_inventory_storage.classification_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_classification_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.classification_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.classification_type_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_classification_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.classification_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.classification_type_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_classification_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_classification_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_classification_type_md_json_trigger ON test_tenant_mod_inventory_storage.classification_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_classification_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.classification_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_classification_type_md_json_trigger ON test_tenant_mod_inventory_storage.classification_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_classification_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.classification_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_classification_type_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_classification_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.classification_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_classification_type_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_classification_type_ol_version_trigger ON test_tenant_mod_inventory_storage.classification_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_classification_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.classification_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_classification_type_ol_version_trigger ON test_tenant_mod_inventory_storage.classification_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.classification_type_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.classification_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.classification_type_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.electronic_access_relationship ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.electronic_access_relationship ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_electronic_access_relationship ON test_tenant_mod_inventory_storage.electronic_access_relationship CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_electronic_access_relationship" for relation "test_tenant_mod_inventory_storage.electronic_access_relationship" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_electronic_access_relationship ON test_tenant_mod_inventory_storage.electronic_access_relationship CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.electronic_access_relationship CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.electronic_access_relationship" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.electronic_access_relationship CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.electronic_access_relationship FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.electronic_access_relationship FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.electronic_access_relationship ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.electronic_access_relationship ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'electronic_access_relationship', 'electronic_access_relationship_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS electronic_access_relationship_name_idx_unique ON test_tenant_mod_inventory_storage.electronic_access_relationship ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "electronic_access_relationship_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS electronic_access_relationship_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'electronic_access_relationship', 'electronic_access_relationship_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS electronic_access_relationship_name_idx_unique ON test_tenant_mod_inventory_storage.electronic_access_relationship ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'electronic_access_relationship', 'electronic_access_relationship_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS electronic_access_relationship_name_idx_unique ON test_tenant_mod_inventory_storage.electronic_access_relationship ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_electronic_access_relationship_references ON test_tenant_mod_inventory_storage.electronic_access_relationship CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_electronic_access_relationship_references" for relation "test_tenant_mod_inventory_storage.electronic_access_relationship" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_electronic_access_relationship_references ON test_tenant_mod_inventory_storage.electronic_access_relationship CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_electronic_access_relationship_references(); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_electronic_access_relationship_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_electronic_access_relationship_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.electronic_access_relationship_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.electronic_access_relationship_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_electronic_access_relationship_md_trigger ON test_tenant_mod_inventory_storage.electronic_access_relationship CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_electronic_access_relationship_md_trigger" for relation "test_tenant_mod_inventory_storage.electronic_access_relationship" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_electronic_access_relationship_md_trigger ON test_tenant_mod_inventory_storage.electronic_access_relationship CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_electronic_access_relationship_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.electronic_access_relationship FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.electronic_access_relationship_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_electronic_access_relationship_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.electronic_access_relationship FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.electronic_access_relationship_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_electronic_access_relationship_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_electronic_access_relationship_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_electronic_access_relationship_md_json_trigger ON test_tenant_mod_inventory_storage.electronic_access_relationship CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_electronic_access_relationship_md_json_trigger" for relation "test_tenant_mod_inventory_storage.electronic_access_relationship" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_electronic_access_relationship_md_json_trigger ON test_tenant_mod_inventory_storage.electronic_access_relationship CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_electronic_access_relationship_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.electronic_access_relationship FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_electronic_access_relationship_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_electronic_access_relationship_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.electronic_access_relationship FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_electronic_access_relationship_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_electronic_access_relationship_ol_version_trigger ON test_tenant_mod_inventory_storage.electronic_access_relationship CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_electronic_access_relationship_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.electronic_access_relationship" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_electronic_access_relationship_ol_version_trigger ON test_tenant_mod_inventory_storage.electronic_access_relationship CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.electronic_access_relationship_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.electronic_access_relationship_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.electronic_access_relationship_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.statistical_code_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.statistical_code_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_statistical_code_type ON test_tenant_mod_inventory_storage.statistical_code_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_statistical_code_type" for relation "test_tenant_mod_inventory_storage.statistical_code_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_statistical_code_type ON test_tenant_mod_inventory_storage.statistical_code_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.statistical_code_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.statistical_code_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.statistical_code_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.statistical_code_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.statistical_code_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.statistical_code_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.statistical_code_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'statistical_code_type', 'statistical_code_type_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_type_code_idx_unique ON test_tenant_mod_inventory_storage.statistical_code_type ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "statistical_code_type_code_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS statistical_code_type_code_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'statistical_code_type', 'statistical_code_type_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_type_code_idx_unique ON test_tenant_mod_inventory_storage.statistical_code_type ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'statistical_code_type', 'statistical_code_type_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_type_code_idx_unique ON test_tenant_mod_inventory_storage.statistical_code_type ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_statistical_code_type_references ON test_tenant_mod_inventory_storage.statistical_code_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_statistical_code_type_references" for relation "test_tenant_mod_inventory_storage.statistical_code_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_statistical_code_type_references ON test_tenant_mod_inventory_storage.statistical_code_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_statistical_code_type_references(); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_statistical_code_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_statistical_code_type_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.statistical_code_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.statistical_code_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_statistical_code_type_md_trigger ON test_tenant_mod_inventory_storage.statistical_code_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_statistical_code_type_md_trigger" for relation "test_tenant_mod_inventory_storage.statistical_code_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_statistical_code_type_md_trigger ON test_tenant_mod_inventory_storage.statistical_code_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_statistical_code_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.statistical_code_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.statistical_code_type_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_statistical_code_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.statistical_code_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.statistical_code_type_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_statistical_code_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_statistical_code_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_statistical_code_type_md_json_trigger ON test_tenant_mod_inventory_storage.statistical_code_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_statistical_code_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.statistical_code_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_statistical_code_type_md_json_trigger ON test_tenant_mod_inventory_storage.statistical_code_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_statistical_code_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.statistical_code_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_statistical_code_type_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_statistical_code_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.statistical_code_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_statistical_code_type_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_statistical_code_type_ol_version_trigger ON test_tenant_mod_inventory_storage.statistical_code_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_statistical_code_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.statistical_code_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_statistical_code_type_ol_version_trigger ON test_tenant_mod_inventory_storage.statistical_code_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.statistical_code_type_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.statistical_code_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.statistical_code_type_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.statistical_code ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.statistical_code ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_statistical_code ON test_tenant_mod_inventory_storage.statistical_code CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_statistical_code" for relation "test_tenant_mod_inventory_storage.statistical_code" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_statistical_code ON test_tenant_mod_inventory_storage.statistical_code CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.statistical_code CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.statistical_code" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.statistical_code CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.statistical_code FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.statistical_code FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.statistical_code ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.statistical_code ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'statistical_code', 'statistical_code_code_statisticalCodeTypeId_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_code_statisticalCodeTypeId_idx_unique ON test_tenant_mod_inventory_storage.statistical_code ' || $rmb$(lower(f_unaccent(jsonb->>'code')) , lower(f_unaccent(jsonb->>'statisticalCodeTypeId')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "statistical_code_code_statisticalcodetypeid_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS statistical_code_code_statisticalCodeTypeId_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'statistical_code', 'statistical_code_code_statisticalCodeTypeId_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_code_statisticalCodeTypeId_idx_unique ON test_tenant_mod_inventory_storage.statistical_code ' || $rmb$(lower(f_unaccent(jsonb->>'code')) , lower(f_unaccent(jsonb->>'statisticalCodeTypeId')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'statistical_code', 'statistical_code_code_statisticalCodeTypeId_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_code_statisticalCodeTypeId_idx_unique ON test_tenant_mod_inventory_storage.statistical_code ' || $rmb$(lower(f_unaccent(jsonb->>'code')) , lower(f_unaccent(jsonb->>'statisticalCodeTypeId')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'statistical_code', 'statistical_code_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_name_idx_unique ON test_tenant_mod_inventory_storage.statistical_code ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "statistical_code_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS statistical_code_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'statistical_code', 'statistical_code_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_name_idx_unique ON test_tenant_mod_inventory_storage.statistical_code ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'statistical_code', 'statistical_code_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_name_idx_unique ON test_tenant_mod_inventory_storage.statistical_code ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.statistical_code ADD COLUMN IF NOT EXISTS statisticalCodeTypeId UUID; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.statistical_code ADD COLUMN IF NOT EXISTS statisticalCodeTypeId UUID; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE statistical_code ADD CONSTRAINT statisticalCodeTypeId_statistical_code_type_fkey FOREIGN KEY (statisticalCodeTypeId) REFERENCES statistical_code_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE statistical_code ADD CONSTRAINT statisticalCodeTypeId_statistical_code_type_fkey FOREIGN KEY (statisticalCodeTypeId) REFERENCES statistical_code_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS statistical_code_statisticalCodeTypeId_idx ON test_tenant_mod_inventory_storage.statistical_code (statisticalCodeTypeId); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS statistical_code_statisticalCodeTypeId_idx ON test_tenant_mod_inventory_storage.statistical_code (statisticalCodeTypeId); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('statistical_code'); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('statistical_code'); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_statistical_code_references() RETURNS TRIGGER AS $$ BEGIN NEW.statisticalCodeTypeId = (NEW.jsonb->>'statisticalCodeTypeId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_statistical_code_references() RETURNS TRIGGER AS $$ BEGIN NEW.statisticalCodeTypeId = (NEW.jsonb->>'statisticalCodeTypeId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_statistical_code_references ON test_tenant_mod_inventory_storage.statistical_code CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_statistical_code_references" for relation "test_tenant_mod_inventory_storage.statistical_code" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_statistical_code_references ON test_tenant_mod_inventory_storage.statistical_code CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER update_statistical_code_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.statistical_code FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_statistical_code_references(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER update_statistical_code_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.statistical_code FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_statistical_code_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE statistical_code DROP CONSTRAINT IF EXISTS ' || 'statisticalCodeTypeId_statistical_code_type_fkey' || i; END LOOP; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE statistical_code DROP CONSTRAINT IF EXISTS ' || 'statisticalCodeTypeId_statistical_code_type_fkey' || i; END LOOP; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.statistical_code_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.statistical_code_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_statistical_code_md_trigger ON test_tenant_mod_inventory_storage.statistical_code CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_statistical_code_md_trigger" for relation "test_tenant_mod_inventory_storage.statistical_code" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_statistical_code_md_trigger ON test_tenant_mod_inventory_storage.statistical_code CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_statistical_code_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.statistical_code FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.statistical_code_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_statistical_code_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.statistical_code FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.statistical_code_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_statistical_code_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_statistical_code_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_statistical_code_md_json_trigger ON test_tenant_mod_inventory_storage.statistical_code CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_statistical_code_md_json_trigger" for relation "test_tenant_mod_inventory_storage.statistical_code" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_statistical_code_md_json_trigger ON test_tenant_mod_inventory_storage.statistical_code CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_statistical_code_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.statistical_code FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_statistical_code_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_statistical_code_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.statistical_code FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_statistical_code_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_statistical_code_ol_version_trigger ON test_tenant_mod_inventory_storage.statistical_code CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_statistical_code_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.statistical_code" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_statistical_code_ol_version_trigger ON test_tenant_mod_inventory_storage.statistical_code CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.statistical_code_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.statistical_code_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.statistical_code_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance_status ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance_status ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_instance_status ON test_tenant_mod_inventory_storage.instance_status CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_instance_status" for relation "test_tenant_mod_inventory_storage.instance_status" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_instance_status ON test_tenant_mod_inventory_storage.instance_status CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance_status CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.instance_status" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance_status CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_status FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_status FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance_status ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance_status ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_status', 'instance_status_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_status_name_idx_unique ON test_tenant_mod_inventory_storage.instance_status ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_status_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_status_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance_status', 'instance_status_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_status_name_idx_unique ON test_tenant_mod_inventory_storage.instance_status ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_status', 'instance_status_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_status_name_idx_unique ON test_tenant_mod_inventory_storage.instance_status ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_status', 'instance_status_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_status_code_idx_unique ON test_tenant_mod_inventory_storage.instance_status ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_status_code_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_status_code_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance_status', 'instance_status_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_status_code_idx_unique ON test_tenant_mod_inventory_storage.instance_status ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_status', 'instance_status_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_status_code_idx_unique ON test_tenant_mod_inventory_storage.instance_status ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_instance_status_references ON test_tenant_mod_inventory_storage.instance_status CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_instance_status_references" for relation "test_tenant_mod_inventory_storage.instance_status" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_instance_status_references ON test_tenant_mod_inventory_storage.instance_status CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_instance_status_references(); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_instance_status_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_instance_status_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.instance_status_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.instance_status_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_status_md_trigger ON test_tenant_mod_inventory_storage.instance_status CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_status_md_trigger" for relation "test_tenant_mod_inventory_storage.instance_status" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_status_md_trigger ON test_tenant_mod_inventory_storage.instance_status CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_status_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.instance_status FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.instance_status_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_status_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.instance_status FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.instance_status_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_status_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_status_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_status_md_json_trigger ON test_tenant_mod_inventory_storage.instance_status CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_status_md_json_trigger" for relation "test_tenant_mod_inventory_storage.instance_status" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_status_md_json_trigger ON test_tenant_mod_inventory_storage.instance_status CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_status_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.instance_status FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_status_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_status_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.instance_status FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_status_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_status_ol_version_trigger ON test_tenant_mod_inventory_storage.instance_status CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_status_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.instance_status" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_status_ol_version_trigger ON test_tenant_mod_inventory_storage.instance_status CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_status_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.instance_status_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_status_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.mode_of_issuance ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.mode_of_issuance ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_mode_of_issuance ON test_tenant_mod_inventory_storage.mode_of_issuance CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_mode_of_issuance" for relation "test_tenant_mod_inventory_storage.mode_of_issuance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_mode_of_issuance ON test_tenant_mod_inventory_storage.mode_of_issuance CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.mode_of_issuance CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.mode_of_issuance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.mode_of_issuance CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.mode_of_issuance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.mode_of_issuance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.mode_of_issuance ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.mode_of_issuance ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'mode_of_issuance', 'mode_of_issuance_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS mode_of_issuance_name_idx_unique ON test_tenant_mod_inventory_storage.mode_of_issuance ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "mode_of_issuance_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS mode_of_issuance_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'mode_of_issuance', 'mode_of_issuance_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS mode_of_issuance_name_idx_unique ON test_tenant_mod_inventory_storage.mode_of_issuance ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'mode_of_issuance', 'mode_of_issuance_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS mode_of_issuance_name_idx_unique ON test_tenant_mod_inventory_storage.mode_of_issuance ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_mode_of_issuance_references ON test_tenant_mod_inventory_storage.mode_of_issuance CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_mode_of_issuance_references" for relation "test_tenant_mod_inventory_storage.mode_of_issuance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_mode_of_issuance_references ON test_tenant_mod_inventory_storage.mode_of_issuance CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_mode_of_issuance_references(); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_mode_of_issuance_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_mode_of_issuance_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.mode_of_issuance_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.mode_of_issuance_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_mode_of_issuance_md_trigger ON test_tenant_mod_inventory_storage.mode_of_issuance CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_mode_of_issuance_md_trigger" for relation "test_tenant_mod_inventory_storage.mode_of_issuance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_mode_of_issuance_md_trigger ON test_tenant_mod_inventory_storage.mode_of_issuance CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_mode_of_issuance_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.mode_of_issuance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.mode_of_issuance_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_mode_of_issuance_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.mode_of_issuance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.mode_of_issuance_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_mode_of_issuance_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_mode_of_issuance_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_mode_of_issuance_md_json_trigger ON test_tenant_mod_inventory_storage.mode_of_issuance CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_mode_of_issuance_md_json_trigger" for relation "test_tenant_mod_inventory_storage.mode_of_issuance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_mode_of_issuance_md_json_trigger ON test_tenant_mod_inventory_storage.mode_of_issuance CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_mode_of_issuance_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.mode_of_issuance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_mode_of_issuance_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_mode_of_issuance_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.mode_of_issuance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_mode_of_issuance_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_mode_of_issuance_ol_version_trigger ON test_tenant_mod_inventory_storage.mode_of_issuance CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_mode_of_issuance_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.mode_of_issuance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_mode_of_issuance_ol_version_trigger ON test_tenant_mod_inventory_storage.mode_of_issuance CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.mode_of_issuance_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.mode_of_issuance_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.mode_of_issuance_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.alternative_title_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.alternative_title_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_alternative_title_type ON test_tenant_mod_inventory_storage.alternative_title_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_alternative_title_type" for relation "test_tenant_mod_inventory_storage.alternative_title_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_alternative_title_type ON test_tenant_mod_inventory_storage.alternative_title_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.alternative_title_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.alternative_title_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.alternative_title_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.alternative_title_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.alternative_title_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.alternative_title_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.alternative_title_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'alternative_title_type', 'alternative_title_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS alternative_title_type_name_idx_unique ON test_tenant_mod_inventory_storage.alternative_title_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "alternative_title_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS alternative_title_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'alternative_title_type', 'alternative_title_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS alternative_title_type_name_idx_unique ON test_tenant_mod_inventory_storage.alternative_title_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'alternative_title_type', 'alternative_title_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS alternative_title_type_name_idx_unique ON test_tenant_mod_inventory_storage.alternative_title_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_alternative_title_type_references ON test_tenant_mod_inventory_storage.alternative_title_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_alternative_title_type_references" for relation "test_tenant_mod_inventory_storage.alternative_title_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_alternative_title_type_references ON test_tenant_mod_inventory_storage.alternative_title_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_alternative_title_type_references(); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_alternative_title_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_alternative_title_type_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.alternative_title_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.alternative_title_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_alternative_title_type_md_trigger ON test_tenant_mod_inventory_storage.alternative_title_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_alternative_title_type_md_trigger" for relation "test_tenant_mod_inventory_storage.alternative_title_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_alternative_title_type_md_trigger ON test_tenant_mod_inventory_storage.alternative_title_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_alternative_title_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.alternative_title_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.alternative_title_type_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_alternative_title_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.alternative_title_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.alternative_title_type_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_alternative_title_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_alternative_title_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_alternative_title_type_md_json_trigger ON test_tenant_mod_inventory_storage.alternative_title_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_alternative_title_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.alternative_title_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_alternative_title_type_md_json_trigger ON test_tenant_mod_inventory_storage.alternative_title_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_alternative_title_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.alternative_title_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_alternative_title_type_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_alternative_title_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.alternative_title_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_alternative_title_type_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_alternative_title_type_ol_version_trigger ON test_tenant_mod_inventory_storage.alternative_title_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_alternative_title_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.alternative_title_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_alternative_title_type_ol_version_trigger ON test_tenant_mod_inventory_storage.alternative_title_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.alternative_title_type_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.alternative_title_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.alternative_title_type_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.audit_instance ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.audit_instance ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_instance ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_instance" for relation "test_tenant_mod_inventory_storage.instance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_instance ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.instance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_source_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_source_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->>'source'),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_source_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_source_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_source_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_source_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->>'source'),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_source_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_source_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->>'source'),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_indexTitle_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_indexTitle_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(f_unaccent(jsonb->>'indexTitle')),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_indextitle_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_indexTitle_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_indexTitle_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_indexTitle_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(f_unaccent(jsonb->>'indexTitle')),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_indexTitle_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_indexTitle_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(f_unaccent(jsonb->>'indexTitle')),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_title_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_title_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(f_unaccent(jsonb->>'title')),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_title_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_title_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_title_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_title_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(f_unaccent(jsonb->>'title')),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_title_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_title_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(f_unaccent(jsonb->>'title')),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_statisticalCodeIds_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_statisticalCodeIds_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->>'statisticalCodeIds'),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_statisticalcodeids_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_statisticalCodeIds_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_statisticalCodeIds_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_statisticalCodeIds_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->>'statisticalCodeIds'),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_statisticalCodeIds_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_statisticalCodeIds_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->>'statisticalCodeIds'),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_contributors_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(f_unaccent(jsonb->>'contributors')),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_contributors_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_contributors_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_contributors_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(f_unaccent(jsonb->>'contributors')),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_contributors_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(f_unaccent(jsonb->>'contributors')),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_publication_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_publication_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(f_unaccent(jsonb->>'publication')),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_publication_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_publication_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_publication_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_publication_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(f_unaccent(jsonb->>'publication')),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_publication_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_publication_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(f_unaccent(jsonb->>'publication')),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_staffSuppress_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_staffSuppress_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->>'staffSuppress'),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_staffsuppress_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_staffSuppress_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_staffSuppress_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_staffSuppress_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->>'staffSuppress'),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_staffSuppress_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_staffSuppress_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->>'staffSuppress'),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_discoverySuppress_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_discoverySuppress_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->>'discoverySuppress'),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_discoverysuppress_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_discoverySuppress_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_discoverySuppress_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_discoverySuppress_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->>'discoverySuppress'),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_discoverySuppress_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_discoverySuppress_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->>'discoverySuppress'),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_metadata_updatedDate_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_metadata_updatedDate_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->'metadata'->>'updatedDate'),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_metadata_updateddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_metadata_updatedDate_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_metadata_updatedDate_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_metadata_updatedDate_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->'metadata'->>'updatedDate'),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_metadata_updatedDate_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_metadata_updatedDate_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->'metadata'->>'updatedDate'),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_hrid_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_hrid_idx_unique ON test_tenant_mod_inventory_storage.instance ' || $rmb$(lower(f_unaccent(jsonb->>'hrid')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_hrid_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_hrid_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_hrid_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_hrid_idx_unique ON test_tenant_mod_inventory_storage.instance ' || $rmb$(lower(f_unaccent(jsonb->>'hrid')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_hrid_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_hrid_idx_unique ON test_tenant_mod_inventory_storage.instance ' || $rmb$(lower(f_unaccent(jsonb->>'hrid')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_matchKey_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_matchKey_idx_unique ON test_tenant_mod_inventory_storage.instance ' || $rmb$(lower(f_unaccent(jsonb->>'matchKey')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_matchkey_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_matchKey_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_matchKey_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_matchKey_idx_unique ON test_tenant_mod_inventory_storage.instance ' || $rmb$(lower(f_unaccent(jsonb->>'matchKey')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_matchKey_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_matchKey_idx_unique ON test_tenant_mod_inventory_storage.instance ' || $rmb$(lower(f_unaccent(jsonb->>'matchKey')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_title_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_title_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'title'))) public.gin_trgm_ops)$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_title_idx_gin" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_title_idx_gin" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_title_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_title_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'title'))) public.gin_trgm_ops)$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_title_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_title_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'title'))) public.gin_trgm_ops)$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_indexTitle_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_indexTitle_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'indexTitle'))) public.gin_trgm_ops)$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_indextitle_idx_gin" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_indexTitle_idx_gin" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_indexTitle_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_indexTitle_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'indexTitle'))) public.gin_trgm_ops)$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_indexTitle_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_indexTitle_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'indexTitle'))) public.gin_trgm_ops)$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_contributors_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'contributors'))) public.gin_trgm_ops)$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_contributors_idx_gin" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_contributors_idx_gin" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_contributors_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'contributors'))) public.gin_trgm_ops)$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_contributors_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'contributors'))) public.gin_trgm_ops)$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_identifiers_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_identifiers_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'identifiers'))) public.gin_trgm_ops)$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_identifiers_idx_gin" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_identifiers_idx_gin" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_identifiers_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_identifiers_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'identifiers'))) public.gin_trgm_ops)$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_identifiers_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_identifiers_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'identifiers'))) public.gin_trgm_ops)$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_subjects_idx_gin', 'DELETE', 'CREATE INDEX IF NOT EXISTS instance_subjects_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'subjects'))) public.gin_trgm_ops)$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_subjects_idx_gin" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_subjects_idx_gin" PL/pgSQL function rmb_internal_index(text,text,text,text) line 10 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_subjects_idx_gin', 'DELETE', 'CREATE INDEX IF NOT EXISTS instance_subjects_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'subjects'))) public.gin_trgm_ops)$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_subjects_idx_gin', 'DELETE', 'CREATE INDEX IF NOT EXISTS instance_subjects_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'subjects'))) public.gin_trgm_ops)$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_classifications_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_classifications_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'classifications')) )$rmb$); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_classifications_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_classifications_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_classifications_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_classifications_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'classifications')) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_classifications_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_classifications_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'classifications')) )$rmb$); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_keyword_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_keyword_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(concat_space_sql(instance.jsonb->>'title' , instance.jsonb->>'indexTitle' , concat_array_object_values(instance.jsonb->'alternativeTitles','alternativeTitle') , instance.jsonb->>'series' , concat_array_object_values(instance.jsonb->'contributors','name') , concat_array_object_values(instance.jsonb->'identifiers','value')))) )$rmb$); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_keyword_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_keyword_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_keyword_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_keyword_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(concat_space_sql(instance.jsonb->>'title' , instance.jsonb->>'indexTitle' , concat_array_object_values(instance.jsonb->'alternativeTitles','alternativeTitle') , instance.jsonb->>'series' , concat_array_object_values(instance.jsonb->'contributors','name') , concat_array_object_values(instance.jsonb->'identifiers','value')))) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_keyword_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_keyword_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(concat_space_sql(instance.jsonb->>'title' , instance.jsonb->>'indexTitle' , concat_array_object_values(instance.jsonb->'alternativeTitles','alternativeTitle') , instance.jsonb->>'series' , concat_array_object_values(instance.jsonb->'contributors','name') , concat_array_object_values(instance.jsonb->'identifiers','value')))) )$rmb$); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_allTitles_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_allTitles_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(concat_space_sql(instance.jsonb->>'title' , instance.jsonb->>'indexTitle' , concat_array_object_values(instance.jsonb->'alternativeTitles','alternativeTitle') , instance.jsonb->>'series'))) )$rmb$); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_alltitles_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_allTitles_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_allTitles_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_allTitles_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(concat_space_sql(instance.jsonb->>'title' , instance.jsonb->>'indexTitle' , concat_array_object_values(instance.jsonb->'alternativeTitles','alternativeTitle') , instance.jsonb->>'series'))) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_allTitles_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_allTitles_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(concat_space_sql(instance.jsonb->>'title' , instance.jsonb->>'indexTitle' , concat_array_object_values(instance.jsonb->'alternativeTitles','alternativeTitle') , instance.jsonb->>'series'))) )$rmb$); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_contributorsNames_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_contributorsNames_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(concat_space_sql(concat_array_object_values(instance.jsonb->'contributors','name')))) )$rmb$); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_contributorsnames_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_contributorsNames_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_contributorsNames_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_contributorsNames_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(concat_space_sql(concat_array_object_values(instance.jsonb->'contributors','name')))) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_contributorsNames_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_contributorsNames_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(concat_space_sql(concat_array_object_values(instance.jsonb->'contributors','name')))) )$rmb$); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_title_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_title_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'title')) )$rmb$); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_title_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_title_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_title_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_title_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'title')) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_title_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_title_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'title')) )$rmb$); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_languages_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_languages_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'languages')) )$rmb$); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_languages_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_languages_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_languages_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_languages_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'languages')) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_languages_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_languages_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'languages')) )$rmb$); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_contributors_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'contributors')) )$rmb$); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_contributors_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_contributors_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_contributors_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'contributors')) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_contributors_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'contributors')) )$rmb$); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_identifiers_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_identifiers_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'identifiers')) )$rmb$); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_identifiers_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_identifiers_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_identifiers_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_identifiers_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'identifiers')) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_identifiers_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_identifiers_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'identifiers')) )$rmb$); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_invalidIsbn_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_invalidIsbn_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(normalize_invalid_isbns(jsonb->'identifiers')) )$rmb$); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_invalidisbn_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_invalidIsbn_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_invalidIsbn_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_invalidIsbn_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(normalize_invalid_isbns(jsonb->'identifiers')) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_invalidIsbn_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_invalidIsbn_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(normalize_invalid_isbns(jsonb->'identifiers')) )$rmb$); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_isbn_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_isbn_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(normalize_isbns(jsonb->'identifiers')) )$rmb$); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_isbn_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_isbn_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_isbn_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_isbn_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(normalize_isbns(jsonb->'identifiers')) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_isbn_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_isbn_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(normalize_isbns(jsonb->'identifiers')) )$rmb$); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_dateOfPublication_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_dateOfPublication_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(concat_array_object_values(jsonb->'publication', 'dateOfPublication')) )$rmb$); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_dateofpublication_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_dateOfPublication_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_dateOfPublication_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_dateOfPublication_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(concat_array_object_values(jsonb->'publication', 'dateOfPublication')) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_dateOfPublication_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_dateOfPublication_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(concat_array_object_values(jsonb->'publication', 'dateOfPublication')) )$rmb$); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_subjects_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_subjects_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'subjects')) )$rmb$); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_subjects_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_subjects_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_subjects_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_subjects_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'subjects')) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_subjects_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_subjects_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'subjects')) )$rmb$); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance ADD COLUMN IF NOT EXISTS instanceStatusId UUID; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance ADD COLUMN IF NOT EXISTS instanceStatusId UUID; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE instance ADD CONSTRAINT instanceStatusId_instance_status_fkey FOREIGN KEY (instanceStatusId) REFERENCES instance_status; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE instance ADD CONSTRAINT instanceStatusId_instance_status_fkey FOREIGN KEY (instanceStatusId) REFERENCES instance_status; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS instance_instanceStatusId_idx ON test_tenant_mod_inventory_storage.instance (instanceStatusId); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS instance_instanceStatusId_idx ON test_tenant_mod_inventory_storage.instance (instanceStatusId); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('instance'); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('instance'); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance ADD COLUMN IF NOT EXISTS modeOfIssuanceId UUID; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance ADD COLUMN IF NOT EXISTS modeOfIssuanceId UUID; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE instance ADD CONSTRAINT modeOfIssuanceId_mode_of_issuance_fkey FOREIGN KEY (modeOfIssuanceId) REFERENCES mode_of_issuance; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE instance ADD CONSTRAINT modeOfIssuanceId_mode_of_issuance_fkey FOREIGN KEY (modeOfIssuanceId) REFERENCES mode_of_issuance; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS instance_modeOfIssuanceId_idx ON test_tenant_mod_inventory_storage.instance (modeOfIssuanceId); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS instance_modeOfIssuanceId_idx ON test_tenant_mod_inventory_storage.instance (modeOfIssuanceId); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('instance'); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('instance'); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance ADD COLUMN IF NOT EXISTS instanceTypeId UUID; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance ADD COLUMN IF NOT EXISTS instanceTypeId UUID; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE instance ADD CONSTRAINT instanceTypeId_instance_type_fkey FOREIGN KEY (instanceTypeId) REFERENCES instance_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE instance ADD CONSTRAINT instanceTypeId_instance_type_fkey FOREIGN KEY (instanceTypeId) REFERENCES instance_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS instance_instanceTypeId_idx ON test_tenant_mod_inventory_storage.instance (instanceTypeId); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS instance_instanceTypeId_idx ON test_tenant_mod_inventory_storage.instance (instanceTypeId); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('instance'); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('instance'); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_instance_references() RETURNS TRIGGER AS $$ BEGIN NEW.instanceStatusId = (NEW.jsonb->>'instanceStatusId'); NEW.modeOfIssuanceId = (NEW.jsonb->>'modeOfIssuanceId'); NEW.instanceTypeId = (NEW.jsonb->>'instanceTypeId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_instance_references() RETURNS TRIGGER AS $$ BEGIN NEW.instanceStatusId = (NEW.jsonb->>'instanceStatusId'); NEW.modeOfIssuanceId = (NEW.jsonb->>'modeOfIssuanceId'); NEW.instanceTypeId = (NEW.jsonb->>'instanceTypeId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_instance_references ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_instance_references" for relation "test_tenant_mod_inventory_storage.instance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_instance_references ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER update_instance_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_instance_references(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER update_instance_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_instance_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE instance DROP CONSTRAINT IF EXISTS ' || 'instanceStatusId_instance_status_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE instance DROP CONSTRAINT IF EXISTS ' || 'modeOfIssuanceId_mode_of_issuance_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE instance DROP CONSTRAINT IF EXISTS ' || 'instanceTypeId_instance_type_fkey' || i; END LOOP; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE instance DROP CONSTRAINT IF EXISTS ' || 'instanceStatusId_instance_status_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE instance DROP CONSTRAINT IF EXISTS ' || 'modeOfIssuanceId_mode_of_issuance_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE instance DROP CONSTRAINT IF EXISTS ' || 'instanceTypeId_instance_type_fkey' || i; END LOOP; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.instance_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.instance_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_md_trigger ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_md_trigger" for relation "test_tenant_mod_inventory_storage.instance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_md_trigger ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.instance_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.instance_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_md_json_trigger ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_md_json_trigger" for relation "test_tenant_mod_inventory_storage.instance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_md_json_trigger ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.instance_set_ol_version() RETURNS trigger AS $$ BEGIN CASE TG_OP WHEN 'INSERT' THEN NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(1)); WHEN 'UPDATE' THEN IF NEW.jsonb->'_version' IS DISTINCT FROM OLD.jsonb->'_version' THEN RAISE NOTICE 'Ignoring optimistic locking conflict while overwriting changed record %: ' 'Stored _version is %, _version of request is %', OLD.id, OLD.jsonb->'_version', NEW.jsonb->'_version' USING ERRCODE = '23F09', TABLE = 'instance', SCHEMA = 'test_tenant_mod_inventory_storage'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(COALESCE((OLD.jsonb->>'_version')::numeric + 1, 1))); END CASE; RETURN NEW; END; $$ LANGUAGE plpgsql; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.instance_set_ol_version() RETURNS trigger AS $$ BEGIN CASE TG_OP WHEN 'INSERT' THEN NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(1)); WHEN 'UPDATE' THEN IF NEW.jsonb->'_version' IS DISTINCT FROM OLD.jsonb->'_version' THEN RAISE NOTICE 'Ignoring optimistic locking conflict while overwriting changed record %: ' 'Stored _version is %, _version of request is %', OLD.id, OLD.jsonb->'_version', NEW.jsonb->'_version' USING ERRCODE = '23F09', TABLE = 'instance', SCHEMA = 'test_tenant_mod_inventory_storage'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(COALESCE((OLD.jsonb->>'_version')::numeric + 1, 1))); END CASE; RETURN NEW; END; $$ LANGUAGE plpgsql; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_ol_version_trigger ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.instance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_ol_version_trigger ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_ol_version_trigger BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.instance_set_ol_version(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_ol_version_trigger BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.instance_set_ol_version(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.audit_instance_changes() RETURNS TRIGGER AS $instance_audit$ DECLARE jsonb JSONB; uuidtext TEXT; uuid UUID; BEGIN jsonb = CASE WHEN TG_OP = 'DELETE' THEN OLD.jsonb ELSE NEW.jsonb END; -- create uuid based on the jsonb value so that concurrent updates of different records are possible. uuidtext = md5(jsonb::text); -- UUID version byte uuidtext = overlay(uuidtext placing '4' from 13); -- UUID variant byte uuidtext = overlay(uuidtext placing '8' from 17); uuid = uuidtext::uuid; -- If uuid is already in use increment until an unused is found. This can only happen if the jsonb content -- is exactly the same. This should be very rare when it includes a timestamp. WHILE EXISTS (SELECT 1 FROM test_tenant_mod_inventory_storage.audit_instance WHERE id = uuid) LOOP uuid = test_tenant_mod_inventory_storage.next_uuid(uuid); END LOOP; jsonb = jsonb_build_object( 'id', to_jsonb(uuid::text), 'record', jsonb, 'operation', to_jsonb(left(TG_OP, 1)), 'createdDate', to_jsonb(current_timestamp::text)); IF (TG_OP = 'DELETE') THEN ELSIF (TG_OP = 'UPDATE') THEN ELSIF (TG_OP = 'INSERT') THEN END IF; INSERT INTO test_tenant_mod_inventory_storage.audit_instance VALUES (uuid, jsonb); RETURN CASE WHEN TG_OP = 'DELETE' THEN OLD ELSE NEW END; END; $instance_audit$ LANGUAGE plpgsql; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.audit_instance_changes() RETURNS TRIGGER AS $instance_audit$ DECLARE jsonb JSONB; uuidtext TEXT; uuid UUID; BEGIN jsonb = CASE WHEN TG_OP = 'DELETE' THEN OLD.jsonb ELSE NEW.jsonb END; -- create uuid based on the jsonb value so that concurrent updates of different records are possible. uuidtext = md5(jsonb::text); -- UUID version byte uuidtext = overlay(uuidtext placing '4' from 13); -- UUID variant byte uuidtext = overlay(uuidtext placing '8' from 17); uuid = uuidtext::uuid; -- If uuid is already in use increment until an unused is found. This can only happen if the jsonb content -- is exactly the same. This should be very rare when it includes a timestamp. WHILE EXISTS (SELECT 1 FROM test_tenant_mod_inventory_storage.audit_instance WHERE id = uuid) LOOP uuid = test_tenant_mod_inventory_storage.next_uuid(uuid); END LOOP; jsonb = jsonb_build_object( 'id', to_jsonb(uuid::text), 'record', jsonb, 'operation', to_jsonb(left(TG_OP, 1)), 'createdDate', to_jsonb(current_timestamp::text)); IF (TG_OP = 'DELETE') THEN ELSIF (TG_OP = 'UPDATE') THEN ELSIF (TG_OP = 'INSERT') THEN END IF; INSERT INTO test_tenant_mod_inventory_storage.audit_instance VALUES (uuid, jsonb); RETURN CASE WHEN TG_OP = 'DELETE' THEN OLD ELSE NEW END; END; $instance_audit$ LANGUAGE plpgsql; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS audit_instance ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "audit_instance" for relation "test_tenant_mod_inventory_storage.instance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS audit_instance ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER audit_instance AFTER INSERT OR UPDATE OR DELETE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.audit_instance_changes(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER audit_instance AFTER INSERT OR UPDATE OR DELETE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.audit_instance_changes(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS audit_instance ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS audit_instance ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER audit_instance AFTER DELETE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.audit_instance_changes(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER audit_instance AFTER DELETE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.audit_instance_changes(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance_relationship ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance_relationship ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_instance_relationship ON test_tenant_mod_inventory_storage.instance_relationship CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_instance_relationship" for relation "test_tenant_mod_inventory_storage.instance_relationship" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_instance_relationship ON test_tenant_mod_inventory_storage.instance_relationship CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance_relationship CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.instance_relationship" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance_relationship CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_relationship FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_relationship FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance_relationship ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance_relationship ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance_relationship ADD COLUMN IF NOT EXISTS superInstanceId UUID; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance_relationship ADD COLUMN IF NOT EXISTS superInstanceId UUID; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE instance_relationship ADD CONSTRAINT superInstanceId_instance_fkey FOREIGN KEY (superInstanceId) REFERENCES instance; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE instance_relationship ADD CONSTRAINT superInstanceId_instance_fkey FOREIGN KEY (superInstanceId) REFERENCES instance; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS instance_relationship_superInstanceId_idx ON test_tenant_mod_inventory_storage.instance_relationship (superInstanceId); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS instance_relationship_superInstanceId_idx ON test_tenant_mod_inventory_storage.instance_relationship (superInstanceId); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('instance_relationship'); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('instance_relationship'); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance_relationship ADD COLUMN IF NOT EXISTS subInstanceId UUID; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance_relationship ADD COLUMN IF NOT EXISTS subInstanceId UUID; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE instance_relationship ADD CONSTRAINT subInstanceId_instance_fkey FOREIGN KEY (subInstanceId) REFERENCES instance; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE instance_relationship ADD CONSTRAINT subInstanceId_instance_fkey FOREIGN KEY (subInstanceId) REFERENCES instance; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS instance_relationship_subInstanceId_idx ON test_tenant_mod_inventory_storage.instance_relationship (subInstanceId); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS instance_relationship_subInstanceId_idx ON test_tenant_mod_inventory_storage.instance_relationship (subInstanceId); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('instance_relationship'); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('instance_relationship'); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance_relationship ADD COLUMN IF NOT EXISTS instanceRelationshipTypeId UUID; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance_relationship ADD COLUMN IF NOT EXISTS instanceRelationshipTypeId UUID; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE instance_relationship ADD CONSTRAINT instanceRelationshipTypeId_instance_relationship_type_fkey FOREIGN KEY (instanceRelationshipTypeId) REFERENCES instance_relationship_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE instance_relationship ADD CONSTRAINT instanceRelationshipTypeId_instance_relationship_type_fkey FOREIGN KEY (instanceRelationshipTypeId) REFERENCES instance_relationship_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS instance_relationship_instanceRelationshipTypeId_idx ON test_tenant_mod_inventory_storage.instance_relationship (instanceRelationshipTypeId); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS instance_relationship_instanceRelationshipTypeId_idx ON test_tenant_mod_inventory_storage.instance_relationship (instanceRelationshipTypeId); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('instance_relationship'); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('instance_relationship'); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_instance_relationship_references() RETURNS TRIGGER AS $$ BEGIN NEW.superInstanceId = (NEW.jsonb->>'superInstanceId'); NEW.subInstanceId = (NEW.jsonb->>'subInstanceId'); NEW.instanceRelationshipTypeId = (NEW.jsonb->>'instanceRelationshipTypeId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_instance_relationship_references() RETURNS TRIGGER AS $$ BEGIN NEW.superInstanceId = (NEW.jsonb->>'superInstanceId'); NEW.subInstanceId = (NEW.jsonb->>'subInstanceId'); NEW.instanceRelationshipTypeId = (NEW.jsonb->>'instanceRelationshipTypeId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_instance_relationship_references ON test_tenant_mod_inventory_storage.instance_relationship CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_instance_relationship_references" for relation "test_tenant_mod_inventory_storage.instance_relationship" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_instance_relationship_references ON test_tenant_mod_inventory_storage.instance_relationship CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER update_instance_relationship_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_relationship FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_instance_relationship_references(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER update_instance_relationship_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_relationship FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_instance_relationship_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE instance_relationship DROP CONSTRAINT IF EXISTS ' || 'superInstanceId_instance_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE instance_relationship DROP CONSTRAINT IF EXISTS ' || 'subInstanceId_instance_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE instance_relationship DROP CONSTRAINT IF EXISTS ' || 'instanceRelationshipTypeId_instance_relationship_type_fkey' || i; END LOOP; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE instance_relationship DROP CONSTRAINT IF EXISTS ' || 'superInstanceId_instance_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE instance_relationship DROP CONSTRAINT IF EXISTS ' || 'subInstanceId_instance_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE instance_relationship DROP CONSTRAINT IF EXISTS ' || 'instanceRelationshipTypeId_instance_relationship_type_fkey' || i; END LOOP; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.instance_relationship_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.instance_relationship_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_relationship_md_trigger ON test_tenant_mod_inventory_storage.instance_relationship CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_relationship_md_trigger" for relation "test_tenant_mod_inventory_storage.instance_relationship" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_relationship_md_trigger ON test_tenant_mod_inventory_storage.instance_relationship CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_relationship_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.instance_relationship FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.instance_relationship_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_relationship_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.instance_relationship FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.instance_relationship_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_relationship_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_relationship_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_relationship_md_json_trigger ON test_tenant_mod_inventory_storage.instance_relationship CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_relationship_md_json_trigger" for relation "test_tenant_mod_inventory_storage.instance_relationship" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_relationship_md_json_trigger ON test_tenant_mod_inventory_storage.instance_relationship CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_relationship_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.instance_relationship FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_relationship_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_relationship_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.instance_relationship FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_relationship_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_relationship_ol_version_trigger ON test_tenant_mod_inventory_storage.instance_relationship CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_relationship_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.instance_relationship" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_relationship_ol_version_trigger ON test_tenant_mod_inventory_storage.instance_relationship CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_relationship_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.instance_relationship_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_relationship_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance_source_marc ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance_source_marc ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_instance_source_marc ON test_tenant_mod_inventory_storage.instance_source_marc CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_instance_source_marc" for relation "test_tenant_mod_inventory_storage.instance_source_marc" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_instance_source_marc ON test_tenant_mod_inventory_storage.instance_source_marc CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance_source_marc CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.instance_source_marc" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance_source_marc CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_source_marc FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_source_marc FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance_source_marc ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance_source_marc ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_instance_source_marc_references ON test_tenant_mod_inventory_storage.instance_source_marc CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_instance_source_marc_references" for relation "test_tenant_mod_inventory_storage.instance_source_marc" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_instance_source_marc_references ON test_tenant_mod_inventory_storage.instance_source_marc CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_instance_source_marc_references(); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_instance_source_marc_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_instance_source_marc_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.instance_source_marc_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.instance_source_marc_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_source_marc_md_trigger ON test_tenant_mod_inventory_storage.instance_source_marc CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_source_marc_md_trigger" for relation "test_tenant_mod_inventory_storage.instance_source_marc" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_source_marc_md_trigger ON test_tenant_mod_inventory_storage.instance_source_marc CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_source_marc_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.instance_source_marc FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.instance_source_marc_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_source_marc_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.instance_source_marc FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.instance_source_marc_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_source_marc_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_source_marc_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_source_marc_md_json_trigger ON test_tenant_mod_inventory_storage.instance_source_marc CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_source_marc_md_json_trigger" for relation "test_tenant_mod_inventory_storage.instance_source_marc" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_source_marc_md_json_trigger ON test_tenant_mod_inventory_storage.instance_source_marc CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_source_marc_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.instance_source_marc FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_source_marc_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_source_marc_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.instance_source_marc FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_source_marc_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_source_marc_ol_version_trigger ON test_tenant_mod_inventory_storage.instance_source_marc CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_source_marc_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.instance_source_marc" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_source_marc_ol_version_trigger ON test_tenant_mod_inventory_storage.instance_source_marc CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_source_marc_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.instance_source_marc_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_source_marc_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance_source_marc ADD FOREIGN KEY (id) REFERENCES test_tenant_mod_inventory_storage.instance; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance_source_marc ADD FOREIGN KEY (id) REFERENCES test_tenant_mod_inventory_storage.instance; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_sourceRecordFormat() RETURNS TRIGGER AS $$ BEGIN CASE TG_OP WHEN 'INSERT' THEN -- a newly inserted instance cannot have a source record because of foreign key relationship NEW.jsonb := NEW.jsonb - 'sourceRecordFormat'; ELSE NEW.jsonb := CASE (SELECT count(*) FROM test_tenant_mod_inventory_storage.instance_source_marc WHERE id=NEW.id) WHEN 0 THEN NEW.jsonb - 'sourceRecordFormat' ELSE jsonb_set(NEW.jsonb, '{sourceRecordFormat}', '"MARC-JSON"') END; END CASE; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_sourceRecordFormat() RETURNS TRIGGER AS $$ BEGIN CASE TG_OP WHEN 'INSERT' THEN -- a newly inserted instance cannot have a source record because of foreign key relationship NEW.jsonb := NEW.jsonb - 'sourceRecordFormat'; ELSE NEW.jsonb := CASE (SELECT count(*) FROM test_tenant_mod_inventory_storage.instance_source_marc WHERE id=NEW.id) WHEN 0 THEN NEW.jsonb - 'sourceRecordFormat' ELSE jsonb_set(NEW.jsonb, '{sourceRecordFormat}', '"MARC-JSON"') END; END CASE; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_sourceRecordFormat ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_sourcerecordformat" for relation "test_tenant_mod_inventory_storage.instance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_sourceRecordFormat ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_sourceRecordFormat BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_sourceRecordFormat(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_sourceRecordFormat BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_sourceRecordFormat(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_instance_source_marc() RETURNS TRIGGER AS $$ BEGIN IF (TG_OP = 'DELETE') THEN UPDATE test_tenant_mod_inventory_storage.instance SET jsonb = jsonb - 'sourceRecordFormat' WHERE id = OLD.id; ELSE UPDATE test_tenant_mod_inventory_storage.instance SET jsonb = jsonb_set(jsonb, '{sourceRecordFormat}', '"MARC-JSON"') WHERE id = NEW.id; END IF; RETURN NULL; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_instance_source_marc() RETURNS TRIGGER AS $$ BEGIN IF (TG_OP = 'DELETE') THEN UPDATE test_tenant_mod_inventory_storage.instance SET jsonb = jsonb - 'sourceRecordFormat' WHERE id = OLD.id; ELSE UPDATE test_tenant_mod_inventory_storage.instance SET jsonb = jsonb_set(jsonb, '{sourceRecordFormat}', '"MARC-JSON"') WHERE id = NEW.id; END IF; RETURN NULL; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_instance_source_marc ON test_tenant_mod_inventory_storage.instance_source_marc CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_instance_source_marc" for relation "test_tenant_mod_inventory_storage.instance_source_marc" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_instance_source_marc ON test_tenant_mod_inventory_storage.instance_source_marc CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER update_instance_source_marc AFTER DELETE OR INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_source_marc FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_instance_source_marc(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER update_instance_source_marc AFTER DELETE OR INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_source_marc FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_instance_source_marc(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.ill_policy ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.ill_policy ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_ill_policy ON test_tenant_mod_inventory_storage.ill_policy CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_ill_policy" for relation "test_tenant_mod_inventory_storage.ill_policy" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_ill_policy ON test_tenant_mod_inventory_storage.ill_policy CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.ill_policy CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.ill_policy" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.ill_policy CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.ill_policy FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.ill_policy FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.ill_policy ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.ill_policy ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'ill_policy', 'ill_policy_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS ill_policy_name_idx_unique ON test_tenant_mod_inventory_storage.ill_policy ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "ill_policy_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS ill_policy_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'ill_policy', 'ill_policy_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS ill_policy_name_idx_unique ON test_tenant_mod_inventory_storage.ill_policy ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'ill_policy', 'ill_policy_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS ill_policy_name_idx_unique ON test_tenant_mod_inventory_storage.ill_policy ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_ill_policy_references ON test_tenant_mod_inventory_storage.ill_policy CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_ill_policy_references" for relation "test_tenant_mod_inventory_storage.ill_policy" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_ill_policy_references ON test_tenant_mod_inventory_storage.ill_policy CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_ill_policy_references(); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_ill_policy_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_ill_policy_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.ill_policy_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.ill_policy_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_ill_policy_md_trigger ON test_tenant_mod_inventory_storage.ill_policy CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_ill_policy_md_trigger" for relation "test_tenant_mod_inventory_storage.ill_policy" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_ill_policy_md_trigger ON test_tenant_mod_inventory_storage.ill_policy CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_ill_policy_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.ill_policy FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.ill_policy_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_ill_policy_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.ill_policy FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.ill_policy_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_ill_policy_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_ill_policy_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_ill_policy_md_json_trigger ON test_tenant_mod_inventory_storage.ill_policy CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_ill_policy_md_json_trigger" for relation "test_tenant_mod_inventory_storage.ill_policy" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_ill_policy_md_json_trigger ON test_tenant_mod_inventory_storage.ill_policy CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_ill_policy_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.ill_policy FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_ill_policy_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_ill_policy_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.ill_policy FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_ill_policy_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_ill_policy_ol_version_trigger ON test_tenant_mod_inventory_storage.ill_policy CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_ill_policy_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.ill_policy" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_ill_policy_ol_version_trigger ON test_tenant_mod_inventory_storage.ill_policy CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.ill_policy_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.ill_policy_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.ill_policy_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.call_number_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.call_number_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_call_number_type ON test_tenant_mod_inventory_storage.call_number_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_call_number_type" for relation "test_tenant_mod_inventory_storage.call_number_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_call_number_type ON test_tenant_mod_inventory_storage.call_number_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.call_number_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.call_number_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.call_number_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.call_number_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.call_number_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.call_number_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.call_number_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'call_number_type', 'call_number_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS call_number_type_name_idx_unique ON test_tenant_mod_inventory_storage.call_number_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "call_number_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS call_number_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'call_number_type', 'call_number_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS call_number_type_name_idx_unique ON test_tenant_mod_inventory_storage.call_number_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'call_number_type', 'call_number_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS call_number_type_name_idx_unique ON test_tenant_mod_inventory_storage.call_number_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_call_number_type_references ON test_tenant_mod_inventory_storage.call_number_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_call_number_type_references" for relation "test_tenant_mod_inventory_storage.call_number_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_call_number_type_references ON test_tenant_mod_inventory_storage.call_number_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_call_number_type_references(); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_call_number_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_call_number_type_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.call_number_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.call_number_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_call_number_type_md_trigger ON test_tenant_mod_inventory_storage.call_number_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_call_number_type_md_trigger" for relation "test_tenant_mod_inventory_storage.call_number_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_call_number_type_md_trigger ON test_tenant_mod_inventory_storage.call_number_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_call_number_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.call_number_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.call_number_type_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_call_number_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.call_number_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.call_number_type_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_call_number_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_call_number_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_call_number_type_md_json_trigger ON test_tenant_mod_inventory_storage.call_number_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_call_number_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.call_number_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_call_number_type_md_json_trigger ON test_tenant_mod_inventory_storage.call_number_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_call_number_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.call_number_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_call_number_type_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_call_number_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.call_number_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_call_number_type_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_call_number_type_ol_version_trigger ON test_tenant_mod_inventory_storage.call_number_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_call_number_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.call_number_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_call_number_type_ol_version_trigger ON test_tenant_mod_inventory_storage.call_number_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.call_number_type_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.call_number_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.call_number_type_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.holdings_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.holdings_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_holdings_type ON test_tenant_mod_inventory_storage.holdings_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_holdings_type" for relation "test_tenant_mod_inventory_storage.holdings_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_holdings_type ON test_tenant_mod_inventory_storage.holdings_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.holdings_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.holdings_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.holdings_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.holdings_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.holdings_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.holdings_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.holdings_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_type', 'holdings_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_type_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "holdings_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS holdings_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'holdings_type', 'holdings_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_type_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_type', 'holdings_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_type_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_holdings_type_references ON test_tenant_mod_inventory_storage.holdings_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_holdings_type_references" for relation "test_tenant_mod_inventory_storage.holdings_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_holdings_type_references ON test_tenant_mod_inventory_storage.holdings_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_holdings_type_references(); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_holdings_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_holdings_type_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.holdings_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.holdings_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_holdings_type_md_trigger ON test_tenant_mod_inventory_storage.holdings_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_holdings_type_md_trigger" for relation "test_tenant_mod_inventory_storage.holdings_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_holdings_type_md_trigger ON test_tenant_mod_inventory_storage.holdings_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_holdings_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.holdings_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.holdings_type_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_holdings_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.holdings_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.holdings_type_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_holdings_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_holdings_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_holdings_type_md_json_trigger ON test_tenant_mod_inventory_storage.holdings_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_holdings_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.holdings_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_holdings_type_md_json_trigger ON test_tenant_mod_inventory_storage.holdings_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_holdings_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.holdings_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_holdings_type_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_holdings_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.holdings_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_holdings_type_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_holdings_type_ol_version_trigger ON test_tenant_mod_inventory_storage.holdings_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_holdings_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.holdings_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_holdings_type_ol_version_trigger ON test_tenant_mod_inventory_storage.holdings_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.holdings_type_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.holdings_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.holdings_type_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.authority_note_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.authority_note_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_authority_note_type ON test_tenant_mod_inventory_storage.authority_note_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_authority_note_type" for relation "test_tenant_mod_inventory_storage.authority_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_authority_note_type ON test_tenant_mod_inventory_storage.authority_note_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.authority_note_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.authority_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.authority_note_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.authority_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.authority_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.authority_note_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.authority_note_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'authority_note_type', 'authority_note_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS authority_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.authority_note_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "authority_note_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS authority_note_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'authority_note_type', 'authority_note_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS authority_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.authority_note_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'authority_note_type', 'authority_note_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS authority_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.authority_note_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_authority_note_type_references ON test_tenant_mod_inventory_storage.authority_note_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_authority_note_type_references" for relation "test_tenant_mod_inventory_storage.authority_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_authority_note_type_references ON test_tenant_mod_inventory_storage.authority_note_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_authority_note_type_references(); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_authority_note_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_authority_note_type_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.authority_note_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.authority_note_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_authority_note_type_md_trigger ON test_tenant_mod_inventory_storage.authority_note_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_authority_note_type_md_trigger" for relation "test_tenant_mod_inventory_storage.authority_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_authority_note_type_md_trigger ON test_tenant_mod_inventory_storage.authority_note_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_authority_note_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.authority_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.authority_note_type_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_authority_note_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.authority_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.authority_note_type_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_authority_note_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_authority_note_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_authority_note_type_md_json_trigger ON test_tenant_mod_inventory_storage.authority_note_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_authority_note_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.authority_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_authority_note_type_md_json_trigger ON test_tenant_mod_inventory_storage.authority_note_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_authority_note_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.authority_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_authority_note_type_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_authority_note_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.authority_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_authority_note_type_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_authority_note_type_ol_version_trigger ON test_tenant_mod_inventory_storage.authority_note_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_authority_note_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.authority_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_authority_note_type_ol_version_trigger ON test_tenant_mod_inventory_storage.authority_note_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.authority_note_type_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.authority_note_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.authority_note_type_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance_note_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance_note_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_instance_note_type ON test_tenant_mod_inventory_storage.instance_note_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_instance_note_type" for relation "test_tenant_mod_inventory_storage.instance_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_instance_note_type ON test_tenant_mod_inventory_storage.instance_note_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance_note_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.instance_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance_note_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance_note_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance_note_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_note_type', 'instance_note_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_note_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_note_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_note_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance_note_type', 'instance_note_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_note_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_note_type', 'instance_note_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_note_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_instance_note_type_references ON test_tenant_mod_inventory_storage.instance_note_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_instance_note_type_references" for relation "test_tenant_mod_inventory_storage.instance_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_instance_note_type_references ON test_tenant_mod_inventory_storage.instance_note_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_instance_note_type_references(); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_instance_note_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_instance_note_type_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.instance_note_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.instance_note_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_note_type_md_trigger ON test_tenant_mod_inventory_storage.instance_note_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_note_type_md_trigger" for relation "test_tenant_mod_inventory_storage.instance_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_note_type_md_trigger ON test_tenant_mod_inventory_storage.instance_note_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_note_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.instance_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.instance_note_type_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_note_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.instance_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.instance_note_type_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_note_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_note_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_note_type_md_json_trigger ON test_tenant_mod_inventory_storage.instance_note_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_note_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.instance_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_note_type_md_json_trigger ON test_tenant_mod_inventory_storage.instance_note_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_note_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.instance_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_note_type_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_note_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.instance_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_note_type_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_note_type_ol_version_trigger ON test_tenant_mod_inventory_storage.instance_note_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_note_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.instance_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_note_type_ol_version_trigger ON test_tenant_mod_inventory_storage.instance_note_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_note_type_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.instance_note_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_note_type_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.holdings_note_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.holdings_note_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_holdings_note_type ON test_tenant_mod_inventory_storage.holdings_note_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_holdings_note_type" for relation "test_tenant_mod_inventory_storage.holdings_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_holdings_note_type ON test_tenant_mod_inventory_storage.holdings_note_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.holdings_note_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.holdings_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.holdings_note_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.holdings_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.holdings_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.holdings_note_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.holdings_note_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_note_type', 'holdings_note_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_note_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "holdings_note_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS holdings_note_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'holdings_note_type', 'holdings_note_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_note_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_note_type', 'holdings_note_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_note_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_holdings_note_type_references ON test_tenant_mod_inventory_storage.holdings_note_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_holdings_note_type_references" for relation "test_tenant_mod_inventory_storage.holdings_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_holdings_note_type_references ON test_tenant_mod_inventory_storage.holdings_note_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_holdings_note_type_references(); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_holdings_note_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_holdings_note_type_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.holdings_note_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.holdings_note_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_holdings_note_type_md_trigger ON test_tenant_mod_inventory_storage.holdings_note_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_holdings_note_type_md_trigger" for relation "test_tenant_mod_inventory_storage.holdings_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_holdings_note_type_md_trigger ON test_tenant_mod_inventory_storage.holdings_note_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_holdings_note_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.holdings_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.holdings_note_type_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_holdings_note_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.holdings_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.holdings_note_type_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_holdings_note_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_holdings_note_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_holdings_note_type_md_json_trigger ON test_tenant_mod_inventory_storage.holdings_note_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_holdings_note_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.holdings_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_holdings_note_type_md_json_trigger ON test_tenant_mod_inventory_storage.holdings_note_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_holdings_note_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.holdings_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_holdings_note_type_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_holdings_note_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.holdings_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_holdings_note_type_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_holdings_note_type_ol_version_trigger ON test_tenant_mod_inventory_storage.holdings_note_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_holdings_note_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.holdings_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_holdings_note_type_ol_version_trigger ON test_tenant_mod_inventory_storage.holdings_note_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.holdings_note_type_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.holdings_note_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.holdings_note_type_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.item_note_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.item_note_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_item_note_type ON test_tenant_mod_inventory_storage.item_note_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_item_note_type" for relation "test_tenant_mod_inventory_storage.item_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_item_note_type ON test_tenant_mod_inventory_storage.item_note_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.item_note_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.item_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.item_note_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.item_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.item_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item_note_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item_note_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'item_note_type', 'item_note_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS item_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.item_note_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_note_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS item_note_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'item_note_type', 'item_note_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS item_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.item_note_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'item_note_type', 'item_note_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS item_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.item_note_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_item_note_type_references ON test_tenant_mod_inventory_storage.item_note_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_item_note_type_references" for relation "test_tenant_mod_inventory_storage.item_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_item_note_type_references ON test_tenant_mod_inventory_storage.item_note_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_item_note_type_references(); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_item_note_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_item_note_type_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.item_note_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.item_note_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_item_note_type_md_trigger ON test_tenant_mod_inventory_storage.item_note_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_item_note_type_md_trigger" for relation "test_tenant_mod_inventory_storage.item_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_item_note_type_md_trigger ON test_tenant_mod_inventory_storage.item_note_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_item_note_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.item_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.item_note_type_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_item_note_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.item_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.item_note_type_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_item_note_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_item_note_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_item_note_type_md_json_trigger ON test_tenant_mod_inventory_storage.item_note_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_item_note_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.item_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_item_note_type_md_json_trigger ON test_tenant_mod_inventory_storage.item_note_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_item_note_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.item_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_item_note_type_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_item_note_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.item_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_item_note_type_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_item_note_type_ol_version_trigger ON test_tenant_mod_inventory_storage.item_note_type CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_item_note_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.item_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_item_note_type_ol_version_trigger ON test_tenant_mod_inventory_storage.item_note_type CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.item_note_type_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.item_note_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.item_note_type_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.item_damaged_status ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.item_damaged_status ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_item_damaged_status ON test_tenant_mod_inventory_storage.item_damaged_status CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_item_damaged_status" for relation "test_tenant_mod_inventory_storage.item_damaged_status" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_item_damaged_status ON test_tenant_mod_inventory_storage.item_damaged_status CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.item_damaged_status CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.item_damaged_status" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.item_damaged_status CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.item_damaged_status FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.item_damaged_status FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item_damaged_status ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item_damaged_status ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'item_damaged_status', 'item_damaged_status_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS item_damaged_status_name_idx_unique ON test_tenant_mod_inventory_storage.item_damaged_status ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_damaged_status_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS item_damaged_status_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'item_damaged_status', 'item_damaged_status_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS item_damaged_status_name_idx_unique ON test_tenant_mod_inventory_storage.item_damaged_status ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'item_damaged_status', 'item_damaged_status_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS item_damaged_status_name_idx_unique ON test_tenant_mod_inventory_storage.item_damaged_status ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_item_damaged_status_references ON test_tenant_mod_inventory_storage.item_damaged_status CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_item_damaged_status_references" for relation "test_tenant_mod_inventory_storage.item_damaged_status" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_item_damaged_status_references ON test_tenant_mod_inventory_storage.item_damaged_status CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_item_damaged_status_references(); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_item_damaged_status_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_item_damaged_status_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.item_damaged_status_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.item_damaged_status_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_item_damaged_status_md_trigger ON test_tenant_mod_inventory_storage.item_damaged_status CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_item_damaged_status_md_trigger" for relation "test_tenant_mod_inventory_storage.item_damaged_status" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_item_damaged_status_md_trigger ON test_tenant_mod_inventory_storage.item_damaged_status CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_item_damaged_status_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.item_damaged_status FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.item_damaged_status_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_item_damaged_status_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.item_damaged_status FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.item_damaged_status_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_item_damaged_status_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_item_damaged_status_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_item_damaged_status_md_json_trigger ON test_tenant_mod_inventory_storage.item_damaged_status CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_item_damaged_status_md_json_trigger" for relation "test_tenant_mod_inventory_storage.item_damaged_status" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_item_damaged_status_md_json_trigger ON test_tenant_mod_inventory_storage.item_damaged_status CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_item_damaged_status_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.item_damaged_status FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_item_damaged_status_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_item_damaged_status_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.item_damaged_status FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_item_damaged_status_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_item_damaged_status_ol_version_trigger ON test_tenant_mod_inventory_storage.item_damaged_status CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_item_damaged_status_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.item_damaged_status" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_item_damaged_status_ol_version_trigger ON test_tenant_mod_inventory_storage.item_damaged_status CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.item_damaged_status_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.item_damaged_status_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.item_damaged_status_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.holdings_records_source ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.holdings_records_source ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_holdings_records_source ON test_tenant_mod_inventory_storage.holdings_records_source CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_holdings_records_source" for relation "test_tenant_mod_inventory_storage.holdings_records_source" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_holdings_records_source ON test_tenant_mod_inventory_storage.holdings_records_source CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.holdings_records_source CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.holdings_records_source" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.holdings_records_source CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.holdings_records_source FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.holdings_records_source FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.holdings_records_source ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.holdings_records_source ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_records_source', 'holdings_records_source_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_records_source_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_records_source ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "holdings_records_source_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS holdings_records_source_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'holdings_records_source', 'holdings_records_source_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_records_source_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_records_source ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_records_source', 'holdings_records_source_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_records_source_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_records_source ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_holdings_records_source_references ON test_tenant_mod_inventory_storage.holdings_records_source CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_holdings_records_source_references" for relation "test_tenant_mod_inventory_storage.holdings_records_source" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_holdings_records_source_references ON test_tenant_mod_inventory_storage.holdings_records_source CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_holdings_records_source_references(); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_holdings_records_source_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_holdings_records_source_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.holdings_records_source_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.holdings_records_source_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_holdings_records_source_md_trigger ON test_tenant_mod_inventory_storage.holdings_records_source CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_holdings_records_source_md_trigger" for relation "test_tenant_mod_inventory_storage.holdings_records_source" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_holdings_records_source_md_trigger ON test_tenant_mod_inventory_storage.holdings_records_source CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_holdings_records_source_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.holdings_records_source FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.holdings_records_source_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_holdings_records_source_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.holdings_records_source FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.holdings_records_source_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_holdings_records_source_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_holdings_records_source_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_holdings_records_source_md_json_trigger ON test_tenant_mod_inventory_storage.holdings_records_source CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_holdings_records_source_md_json_trigger" for relation "test_tenant_mod_inventory_storage.holdings_records_source" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_holdings_records_source_md_json_trigger ON test_tenant_mod_inventory_storage.holdings_records_source CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_holdings_records_source_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.holdings_records_source FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_holdings_records_source_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_holdings_records_source_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.holdings_records_source FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_holdings_records_source_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_holdings_records_source_ol_version_trigger ON test_tenant_mod_inventory_storage.holdings_records_source CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_holdings_records_source_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.holdings_records_source" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_holdings_records_source_ol_version_trigger ON test_tenant_mod_inventory_storage.holdings_records_source CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.holdings_records_source_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.holdings_records_source_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.holdings_records_source_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.holdings_record ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.holdings_record ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.audit_holdings_record ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.audit_holdings_record ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_holdings_record ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_holdings_record" for relation "test_tenant_mod_inventory_storage.holdings_record" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_holdings_record ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.holdings_record" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.holdings_record FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.holdings_record FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_callNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_callNumber_idx ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(left(lower(jsonb->>'callNumber'),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "holdings_record_callnumber_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS holdings_record_callNumber_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'holdings_record', 'holdings_record_callNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_callNumber_idx ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(left(lower(jsonb->>'callNumber'),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_callNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_callNumber_idx ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(left(lower(jsonb->>'callNumber'),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_callNumberAndSuffix_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_callNumberAndSuffix_idx ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(left(lower(concat_space_sql(holdings_record.jsonb->>'callNumber' , holdings_record.jsonb->>'callNumberSuffix')),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "holdings_record_callnumberandsuffix_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS holdings_record_callNumberAndSuffix_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'holdings_record', 'holdings_record_callNumberAndSuffix_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_callNumberAndSuffix_idx ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(left(lower(concat_space_sql(holdings_record.jsonb->>'callNumber' , holdings_record.jsonb->>'callNumberSuffix')),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_callNumberAndSuffix_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_callNumberAndSuffix_idx ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(left(lower(concat_space_sql(holdings_record.jsonb->>'callNumber' , holdings_record.jsonb->>'callNumberSuffix')),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_fullCallNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_fullCallNumber_idx ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(left(lower(concat_space_sql(holdings_record.jsonb->>'callNumberPrefix' , holdings_record.jsonb->>'callNumber' , holdings_record.jsonb->>'callNumberSuffix')),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "holdings_record_fullcallnumber_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS holdings_record_fullCallNumber_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'holdings_record', 'holdings_record_fullCallNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_fullCallNumber_idx ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(left(lower(concat_space_sql(holdings_record.jsonb->>'callNumberPrefix' , holdings_record.jsonb->>'callNumber' , holdings_record.jsonb->>'callNumberSuffix')),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_fullCallNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_fullCallNumber_idx ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(left(lower(concat_space_sql(holdings_record.jsonb->>'callNumberPrefix' , holdings_record.jsonb->>'callNumber' , holdings_record.jsonb->>'callNumberSuffix')),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_discoverySuppress_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_discoverySuppress_idx ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(left(lower(jsonb->>'discoverySuppress'),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "holdings_record_discoverysuppress_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS holdings_record_discoverySuppress_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'holdings_record', 'holdings_record_discoverySuppress_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_discoverySuppress_idx ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(left(lower(jsonb->>'discoverySuppress'),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_discoverySuppress_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_discoverySuppress_idx ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(left(lower(jsonb->>'discoverySuppress'),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_hrid_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_record_hrid_idx_unique ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(lower(f_unaccent(jsonb->>'hrid')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "holdings_record_hrid_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS holdings_record_hrid_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'holdings_record', 'holdings_record_hrid_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_record_hrid_idx_unique ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(lower(f_unaccent(jsonb->>'hrid')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_hrid_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_record_hrid_idx_unique ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(lower(f_unaccent(jsonb->>'hrid')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_electronicAccess_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_electronicAccess_idx_gin ON test_tenant_mod_inventory_storage.holdings_record USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'electronicAccess'))) public.gin_trgm_ops)$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "holdings_record_electronicaccess_idx_gin" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS holdings_record_electronicAccess_idx_gin" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'holdings_record', 'holdings_record_electronicAccess_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_electronicAccess_idx_gin ON test_tenant_mod_inventory_storage.holdings_record USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'electronicAccess'))) public.gin_trgm_ops)$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_electronicAccess_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_electronicAccess_idx_gin ON test_tenant_mod_inventory_storage.holdings_record USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'electronicAccess'))) public.gin_trgm_ops)$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_callNumberAndSuffixNormalized_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_callNumberAndSuffixNormalized_idx_ft ON test_tenant_mod_inventory_storage.holdings_record USING GIN ' || $rmb$( get_tsvector(normalize_holdings_call_number_and_suffix(jsonb)) )$rmb$); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "holdings_record_callnumberandsuffixnormalized_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS holdings_record_callNumberAndSuffixNormalized_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'holdings_record', 'holdings_record_callNumberAndSuffixNormalized_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_callNumberAndSuffixNormalized_idx_ft ON test_tenant_mod_inventory_storage.holdings_record USING GIN ' || $rmb$( get_tsvector(normalize_holdings_call_number_and_suffix(jsonb)) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_callNumberAndSuffixNormalized_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_callNumberAndSuffixNormalized_idx_ft ON test_tenant_mod_inventory_storage.holdings_record USING GIN ' || $rmb$( get_tsvector(normalize_holdings_call_number_and_suffix(jsonb)) )$rmb$); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_fullCallNumberNormalized_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_fullCallNumberNormalized_idx_ft ON test_tenant_mod_inventory_storage.holdings_record USING GIN ' || $rmb$( get_tsvector(normalize_holdings_full_call_number(jsonb)) )$rmb$); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "holdings_record_fullcallnumbernormalized_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS holdings_record_fullCallNumberNormalized_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'holdings_record', 'holdings_record_fullCallNumberNormalized_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_fullCallNumberNormalized_idx_ft ON test_tenant_mod_inventory_storage.holdings_record USING GIN ' || $rmb$( get_tsvector(normalize_holdings_full_call_number(jsonb)) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_fullCallNumberNormalized_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_fullCallNumberNormalized_idx_ft ON test_tenant_mod_inventory_storage.holdings_record USING GIN ' || $rmb$( get_tsvector(normalize_holdings_full_call_number(jsonb)) )$rmb$); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS instanceId UUID; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS instanceId UUID; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT instanceId_instance_fkey FOREIGN KEY (instanceId) REFERENCES instance; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT instanceId_instance_fkey FOREIGN KEY (instanceId) REFERENCES instance; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS holdings_record_instanceId_idx ON test_tenant_mod_inventory_storage.holdings_record (instanceId); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS holdings_record_instanceId_idx ON test_tenant_mod_inventory_storage.holdings_record (instanceId); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS permanentLocationId UUID; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS permanentLocationId UUID; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT permanentLocationId_location_fkey FOREIGN KEY (permanentLocationId) REFERENCES location; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT permanentLocationId_location_fkey FOREIGN KEY (permanentLocationId) REFERENCES location; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS holdings_record_permanentLocationId_idx ON test_tenant_mod_inventory_storage.holdings_record (permanentLocationId); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS holdings_record_permanentLocationId_idx ON test_tenant_mod_inventory_storage.holdings_record (permanentLocationId); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS temporaryLocationId UUID; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS temporaryLocationId UUID; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT temporaryLocationId_location_fkey FOREIGN KEY (temporaryLocationId) REFERENCES location; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT temporaryLocationId_location_fkey FOREIGN KEY (temporaryLocationId) REFERENCES location; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS holdings_record_temporaryLocationId_idx ON test_tenant_mod_inventory_storage.holdings_record (temporaryLocationId); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS holdings_record_temporaryLocationId_idx ON test_tenant_mod_inventory_storage.holdings_record (temporaryLocationId); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS effectiveLocationId UUID; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS effectiveLocationId UUID; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT effectiveLocationId_location_fkey FOREIGN KEY (effectiveLocationId) REFERENCES location; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT effectiveLocationId_location_fkey FOREIGN KEY (effectiveLocationId) REFERENCES location; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS holdings_record_effectiveLocationId_idx ON test_tenant_mod_inventory_storage.holdings_record (effectiveLocationId); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS holdings_record_effectiveLocationId_idx ON test_tenant_mod_inventory_storage.holdings_record (effectiveLocationId); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS holdingsTypeId UUID; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS holdingsTypeId UUID; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT holdingsTypeId_holdings_type_fkey FOREIGN KEY (holdingsTypeId) REFERENCES holdings_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT holdingsTypeId_holdings_type_fkey FOREIGN KEY (holdingsTypeId) REFERENCES holdings_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS holdings_record_holdingsTypeId_idx ON test_tenant_mod_inventory_storage.holdings_record (holdingsTypeId); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS holdings_record_holdingsTypeId_idx ON test_tenant_mod_inventory_storage.holdings_record (holdingsTypeId); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS callNumberTypeId UUID; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS callNumberTypeId UUID; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT callNumberTypeId_call_number_type_fkey FOREIGN KEY (callNumberTypeId) REFERENCES call_number_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT callNumberTypeId_call_number_type_fkey FOREIGN KEY (callNumberTypeId) REFERENCES call_number_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS holdings_record_callNumberTypeId_idx ON test_tenant_mod_inventory_storage.holdings_record (callNumberTypeId); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS holdings_record_callNumberTypeId_idx ON test_tenant_mod_inventory_storage.holdings_record (callNumberTypeId); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS illPolicyId UUID; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS illPolicyId UUID; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT illPolicyId_ill_policy_fkey FOREIGN KEY (illPolicyId) REFERENCES ill_policy; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT illPolicyId_ill_policy_fkey FOREIGN KEY (illPolicyId) REFERENCES ill_policy; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS holdings_record_illPolicyId_idx ON test_tenant_mod_inventory_storage.holdings_record (illPolicyId); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS holdings_record_illPolicyId_idx ON test_tenant_mod_inventory_storage.holdings_record (illPolicyId); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS sourceId UUID; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS sourceId UUID; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT sourceId_holdings_records_source_fkey FOREIGN KEY (sourceId) REFERENCES holdings_records_source; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT sourceId_holdings_records_source_fkey FOREIGN KEY (sourceId) REFERENCES holdings_records_source; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS holdings_record_sourceId_idx ON test_tenant_mod_inventory_storage.holdings_record (sourceId); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS holdings_record_sourceId_idx ON test_tenant_mod_inventory_storage.holdings_record (sourceId); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_holdings_record_references() RETURNS TRIGGER AS $$ BEGIN NEW.instanceId = (NEW.jsonb->>'instanceId'); NEW.permanentLocationId = (NEW.jsonb->>'permanentLocationId'); NEW.temporaryLocationId = (NEW.jsonb->>'temporaryLocationId'); NEW.effectiveLocationId = (NEW.jsonb->>'effectiveLocationId'); NEW.holdingsTypeId = (NEW.jsonb->>'holdingsTypeId'); NEW.callNumberTypeId = (NEW.jsonb->>'callNumberTypeId'); NEW.illPolicyId = (NEW.jsonb->>'illPolicyId'); NEW.sourceId = (NEW.jsonb->>'sourceId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_holdings_record_references() RETURNS TRIGGER AS $$ BEGIN NEW.instanceId = (NEW.jsonb->>'instanceId'); NEW.permanentLocationId = (NEW.jsonb->>'permanentLocationId'); NEW.temporaryLocationId = (NEW.jsonb->>'temporaryLocationId'); NEW.effectiveLocationId = (NEW.jsonb->>'effectiveLocationId'); NEW.holdingsTypeId = (NEW.jsonb->>'holdingsTypeId'); NEW.callNumberTypeId = (NEW.jsonb->>'callNumberTypeId'); NEW.illPolicyId = (NEW.jsonb->>'illPolicyId'); NEW.sourceId = (NEW.jsonb->>'sourceId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_holdings_record_references ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_holdings_record_references" for relation "test_tenant_mod_inventory_storage.holdings_record" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_holdings_record_references ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER update_holdings_record_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.holdings_record FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_holdings_record_references(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER update_holdings_record_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.holdings_record FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_holdings_record_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'instanceId_instance_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'permanentLocationId_location_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'temporaryLocationId_location_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'effectiveLocationId_location_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'holdingsTypeId_holdings_type_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'callNumberTypeId_call_number_type_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'illPolicyId_ill_policy_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'sourceId_holdings_records_source_fkey' || i; END LOOP; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'instanceId_instance_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'permanentLocationId_location_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'temporaryLocationId_location_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'effectiveLocationId_location_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'holdingsTypeId_holdings_type_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'callNumberTypeId_call_number_type_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'illPolicyId_ill_policy_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'sourceId_holdings_records_source_fkey' || i; END LOOP; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.holdings_record_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.holdings_record_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_holdings_record_md_trigger ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_holdings_record_md_trigger" for relation "test_tenant_mod_inventory_storage.holdings_record" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_holdings_record_md_trigger ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_holdings_record_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.holdings_record FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.holdings_record_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_holdings_record_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.holdings_record FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.holdings_record_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_holdings_record_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_holdings_record_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_holdings_record_md_json_trigger ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_holdings_record_md_json_trigger" for relation "test_tenant_mod_inventory_storage.holdings_record" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_holdings_record_md_json_trigger ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_holdings_record_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.holdings_record FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_holdings_record_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_holdings_record_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.holdings_record FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_holdings_record_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.holdings_record_set_ol_version() RETURNS trigger AS $$ BEGIN CASE TG_OP WHEN 'INSERT' THEN NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(1)); WHEN 'UPDATE' THEN IF NEW.jsonb->'_version' IS DISTINCT FROM OLD.jsonb->'_version' THEN RAISE NOTICE 'Ignoring optimistic locking conflict while overwriting changed record %: ' 'Stored _version is %, _version of request is %', OLD.id, OLD.jsonb->'_version', NEW.jsonb->'_version' USING ERRCODE = '23F09', TABLE = 'holdings_record', SCHEMA = 'test_tenant_mod_inventory_storage'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(COALESCE((OLD.jsonb->>'_version')::numeric + 1, 1))); END CASE; RETURN NEW; END; $$ LANGUAGE plpgsql; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.holdings_record_set_ol_version() RETURNS trigger AS $$ BEGIN CASE TG_OP WHEN 'INSERT' THEN NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(1)); WHEN 'UPDATE' THEN IF NEW.jsonb->'_version' IS DISTINCT FROM OLD.jsonb->'_version' THEN RAISE NOTICE 'Ignoring optimistic locking conflict while overwriting changed record %: ' 'Stored _version is %, _version of request is %', OLD.id, OLD.jsonb->'_version', NEW.jsonb->'_version' USING ERRCODE = '23F09', TABLE = 'holdings_record', SCHEMA = 'test_tenant_mod_inventory_storage'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(COALESCE((OLD.jsonb->>'_version')::numeric + 1, 1))); END CASE; RETURN NEW; END; $$ LANGUAGE plpgsql; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_holdings_record_ol_version_trigger ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_holdings_record_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.holdings_record" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_holdings_record_ol_version_trigger ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_holdings_record_ol_version_trigger BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.holdings_record FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.holdings_record_set_ol_version(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_holdings_record_ol_version_trigger BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.holdings_record FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.holdings_record_set_ol_version(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.audit_holdings_record_changes() RETURNS TRIGGER AS $holdings_record_audit$ DECLARE jsonb JSONB; uuidtext TEXT; uuid UUID; BEGIN jsonb = CASE WHEN TG_OP = 'DELETE' THEN OLD.jsonb ELSE NEW.jsonb END; -- create uuid based on the jsonb value so that concurrent updates of different records are possible. uuidtext = md5(jsonb::text); -- UUID version byte uuidtext = overlay(uuidtext placing '4' from 13); -- UUID variant byte uuidtext = overlay(uuidtext placing '8' from 17); uuid = uuidtext::uuid; -- If uuid is already in use increment until an unused is found. This can only happen if the jsonb content -- is exactly the same. This should be very rare when it includes a timestamp. WHILE EXISTS (SELECT 1 FROM test_tenant_mod_inventory_storage.audit_holdings_record WHERE id = uuid) LOOP uuid = test_tenant_mod_inventory_storage.next_uuid(uuid); END LOOP; jsonb = jsonb_build_object( 'id', to_jsonb(uuid::text), 'record', jsonb, 'operation', to_jsonb(left(TG_OP, 1)), 'createdDate', to_jsonb(current_timestamp::text)); IF (TG_OP = 'DELETE') THEN ELSIF (TG_OP = 'UPDATE') THEN ELSIF (TG_OP = 'INSERT') THEN END IF; INSERT INTO test_tenant_mod_inventory_storage.audit_holdings_record VALUES (uuid, jsonb); RETURN CASE WHEN TG_OP = 'DELETE' THEN OLD ELSE NEW END; END; $holdings_record_audit$ LANGUAGE plpgsql; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.audit_holdings_record_changes() RETURNS TRIGGER AS $holdings_record_audit$ DECLARE jsonb JSONB; uuidtext TEXT; uuid UUID; BEGIN jsonb = CASE WHEN TG_OP = 'DELETE' THEN OLD.jsonb ELSE NEW.jsonb END; -- create uuid based on the jsonb value so that concurrent updates of different records are possible. uuidtext = md5(jsonb::text); -- UUID version byte uuidtext = overlay(uuidtext placing '4' from 13); -- UUID variant byte uuidtext = overlay(uuidtext placing '8' from 17); uuid = uuidtext::uuid; -- If uuid is already in use increment until an unused is found. This can only happen if the jsonb content -- is exactly the same. This should be very rare when it includes a timestamp. WHILE EXISTS (SELECT 1 FROM test_tenant_mod_inventory_storage.audit_holdings_record WHERE id = uuid) LOOP uuid = test_tenant_mod_inventory_storage.next_uuid(uuid); END LOOP; jsonb = jsonb_build_object( 'id', to_jsonb(uuid::text), 'record', jsonb, 'operation', to_jsonb(left(TG_OP, 1)), 'createdDate', to_jsonb(current_timestamp::text)); IF (TG_OP = 'DELETE') THEN ELSIF (TG_OP = 'UPDATE') THEN ELSIF (TG_OP = 'INSERT') THEN END IF; INSERT INTO test_tenant_mod_inventory_storage.audit_holdings_record VALUES (uuid, jsonb); RETURN CASE WHEN TG_OP = 'DELETE' THEN OLD ELSE NEW END; END; $holdings_record_audit$ LANGUAGE plpgsql; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS audit_holdings_record ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "audit_holdings_record" for relation "test_tenant_mod_inventory_storage.holdings_record" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS audit_holdings_record ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER audit_holdings_record AFTER INSERT OR UPDATE OR DELETE ON test_tenant_mod_inventory_storage.holdings_record FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.audit_holdings_record_changes(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER audit_holdings_record AFTER INSERT OR UPDATE OR DELETE ON test_tenant_mod_inventory_storage.holdings_record FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.audit_holdings_record_changes(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS audit_holdings_record ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS audit_holdings_record ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER audit_holdings_record AFTER DELETE ON test_tenant_mod_inventory_storage.holdings_record FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.audit_holdings_record_changes(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER audit_holdings_record AFTER DELETE ON test_tenant_mod_inventory_storage.holdings_record FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.audit_holdings_record_changes(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.item ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.item ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.audit_item ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.audit_item ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_item ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_item" for relation "test_tenant_mod_inventory_storage.item" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_item ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.item" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_accessionNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_accessionNumber_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(jsonb->>'accessionNumber'),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_accessionnumber_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS item_accessionNumber_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'item', 'item_accessionNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_accessionNumber_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(jsonb->>'accessionNumber'),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_accessionNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_accessionNumber_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(jsonb->>'accessionNumber'),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_status_name_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_status_name_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(f_unaccent(jsonb->'status'->>'name')),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_status_name_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS item_status_name_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'item', 'item_status_name_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_status_name_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(f_unaccent(jsonb->'status'->>'name')),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_status_name_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_status_name_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(f_unaccent(jsonb->'status'->>'name')),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_callNumberAndSuffix_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_callNumberAndSuffix_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(concat_space_sql(item.jsonb->'effectiveCallNumberComponents'->>'callNumber' , item.jsonb->'effectiveCallNumberComponents'->>'suffix')),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_callnumberandsuffix_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS item_callNumberAndSuffix_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'item', 'item_callNumberAndSuffix_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_callNumberAndSuffix_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(concat_space_sql(item.jsonb->'effectiveCallNumberComponents'->>'callNumber' , item.jsonb->'effectiveCallNumberComponents'->>'suffix')),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_callNumberAndSuffix_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_callNumberAndSuffix_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(concat_space_sql(item.jsonb->'effectiveCallNumberComponents'->>'callNumber' , item.jsonb->'effectiveCallNumberComponents'->>'suffix')),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_fullCallNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_fullCallNumber_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(concat_space_sql(item.jsonb->'effectiveCallNumberComponents'->>'prefix' , item.jsonb->'effectiveCallNumberComponents'->>'callNumber' , item.jsonb->'effectiveCallNumberComponents'->>'suffix')),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_fullcallnumber_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS item_fullCallNumber_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'item', 'item_fullCallNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_fullCallNumber_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(concat_space_sql(item.jsonb->'effectiveCallNumberComponents'->>'prefix' , item.jsonb->'effectiveCallNumberComponents'->>'callNumber' , item.jsonb->'effectiveCallNumberComponents'->>'suffix')),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_fullCallNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_fullCallNumber_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(concat_space_sql(item.jsonb->'effectiveCallNumberComponents'->>'prefix' , item.jsonb->'effectiveCallNumberComponents'->>'callNumber' , item.jsonb->'effectiveCallNumberComponents'->>'suffix')),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_discoverySuppress_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_discoverySuppress_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(jsonb->>'discoverySuppress'),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_discoverysuppress_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS item_discoverySuppress_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'item', 'item_discoverySuppress_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_discoverySuppress_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(jsonb->>'discoverySuppress'),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_discoverySuppress_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_discoverySuppress_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(jsonb->>'discoverySuppress'),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_purchaseOrderLineIdentifier_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_purchaseOrderLineIdentifier_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(jsonb->>'purchaseOrderLineIdentifier'),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_purchaseorderlineidentifier_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS item_purchaseOrderLineIdentifier_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'item', 'item_purchaseOrderLineIdentifier_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_purchaseOrderLineIdentifier_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(jsonb->>'purchaseOrderLineIdentifier'),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_purchaseOrderLineIdentifier_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_purchaseOrderLineIdentifier_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(jsonb->>'purchaseOrderLineIdentifier'),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_effectiveCallNumberComponents_callNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_effectiveCallNumberComponents_callNumber_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(jsonb->'effectiveCallNumberComponents'->>'callNumber'),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_effectivecallnumbercomponents_callnumber_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS item_effectiveCallNumberComponents_callNumber_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'item', 'item_effectiveCallNumberComponents_callNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_effectiveCallNumberComponents_callNumber_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(jsonb->'effectiveCallNumberComponents'->>'callNumber'),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_effectiveCallNumberComponents_callNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_effectiveCallNumberComponents_callNumber_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(jsonb->'effectiveCallNumberComponents'->>'callNumber'),600))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_barcode_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS item_barcode_idx_unique ON test_tenant_mod_inventory_storage.item ' || $rmb$(lower(jsonb->>'barcode'))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_barcode_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS item_barcode_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'item', 'item_barcode_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS item_barcode_idx_unique ON test_tenant_mod_inventory_storage.item ' || $rmb$(lower(jsonb->>'barcode'))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_barcode_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS item_barcode_idx_unique ON test_tenant_mod_inventory_storage.item ' || $rmb$(lower(jsonb->>'barcode'))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_hrid_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS item_hrid_idx_unique ON test_tenant_mod_inventory_storage.item ' || $rmb$(lower(f_unaccent(jsonb->>'hrid')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_hrid_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS item_hrid_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'item', 'item_hrid_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS item_hrid_idx_unique ON test_tenant_mod_inventory_storage.item ' || $rmb$(lower(f_unaccent(jsonb->>'hrid')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_hrid_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS item_hrid_idx_unique ON test_tenant_mod_inventory_storage.item ' || $rmb$(lower(f_unaccent(jsonb->>'hrid')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_status_name_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS item_status_name_idx_gin ON test_tenant_mod_inventory_storage.item USING GIN ' || $rmb$((lower(f_unaccent(jsonb->'status'->>'name'))) public.gin_trgm_ops)$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_status_name_idx_gin" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS item_status_name_idx_gin" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'item', 'item_status_name_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS item_status_name_idx_gin ON test_tenant_mod_inventory_storage.item USING GIN ' || $rmb$((lower(f_unaccent(jsonb->'status'->>'name'))) public.gin_trgm_ops)$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_status_name_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS item_status_name_idx_gin ON test_tenant_mod_inventory_storage.item USING GIN ' || $rmb$((lower(f_unaccent(jsonb->'status'->>'name'))) public.gin_trgm_ops)$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_callNumberAndSuffixNormalized_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS item_callNumberAndSuffixNormalized_idx_ft ON test_tenant_mod_inventory_storage.item USING GIN ' || $rmb$( get_tsvector(normalize_item_call_number_and_suffix(jsonb)) )$rmb$); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_callnumberandsuffixnormalized_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS item_callNumberAndSuffixNormalized_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'item', 'item_callNumberAndSuffixNormalized_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS item_callNumberAndSuffixNormalized_idx_ft ON test_tenant_mod_inventory_storage.item USING GIN ' || $rmb$( get_tsvector(normalize_item_call_number_and_suffix(jsonb)) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_callNumberAndSuffixNormalized_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS item_callNumberAndSuffixNormalized_idx_ft ON test_tenant_mod_inventory_storage.item USING GIN ' || $rmb$( get_tsvector(normalize_item_call_number_and_suffix(jsonb)) )$rmb$); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_fullCallNumberNormalized_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS item_fullCallNumberNormalized_idx_ft ON test_tenant_mod_inventory_storage.item USING GIN ' || $rmb$( get_tsvector(normalize_item_full_call_number(jsonb)) )$rmb$); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_fullcallnumbernormalized_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS item_fullCallNumberNormalized_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'item', 'item_fullCallNumberNormalized_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS item_fullCallNumberNormalized_idx_ft ON test_tenant_mod_inventory_storage.item USING GIN ' || $rmb$( get_tsvector(normalize_item_full_call_number(jsonb)) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_fullCallNumberNormalized_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS item_fullCallNumberNormalized_idx_ft ON test_tenant_mod_inventory_storage.item USING GIN ' || $rmb$( get_tsvector(normalize_item_full_call_number(jsonb)) )$rmb$); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS holdingsRecordId UUID; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS holdingsRecordId UUID; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE item ADD CONSTRAINT holdingsRecordId_holdings_record_fkey FOREIGN KEY (holdingsRecordId) REFERENCES holdings_record; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE item ADD CONSTRAINT holdingsRecordId_holdings_record_fkey FOREIGN KEY (holdingsRecordId) REFERENCES holdings_record; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS item_holdingsRecordId_idx ON test_tenant_mod_inventory_storage.item (holdingsRecordId); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS item_holdingsRecordId_idx ON test_tenant_mod_inventory_storage.item (holdingsRecordId); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('item'); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('item'); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS permanentLoanTypeId UUID; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS permanentLoanTypeId UUID; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE item ADD CONSTRAINT permanentLoanTypeId_loan_type_fkey FOREIGN KEY (permanentLoanTypeId) REFERENCES loan_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE item ADD CONSTRAINT permanentLoanTypeId_loan_type_fkey FOREIGN KEY (permanentLoanTypeId) REFERENCES loan_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS item_permanentLoanTypeId_idx ON test_tenant_mod_inventory_storage.item (permanentLoanTypeId); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS item_permanentLoanTypeId_idx ON test_tenant_mod_inventory_storage.item (permanentLoanTypeId); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('item'); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('item'); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS temporaryLoanTypeId UUID; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS temporaryLoanTypeId UUID; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE item ADD CONSTRAINT temporaryLoanTypeId_loan_type_fkey FOREIGN KEY (temporaryLoanTypeId) REFERENCES loan_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE item ADD CONSTRAINT temporaryLoanTypeId_loan_type_fkey FOREIGN KEY (temporaryLoanTypeId) REFERENCES loan_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS item_temporaryLoanTypeId_idx ON test_tenant_mod_inventory_storage.item (temporaryLoanTypeId); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS item_temporaryLoanTypeId_idx ON test_tenant_mod_inventory_storage.item (temporaryLoanTypeId); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('item'); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('item'); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS materialTypeId UUID; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS materialTypeId UUID; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE item ADD CONSTRAINT materialTypeId_material_type_fkey FOREIGN KEY (materialTypeId) REFERENCES material_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE item ADD CONSTRAINT materialTypeId_material_type_fkey FOREIGN KEY (materialTypeId) REFERENCES material_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS item_materialTypeId_idx ON test_tenant_mod_inventory_storage.item (materialTypeId); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS item_materialTypeId_idx ON test_tenant_mod_inventory_storage.item (materialTypeId); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('item'); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('item'); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS permanentLocationId UUID; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS permanentLocationId UUID; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE item ADD CONSTRAINT permanentLocationId_location_fkey FOREIGN KEY (permanentLocationId) REFERENCES location; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE item ADD CONSTRAINT permanentLocationId_location_fkey FOREIGN KEY (permanentLocationId) REFERENCES location; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS item_permanentLocationId_idx ON test_tenant_mod_inventory_storage.item (permanentLocationId); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS item_permanentLocationId_idx ON test_tenant_mod_inventory_storage.item (permanentLocationId); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('item'); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('item'); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS temporaryLocationId UUID; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS temporaryLocationId UUID; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE item ADD CONSTRAINT temporaryLocationId_location_fkey FOREIGN KEY (temporaryLocationId) REFERENCES location; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE item ADD CONSTRAINT temporaryLocationId_location_fkey FOREIGN KEY (temporaryLocationId) REFERENCES location; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS item_temporaryLocationId_idx ON test_tenant_mod_inventory_storage.item (temporaryLocationId); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS item_temporaryLocationId_idx ON test_tenant_mod_inventory_storage.item (temporaryLocationId); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('item'); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('item'); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS effectiveLocationId UUID; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS effectiveLocationId UUID; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE item ADD CONSTRAINT effectiveLocationId_location_fkey FOREIGN KEY (effectiveLocationId) REFERENCES location; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE item ADD CONSTRAINT effectiveLocationId_location_fkey FOREIGN KEY (effectiveLocationId) REFERENCES location; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS item_effectiveLocationId_idx ON test_tenant_mod_inventory_storage.item (effectiveLocationId); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS item_effectiveLocationId_idx ON test_tenant_mod_inventory_storage.item (effectiveLocationId); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('item'); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('item'); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_item_references() RETURNS TRIGGER AS $$ BEGIN NEW.holdingsRecordId = (NEW.jsonb->>'holdingsRecordId'); NEW.permanentLoanTypeId = (NEW.jsonb->>'permanentLoanTypeId'); NEW.temporaryLoanTypeId = (NEW.jsonb->>'temporaryLoanTypeId'); NEW.materialTypeId = (NEW.jsonb->>'materialTypeId'); NEW.permanentLocationId = (NEW.jsonb->>'permanentLocationId'); NEW.temporaryLocationId = (NEW.jsonb->>'temporaryLocationId'); NEW.effectiveLocationId = (NEW.jsonb->>'effectiveLocationId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_item_references() RETURNS TRIGGER AS $$ BEGIN NEW.holdingsRecordId = (NEW.jsonb->>'holdingsRecordId'); NEW.permanentLoanTypeId = (NEW.jsonb->>'permanentLoanTypeId'); NEW.temporaryLoanTypeId = (NEW.jsonb->>'temporaryLoanTypeId'); NEW.materialTypeId = (NEW.jsonb->>'materialTypeId'); NEW.permanentLocationId = (NEW.jsonb->>'permanentLocationId'); NEW.temporaryLocationId = (NEW.jsonb->>'temporaryLocationId'); NEW.effectiveLocationId = (NEW.jsonb->>'effectiveLocationId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_item_references ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_item_references" for relation "test_tenant_mod_inventory_storage.item" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_item_references ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER update_item_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_item_references(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER update_item_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_item_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE item DROP CONSTRAINT IF EXISTS ' || 'holdingsRecordId_holdings_record_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE item DROP CONSTRAINT IF EXISTS ' || 'permanentLoanTypeId_loan_type_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE item DROP CONSTRAINT IF EXISTS ' || 'temporaryLoanTypeId_loan_type_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE item DROP CONSTRAINT IF EXISTS ' || 'materialTypeId_material_type_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE item DROP CONSTRAINT IF EXISTS ' || 'permanentLocationId_location_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE item DROP CONSTRAINT IF EXISTS ' || 'temporaryLocationId_location_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE item DROP CONSTRAINT IF EXISTS ' || 'effectiveLocationId_location_fkey' || i; END LOOP; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE item DROP CONSTRAINT IF EXISTS ' || 'holdingsRecordId_holdings_record_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE item DROP CONSTRAINT IF EXISTS ' || 'permanentLoanTypeId_loan_type_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE item DROP CONSTRAINT IF EXISTS ' || 'temporaryLoanTypeId_loan_type_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE item DROP CONSTRAINT IF EXISTS ' || 'materialTypeId_material_type_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE item DROP CONSTRAINT IF EXISTS ' || 'permanentLocationId_location_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE item DROP CONSTRAINT IF EXISTS ' || 'temporaryLocationId_location_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE item DROP CONSTRAINT IF EXISTS ' || 'effectiveLocationId_location_fkey' || i; END LOOP; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.item_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.item_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_item_md_trigger ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_item_md_trigger" for relation "test_tenant_mod_inventory_storage.item" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_item_md_trigger ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_item_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.item_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_item_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.item_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_item_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_item_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_item_md_json_trigger ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_item_md_json_trigger" for relation "test_tenant_mod_inventory_storage.item" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_item_md_json_trigger ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_item_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_item_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_item_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_item_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.item_set_ol_version() RETURNS trigger AS $$ BEGIN CASE TG_OP WHEN 'INSERT' THEN NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(1)); WHEN 'UPDATE' THEN IF NEW.jsonb->'_version' IS DISTINCT FROM OLD.jsonb->'_version' THEN RAISE NOTICE 'Ignoring optimistic locking conflict while overwriting changed record %: ' 'Stored _version is %, _version of request is %', OLD.id, OLD.jsonb->'_version', NEW.jsonb->'_version' USING ERRCODE = '23F09', TABLE = 'item', SCHEMA = 'test_tenant_mod_inventory_storage'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(COALESCE((OLD.jsonb->>'_version')::numeric + 1, 1))); END CASE; RETURN NEW; END; $$ LANGUAGE plpgsql; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.item_set_ol_version() RETURNS trigger AS $$ BEGIN CASE TG_OP WHEN 'INSERT' THEN NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(1)); WHEN 'UPDATE' THEN IF NEW.jsonb->'_version' IS DISTINCT FROM OLD.jsonb->'_version' THEN RAISE NOTICE 'Ignoring optimistic locking conflict while overwriting changed record %: ' 'Stored _version is %, _version of request is %', OLD.id, OLD.jsonb->'_version', NEW.jsonb->'_version' USING ERRCODE = '23F09', TABLE = 'item', SCHEMA = 'test_tenant_mod_inventory_storage'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(COALESCE((OLD.jsonb->>'_version')::numeric + 1, 1))); END CASE; RETURN NEW; END; $$ LANGUAGE plpgsql; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_item_ol_version_trigger ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_item_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.item" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_item_ol_version_trigger ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_item_ol_version_trigger BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.item_set_ol_version(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_item_ol_version_trigger BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.item_set_ol_version(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.audit_item_changes() RETURNS TRIGGER AS $item_audit$ DECLARE jsonb JSONB; uuidtext TEXT; uuid UUID; BEGIN jsonb = CASE WHEN TG_OP = 'DELETE' THEN OLD.jsonb ELSE NEW.jsonb END; -- create uuid based on the jsonb value so that concurrent updates of different records are possible. uuidtext = md5(jsonb::text); -- UUID version byte uuidtext = overlay(uuidtext placing '4' from 13); -- UUID variant byte uuidtext = overlay(uuidtext placing '8' from 17); uuid = uuidtext::uuid; -- If uuid is already in use increment until an unused is found. This can only happen if the jsonb content -- is exactly the same. This should be very rare when it includes a timestamp. WHILE EXISTS (SELECT 1 FROM test_tenant_mod_inventory_storage.audit_item WHERE id = uuid) LOOP uuid = test_tenant_mod_inventory_storage.next_uuid(uuid); END LOOP; jsonb = jsonb_build_object( 'id', to_jsonb(uuid::text), 'record', jsonb, 'operation', to_jsonb(left(TG_OP, 1)), 'createdDate', to_jsonb(current_timestamp::text)); IF (TG_OP = 'DELETE') THEN ELSIF (TG_OP = 'UPDATE') THEN ELSIF (TG_OP = 'INSERT') THEN END IF; INSERT INTO test_tenant_mod_inventory_storage.audit_item VALUES (uuid, jsonb); RETURN CASE WHEN TG_OP = 'DELETE' THEN OLD ELSE NEW END; END; $item_audit$ LANGUAGE plpgsql; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.audit_item_changes() RETURNS TRIGGER AS $item_audit$ DECLARE jsonb JSONB; uuidtext TEXT; uuid UUID; BEGIN jsonb = CASE WHEN TG_OP = 'DELETE' THEN OLD.jsonb ELSE NEW.jsonb END; -- create uuid based on the jsonb value so that concurrent updates of different records are possible. uuidtext = md5(jsonb::text); -- UUID version byte uuidtext = overlay(uuidtext placing '4' from 13); -- UUID variant byte uuidtext = overlay(uuidtext placing '8' from 17); uuid = uuidtext::uuid; -- If uuid is already in use increment until an unused is found. This can only happen if the jsonb content -- is exactly the same. This should be very rare when it includes a timestamp. WHILE EXISTS (SELECT 1 FROM test_tenant_mod_inventory_storage.audit_item WHERE id = uuid) LOOP uuid = test_tenant_mod_inventory_storage.next_uuid(uuid); END LOOP; jsonb = jsonb_build_object( 'id', to_jsonb(uuid::text), 'record', jsonb, 'operation', to_jsonb(left(TG_OP, 1)), 'createdDate', to_jsonb(current_timestamp::text)); IF (TG_OP = 'DELETE') THEN ELSIF (TG_OP = 'UPDATE') THEN ELSIF (TG_OP = 'INSERT') THEN END IF; INSERT INTO test_tenant_mod_inventory_storage.audit_item VALUES (uuid, jsonb); RETURN CASE WHEN TG_OP = 'DELETE' THEN OLD ELSE NEW END; END; $item_audit$ LANGUAGE plpgsql; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS audit_item ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "audit_item" for relation "test_tenant_mod_inventory_storage.item" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS audit_item ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER audit_item AFTER INSERT OR UPDATE OR DELETE ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.audit_item_changes(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER audit_item AFTER INSERT OR UPDATE OR DELETE ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.audit_item_changes(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS audit_item ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS audit_item ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER audit_item AFTER DELETE ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.audit_item_changes(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER audit_item AFTER DELETE ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.audit_item_changes(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.hrid_settings ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.hrid_settings ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_hrid_settings ON test_tenant_mod_inventory_storage.hrid_settings CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_hrid_settings" for relation "test_tenant_mod_inventory_storage.hrid_settings" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_hrid_settings ON test_tenant_mod_inventory_storage.hrid_settings CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.hrid_settings CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.hrid_settings" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.hrid_settings CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.hrid_settings FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.hrid_settings FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.hrid_settings DROP COLUMN IF EXISTS creation_date CASCADE, DROP COLUMN IF EXISTS created_by CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='column "creation_date" of relation "hrid_settings" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='7356', routine='ATExecDropColumn', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='column "created_by" of relation "hrid_settings" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='7356', routine='ATExecDropColumn', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.hrid_settings DROP COLUMN IF EXISTS creation_date CASCADE, DROP COLUMN IF EXISTS created_by CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_hrid_settings_references ON test_tenant_mod_inventory_storage.hrid_settings CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_hrid_settings_references" for relation "test_tenant_mod_inventory_storage.hrid_settings" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_hrid_settings_references ON test_tenant_mod_inventory_storage.hrid_settings CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_hrid_settings_references(); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_hrid_settings_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_hrid_settings_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.hrid_settings_set_md() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.hrid_settings_set_md() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.hrid_settings_set_md() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_hrid_settings_md_trigger ON test_tenant_mod_inventory_storage.hrid_settings CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_hrid_settings_md_trigger" for relation "test_tenant_mod_inventory_storage.hrid_settings" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_hrid_settings_md_trigger ON test_tenant_mod_inventory_storage.hrid_settings CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_hrid_settings_md_json() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.set_hrid_settings_md_json() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_hrid_settings_md_json() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_hrid_settings_md_json_trigger ON test_tenant_mod_inventory_storage.hrid_settings CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_hrid_settings_md_json_trigger" for relation "test_tenant_mod_inventory_storage.hrid_settings" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_hrid_settings_md_json_trigger ON test_tenant_mod_inventory_storage.hrid_settings CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_hrid_settings_ol_version_trigger ON test_tenant_mod_inventory_storage.hrid_settings CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_hrid_settings_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.hrid_settings" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_hrid_settings_ol_version_trigger ON test_tenant_mod_inventory_storage.hrid_settings CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.hrid_settings_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.hrid_settings_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.hrid_settings_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.hrid_settings ADD COLUMN IF NOT EXISTS lock boolean DEFAULT true UNIQUE CHECK(lock=true); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.hrid_settings ADD COLUMN IF NOT EXISTS lock boolean DEFAULT true UNIQUE CHECK(lock=true); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO test_tenant_mod_inventory_storage.hrid_settings SELECT 'a501f2a8-5b31-48b2-874d-2191e48db8cd', jsonb_build_object( 'instances', jsonb_build_object('prefix', 'in', 'startNumber', 1), 'holdings', jsonb_build_object('prefix', 'ho', 'startNumber', 1), 'items', jsonb_build_object('prefix', 'it', 'startNumber', 1) ) ON CONFLICT DO NOTHING; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO test_tenant_mod_inventory_storage.hrid_settings SELECT 'a501f2a8-5b31-48b2-874d-2191e48db8cd', jsonb_build_object( 'instances', jsonb_build_object('prefix', 'in', 'startNumber', 1), 'holdings', jsonb_build_object('prefix', 'ho', 'startNumber', 1), 'items', jsonb_build_object('prefix', 'it', 'startNumber', 1) ) ON CONFLICT DO NOTHING; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE SEQUENCE IF NOT EXISTS test_tenant_mod_inventory_storage.hrid_instances_seq AS INT INCREMENT BY 1 START WITH 1 MAXVALUE 99999999 OWNED BY test_tenant_mod_inventory_storage.hrid_settings.jsonb; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE SEQUENCE IF NOT EXISTS test_tenant_mod_inventory_storage.hrid_instances_seq AS INT INCREMENT BY 1 START WITH 1 MAXVALUE 99999999 OWNED BY test_tenant_mod_inventory_storage.hrid_settings.jsonb; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE SEQUENCE IF NOT EXISTS test_tenant_mod_inventory_storage.hrid_holdings_seq AS INT INCREMENT BY 1 START WITH 1 MAXVALUE 99999999; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE SEQUENCE IF NOT EXISTS test_tenant_mod_inventory_storage.hrid_holdings_seq AS INT INCREMENT BY 1 START WITH 1 MAXVALUE 99999999; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE SEQUENCE IF NOT EXISTS test_tenant_mod_inventory_storage.hrid_items_seq AS INT INCREMENT BY 1 START WITH 1 MAXVALUE 99999999; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE SEQUENCE IF NOT EXISTS test_tenant_mod_inventory_storage.hrid_items_seq AS INT INCREMENT BY 1 START WITH 1 MAXVALUE 99999999; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} GRANT ALL ON SEQUENCE test_tenant_mod_inventory_storage.hrid_instances_seq TO test_tenant_mod_inventory_storage; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed GRANT ALL ON SEQUENCE test_tenant_mod_inventory_storage.hrid_instances_seq TO test_tenant_mod_inventory_storage; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} GRANT ALL ON SEQUENCE test_tenant_mod_inventory_storage.hrid_holdings_seq TO test_tenant_mod_inventory_storage; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed GRANT ALL ON SEQUENCE test_tenant_mod_inventory_storage.hrid_holdings_seq TO test_tenant_mod_inventory_storage; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} GRANT ALL ON SEQUENCE test_tenant_mod_inventory_storage.hrid_items_seq TO test_tenant_mod_inventory_storage; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed GRANT ALL ON SEQUENCE test_tenant_mod_inventory_storage.hrid_items_seq TO test_tenant_mod_inventory_storage; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.preceding_succeeding_title ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.preceding_succeeding_title ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_preceding_succeeding_title ON test_tenant_mod_inventory_storage.preceding_succeeding_title CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_preceding_succeeding_title" for relation "test_tenant_mod_inventory_storage.preceding_succeeding_title" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_preceding_succeeding_title ON test_tenant_mod_inventory_storage.preceding_succeeding_title CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.preceding_succeeding_title CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.preceding_succeeding_title" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.preceding_succeeding_title CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.preceding_succeeding_title FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.preceding_succeeding_title FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.preceding_succeeding_title ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.preceding_succeeding_title ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.preceding_succeeding_title ADD COLUMN IF NOT EXISTS precedingInstanceId UUID; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.preceding_succeeding_title ADD COLUMN IF NOT EXISTS precedingInstanceId UUID; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE preceding_succeeding_title ADD CONSTRAINT precedingInstanceId_instance_fkey FOREIGN KEY (precedingInstanceId) REFERENCES instance; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE preceding_succeeding_title ADD CONSTRAINT precedingInstanceId_instance_fkey FOREIGN KEY (precedingInstanceId) REFERENCES instance; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS preceding_succeeding_title_precedingInstanceId_idx ON test_tenant_mod_inventory_storage.preceding_succeeding_title (precedingInstanceId); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS preceding_succeeding_title_precedingInstanceId_idx ON test_tenant_mod_inventory_storage.preceding_succeeding_title (precedingInstanceId); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('preceding_succeeding_title'); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('preceding_succeeding_title'); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.preceding_succeeding_title ADD COLUMN IF NOT EXISTS succeedingInstanceId UUID; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.preceding_succeeding_title ADD COLUMN IF NOT EXISTS succeedingInstanceId UUID; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE preceding_succeeding_title ADD CONSTRAINT succeedingInstanceId_instance_fkey FOREIGN KEY (succeedingInstanceId) REFERENCES instance; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE preceding_succeeding_title ADD CONSTRAINT succeedingInstanceId_instance_fkey FOREIGN KEY (succeedingInstanceId) REFERENCES instance; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS preceding_succeeding_title_succeedingInstanceId_idx ON test_tenant_mod_inventory_storage.preceding_succeeding_title (succeedingInstanceId); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS preceding_succeeding_title_succeedingInstanceId_idx ON test_tenant_mod_inventory_storage.preceding_succeeding_title (succeedingInstanceId); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('preceding_succeeding_title'); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('preceding_succeeding_title'); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_preceding_succeeding_title_references() RETURNS TRIGGER AS $$ BEGIN NEW.precedingInstanceId = (NEW.jsonb->>'precedingInstanceId'); NEW.succeedingInstanceId = (NEW.jsonb->>'succeedingInstanceId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_preceding_succeeding_title_references() RETURNS TRIGGER AS $$ BEGIN NEW.precedingInstanceId = (NEW.jsonb->>'precedingInstanceId'); NEW.succeedingInstanceId = (NEW.jsonb->>'succeedingInstanceId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_preceding_succeeding_title_references ON test_tenant_mod_inventory_storage.preceding_succeeding_title CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_preceding_succeeding_title_references" for relation "test_tenant_mod_inventory_storage.preceding_succeeding_title" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_preceding_succeeding_title_references ON test_tenant_mod_inventory_storage.preceding_succeeding_title CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER update_preceding_succeeding_title_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.preceding_succeeding_title FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_preceding_succeeding_title_references(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER update_preceding_succeeding_title_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.preceding_succeeding_title FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_preceding_succeeding_title_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE preceding_succeeding_title DROP CONSTRAINT IF EXISTS ' || 'precedingInstanceId_instance_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE preceding_succeeding_title DROP CONSTRAINT IF EXISTS ' || 'succeedingInstanceId_instance_fkey' || i; END LOOP; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE preceding_succeeding_title DROP CONSTRAINT IF EXISTS ' || 'precedingInstanceId_instance_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE preceding_succeeding_title DROP CONSTRAINT IF EXISTS ' || 'succeedingInstanceId_instance_fkey' || i; END LOOP; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.preceding_succeeding_title_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.preceding_succeeding_title_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_preceding_succeeding_title_md_trigger ON test_tenant_mod_inventory_storage.preceding_succeeding_title CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_preceding_succeeding_title_md_trigger" for relation "test_tenant_mod_inventory_storage.preceding_succeeding_title" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_preceding_succeeding_title_md_trigger ON test_tenant_mod_inventory_storage.preceding_succeeding_title CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_preceding_succeeding_title_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.preceding_succeeding_title FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.preceding_succeeding_title_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_preceding_succeeding_title_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.preceding_succeeding_title FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.preceding_succeeding_title_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_preceding_succeeding_title_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_preceding_succeeding_title_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_preceding_succeeding_title_md_json_trigger ON test_tenant_mod_inventory_storage.preceding_succeeding_title CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_preceding_succeeding_title_md_json_trigger" for relation "test_tenant_mod_inventory_storage.preceding_succeeding_title" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_preceding_succeeding_title_md_json_trigger ON test_tenant_mod_inventory_storage.preceding_succeeding_title CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_preceding_succeeding_title_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.preceding_succeeding_title FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_preceding_succeeding_title_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_preceding_succeeding_title_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.preceding_succeeding_title FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_preceding_succeeding_title_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_preceding_succeeding_title_ol_version_trigger ON test_tenant_mod_inventory_storage.preceding_succeeding_title CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_preceding_succeeding_title_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.preceding_succeeding_title" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_preceding_succeeding_title_ol_version_trigger ON test_tenant_mod_inventory_storage.preceding_succeeding_title CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.preceding_succeeding_title_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.preceding_succeeding_title_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.preceding_succeeding_title_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.preceding_succeeding_title DROP CONSTRAINT IF EXISTS preceding_or_succeeding_id_is_set; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='constraint "preceding_or_succeeding_id_is_set" of relation "preceding_succeeding_title" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='10488', routine='ATExecDropConstraint', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.preceding_succeeding_title DROP CONSTRAINT IF EXISTS preceding_or_succeeding_id_is_set; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.preceding_succeeding_title ADD CONSTRAINT preceding_or_succeeding_id_is_set CHECK( jsonb->'precedingInstanceId' IS NOT NULL OR jsonb->'succeedingInstanceId' IS NOT NULL); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.preceding_succeeding_title ADD CONSTRAINT preceding_or_succeeding_id_is_set CHECK( jsonb->'precedingInstanceId' IS NOT NULL OR jsonb->'succeedingInstanceId' IS NOT NULL); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.reindex_job ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.reindex_job ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_reindex_job ON test_tenant_mod_inventory_storage.reindex_job CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_reindex_job" for relation "test_tenant_mod_inventory_storage.reindex_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_reindex_job ON test_tenant_mod_inventory_storage.reindex_job CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.reindex_job CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.reindex_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.reindex_job CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.reindex_job FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.reindex_job FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.reindex_job DROP COLUMN IF EXISTS creation_date CASCADE, DROP COLUMN IF EXISTS created_by CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='column "creation_date" of relation "reindex_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='7356', routine='ATExecDropColumn', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='column "created_by" of relation "reindex_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='7356', routine='ATExecDropColumn', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.reindex_job DROP COLUMN IF EXISTS creation_date CASCADE, DROP COLUMN IF EXISTS created_by CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_reindex_job_references ON test_tenant_mod_inventory_storage.reindex_job CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_reindex_job_references" for relation "test_tenant_mod_inventory_storage.reindex_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_reindex_job_references ON test_tenant_mod_inventory_storage.reindex_job CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_reindex_job_references(); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_reindex_job_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_reindex_job_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.reindex_job_set_md() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.reindex_job_set_md() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.reindex_job_set_md() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_reindex_job_md_trigger ON test_tenant_mod_inventory_storage.reindex_job CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_reindex_job_md_trigger" for relation "test_tenant_mod_inventory_storage.reindex_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_reindex_job_md_trigger ON test_tenant_mod_inventory_storage.reindex_job CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_reindex_job_md_json() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.set_reindex_job_md_json() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_reindex_job_md_json() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_reindex_job_md_json_trigger ON test_tenant_mod_inventory_storage.reindex_job CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_reindex_job_md_json_trigger" for relation "test_tenant_mod_inventory_storage.reindex_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_reindex_job_md_json_trigger ON test_tenant_mod_inventory_storage.reindex_job CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_reindex_job_ol_version_trigger ON test_tenant_mod_inventory_storage.reindex_job CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_reindex_job_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.reindex_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_reindex_job_ol_version_trigger ON test_tenant_mod_inventory_storage.reindex_job CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.reindex_job_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.reindex_job_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.reindex_job_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.bound_with_part ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.bound_with_part ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_bound_with_part ON test_tenant_mod_inventory_storage.bound_with_part CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_bound_with_part" for relation "test_tenant_mod_inventory_storage.bound_with_part" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_bound_with_part ON test_tenant_mod_inventory_storage.bound_with_part CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.bound_with_part CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.bound_with_part" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.bound_with_part CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.bound_with_part FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.bound_with_part FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.bound_with_part ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.bound_with_part ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'bound_with_part', 'bound_with_part_itemId_holdingsRecordId_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS bound_with_part_itemId_holdingsRecordId_idx_unique ON test_tenant_mod_inventory_storage.bound_with_part ' || $rmb$(lower(f_unaccent(jsonb->>'itemId')) , lower(f_unaccent(jsonb->>'holdingsRecordId')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "bound_with_part_itemid_holdingsrecordid_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS bound_with_part_itemId_holdingsRecordId_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'bound_with_part', 'bound_with_part_itemId_holdingsRecordId_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS bound_with_part_itemId_holdingsRecordId_idx_unique ON test_tenant_mod_inventory_storage.bound_with_part ' || $rmb$(lower(f_unaccent(jsonb->>'itemId')) , lower(f_unaccent(jsonb->>'holdingsRecordId')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'bound_with_part', 'bound_with_part_itemId_holdingsRecordId_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS bound_with_part_itemId_holdingsRecordId_idx_unique ON test_tenant_mod_inventory_storage.bound_with_part ' || $rmb$(lower(f_unaccent(jsonb->>'itemId')) , lower(f_unaccent(jsonb->>'holdingsRecordId')))$rmb$ ); END $do$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.bound_with_part ADD COLUMN IF NOT EXISTS itemId UUID; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.bound_with_part ADD COLUMN IF NOT EXISTS itemId UUID; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE bound_with_part ADD CONSTRAINT itemId_item_fkey FOREIGN KEY (itemId) REFERENCES item; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE bound_with_part ADD CONSTRAINT itemId_item_fkey FOREIGN KEY (itemId) REFERENCES item; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS bound_with_part_itemId_idx ON test_tenant_mod_inventory_storage.bound_with_part (itemId); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS bound_with_part_itemId_idx ON test_tenant_mod_inventory_storage.bound_with_part (itemId); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('bound_with_part'); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('bound_with_part'); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.bound_with_part ADD COLUMN IF NOT EXISTS holdingsRecordId UUID; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.bound_with_part ADD COLUMN IF NOT EXISTS holdingsRecordId UUID; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE bound_with_part ADD CONSTRAINT holdingsRecordId_holdings_record_fkey FOREIGN KEY (holdingsRecordId) REFERENCES holdings_record; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE bound_with_part ADD CONSTRAINT holdingsRecordId_holdings_record_fkey FOREIGN KEY (holdingsRecordId) REFERENCES holdings_record; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS bound_with_part_holdingsRecordId_idx ON test_tenant_mod_inventory_storage.bound_with_part (holdingsRecordId); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS bound_with_part_holdingsRecordId_idx ON test_tenant_mod_inventory_storage.bound_with_part (holdingsRecordId); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('bound_with_part'); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('bound_with_part'); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_bound_with_part_references() RETURNS TRIGGER AS $$ BEGIN NEW.itemId = (NEW.jsonb->>'itemId'); NEW.holdingsRecordId = (NEW.jsonb->>'holdingsRecordId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_bound_with_part_references() RETURNS TRIGGER AS $$ BEGIN NEW.itemId = (NEW.jsonb->>'itemId'); NEW.holdingsRecordId = (NEW.jsonb->>'holdingsRecordId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_bound_with_part_references ON test_tenant_mod_inventory_storage.bound_with_part CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_bound_with_part_references" for relation "test_tenant_mod_inventory_storage.bound_with_part" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_bound_with_part_references ON test_tenant_mod_inventory_storage.bound_with_part CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER update_bound_with_part_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.bound_with_part FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_bound_with_part_references(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER update_bound_with_part_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.bound_with_part FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_bound_with_part_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE bound_with_part DROP CONSTRAINT IF EXISTS ' || 'itemId_item_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE bound_with_part DROP CONSTRAINT IF EXISTS ' || 'holdingsRecordId_holdings_record_fkey' || i; END LOOP; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE bound_with_part DROP CONSTRAINT IF EXISTS ' || 'itemId_item_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE bound_with_part DROP CONSTRAINT IF EXISTS ' || 'holdingsRecordId_holdings_record_fkey' || i; END LOOP; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.bound_with_part_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.bound_with_part_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_bound_with_part_md_trigger ON test_tenant_mod_inventory_storage.bound_with_part CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_bound_with_part_md_trigger" for relation "test_tenant_mod_inventory_storage.bound_with_part" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_bound_with_part_md_trigger ON test_tenant_mod_inventory_storage.bound_with_part CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_bound_with_part_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.bound_with_part FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.bound_with_part_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_bound_with_part_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.bound_with_part FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.bound_with_part_set_md(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_bound_with_part_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_bound_with_part_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_bound_with_part_md_json_trigger ON test_tenant_mod_inventory_storage.bound_with_part CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_bound_with_part_md_json_trigger" for relation "test_tenant_mod_inventory_storage.bound_with_part" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_bound_with_part_md_json_trigger ON test_tenant_mod_inventory_storage.bound_with_part CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_bound_with_part_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.bound_with_part FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_bound_with_part_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_bound_with_part_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.bound_with_part FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_bound_with_part_md_json(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_bound_with_part_ol_version_trigger ON test_tenant_mod_inventory_storage.bound_with_part CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_bound_with_part_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.bound_with_part" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_bound_with_part_ol_version_trigger ON test_tenant_mod_inventory_storage.bound_with_part CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.bound_with_part_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.bound_with_part_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.bound_with_part_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.notification_sending_error ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.notification_sending_error ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_notification_sending_error ON test_tenant_mod_inventory_storage.notification_sending_error CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_notification_sending_error" for relation "test_tenant_mod_inventory_storage.notification_sending_error" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_notification_sending_error ON test_tenant_mod_inventory_storage.notification_sending_error CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.notification_sending_error CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.notification_sending_error" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.notification_sending_error CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.notification_sending_error FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.notification_sending_error FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.notification_sending_error DROP COLUMN IF EXISTS creation_date CASCADE, DROP COLUMN IF EXISTS created_by CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='column "creation_date" of relation "notification_sending_error" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='7356', routine='ATExecDropColumn', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='column "created_by" of relation "notification_sending_error" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='7356', routine='ATExecDropColumn', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.notification_sending_error DROP COLUMN IF EXISTS creation_date CASCADE, DROP COLUMN IF EXISTS created_by CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_notification_sending_error_references ON test_tenant_mod_inventory_storage.notification_sending_error CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_notification_sending_error_references" for relation "test_tenant_mod_inventory_storage.notification_sending_error" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_notification_sending_error_references ON test_tenant_mod_inventory_storage.notification_sending_error CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_notification_sending_error_references(); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_notification_sending_error_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_notification_sending_error_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.notification_sending_error_set_md() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.notification_sending_error_set_md() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.notification_sending_error_set_md() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_notification_sending_error_md_trigger ON test_tenant_mod_inventory_storage.notification_sending_error CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_notification_sending_error_md_trigger" for relation "test_tenant_mod_inventory_storage.notification_sending_error" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_notification_sending_error_md_trigger ON test_tenant_mod_inventory_storage.notification_sending_error CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_notification_sending_error_md_json() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.set_notification_sending_error_md_json() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_notification_sending_error_md_json() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_notification_sending_error_md_json_trigger ON test_tenant_mod_inventory_storage.notification_sending_error CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_notification_sending_error_md_json_trigger" for relation "test_tenant_mod_inventory_storage.notification_sending_error" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_notification_sending_error_md_json_trigger ON test_tenant_mod_inventory_storage.notification_sending_error CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_notification_sending_error_ol_version_trigger ON test_tenant_mod_inventory_storage.notification_sending_error CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_notification_sending_error_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.notification_sending_error" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_notification_sending_error_ol_version_trigger ON test_tenant_mod_inventory_storage.notification_sending_error CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.notification_sending_error_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.notification_sending_error_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.notification_sending_error_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.iteration_job ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.iteration_job ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_iteration_job ON test_tenant_mod_inventory_storage.iteration_job CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_iteration_job" for relation "test_tenant_mod_inventory_storage.iteration_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_iteration_job ON test_tenant_mod_inventory_storage.iteration_job CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.iteration_job CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.iteration_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.iteration_job CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.iteration_job FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.iteration_job FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.iteration_job DROP COLUMN IF EXISTS creation_date CASCADE, DROP COLUMN IF EXISTS created_by CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='column "creation_date" of relation "iteration_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='7356', routine='ATExecDropColumn', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='column "created_by" of relation "iteration_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='7356', routine='ATExecDropColumn', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.iteration_job DROP COLUMN IF EXISTS creation_date CASCADE, DROP COLUMN IF EXISTS created_by CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_iteration_job_references ON test_tenant_mod_inventory_storage.iteration_job CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_iteration_job_references" for relation "test_tenant_mod_inventory_storage.iteration_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_iteration_job_references ON test_tenant_mod_inventory_storage.iteration_job CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_iteration_job_references(); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_iteration_job_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_iteration_job_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.iteration_job_set_md() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.iteration_job_set_md() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.iteration_job_set_md() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_iteration_job_md_trigger ON test_tenant_mod_inventory_storage.iteration_job CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_iteration_job_md_trigger" for relation "test_tenant_mod_inventory_storage.iteration_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_iteration_job_md_trigger ON test_tenant_mod_inventory_storage.iteration_job CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_iteration_job_md_json() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.set_iteration_job_md_json() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_iteration_job_md_json() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_iteration_job_md_json_trigger ON test_tenant_mod_inventory_storage.iteration_job CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_iteration_job_md_json_trigger" for relation "test_tenant_mod_inventory_storage.iteration_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_iteration_job_md_json_trigger ON test_tenant_mod_inventory_storage.iteration_job CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_iteration_job_ol_version_trigger ON test_tenant_mod_inventory_storage.iteration_job CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_iteration_job_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.iteration_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_iteration_job_ol_version_trigger ON test_tenant_mod_inventory_storage.iteration_job CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.iteration_job_set_ol_version() CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.iteration_job_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.iteration_job_set_ol_version() CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} START TRANSACTION; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='WARNING', code='25001', message='there is already a transaction in progress', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='xact.c', line='3630', routine='BeginTransactionBlock', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed START TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance DISABLE TRIGGER USER; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance DISABLE TRIGGER USER; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.instance SET jsonb = JSONB_SET(instance.jsonb, '{previouslyHeld}', TO_JSONB(false)) WHERE jsonb->>'previouslyHeld' IS NULL; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.instance SET jsonb = JSONB_SET(instance.jsonb, '{previouslyHeld}', TO_JSONB(false)) WHERE jsonb->>'previouslyHeld' IS NULL; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance ENABLE TRIGGER USER; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance ENABLE TRIGGER USER; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} END TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed END TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} START TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed START TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.holdings_record SET jsonb = JSONB_SET(holdings_record.jsonb, '{effectiveLocationId}', TO_JSONB(holdings_record.jsonb->>'temporaryLocationId')) WHERE jsonb->>'temporaryLocationId' IS NOT NULL; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.holdings_record SET jsonb = JSONB_SET(holdings_record.jsonb, '{effectiveLocationId}', TO_JSONB(holdings_record.jsonb->>'temporaryLocationId')) WHERE jsonb->>'temporaryLocationId' IS NOT NULL; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.holdings_record SET jsonb = JSONB_SET(holdings_record.jsonb, '{effectiveLocationId}', TO_JSONB(holdings_record.jsonb->>'permanentLocationId')) WHERE jsonb->>'temporaryLocationId' IS NULL; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.holdings_record SET jsonb = JSONB_SET(holdings_record.jsonb, '{effectiveLocationId}', TO_JSONB(holdings_record.jsonb->>'permanentLocationId')) WHERE jsonb->>'temporaryLocationId' IS NULL; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} END TRANSACTION;DROP TRIGGER IF EXISTS update_effective_location_for_items ON test_tenant_mod_inventory_storage.holdings_record; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_effective_location_for_items" for relation "test_tenant_mod_inventory_storage.holdings_record" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed END TRANSACTION;DROP TRIGGER IF EXISTS update_effective_location_for_items ON test_tenant_mod_inventory_storage.holdings_record; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_effective_location ON test_tenant_mod_inventory_storage.item; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_effective_location" for relation "test_tenant_mod_inventory_storage.item" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_effective_location ON test_tenant_mod_inventory_storage.item; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} START TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed START TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.hrid_settings SET jsonb = (SELECT jsonb_insert(jsonb, '{commonRetainLeadingZeroes}','true', true) FROM test_tenant_mod_inventory_storage.hrid_settings WHERE id = 'a501f2a8-5b31-48b2-874d-2191e48db8cd') WHERE id = 'a501f2a8-5b31-48b2-874d-2191e48db8cd' and jsonb->>'commonRetainLeadingZeroes' is NULL; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.hrid_settings SET jsonb = (SELECT jsonb_insert(jsonb, '{commonRetainLeadingZeroes}','true', true) FROM test_tenant_mod_inventory_storage.hrid_settings WHERE id = 'a501f2a8-5b31-48b2-874d-2191e48db8cd') WHERE id = 'a501f2a8-5b31-48b2-874d-2191e48db8cd' and jsonb->>'commonRetainLeadingZeroes' is NULL; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} END TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed END TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} START TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed START TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item DISABLE TRIGGER USER; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item DISABLE TRIGGER USER; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.item AS it SET jsonb = JSONB_SET(it.jsonb, '{effectiveLocationId}', COALESCE( it.jsonb->'temporaryLocationId', it.jsonb->'permanentLocationId', hr.jsonb->'temporaryLocationId', hr.jsonb->'permanentLocationId' )), effectivelocationid = COALESCE( it.jsonb->>'temporaryLocationId', it.jsonb->>'permanentLocationId', hr.jsonb->>'temporaryLocationId', hr.jsonb->>'permanentLocationId' )::uuid FROM test_tenant_mod_inventory_storage.holdings_record AS hr WHERE hr.id = it.holdingsrecordid; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.item AS it SET jsonb = JSONB_SET(it.jsonb, '{effectiveLocationId}', COALESCE( it.jsonb->'temporaryLocationId', it.jsonb->'permanentLocationId', hr.jsonb->'temporaryLocationId', hr.jsonb->'permanentLocationId' )), effectivelocationid = COALESCE( it.jsonb->>'temporaryLocationId', it.jsonb->>'permanentLocationId', hr.jsonb->>'temporaryLocationId', hr.jsonb->>'permanentLocationId' )::uuid FROM test_tenant_mod_inventory_storage.holdings_record AS hr WHERE hr.id = it.holdingsrecordid; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item ENABLE TRIGGER USER; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item ENABLE TRIGGER USER; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} END TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed END TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} START TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed START TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item DISABLE TRIGGER USER; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item DISABLE TRIGGER USER; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.item SET effectiveLocationId = (jsonb->>'effectiveLocationId')::uuid; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.item SET effectiveLocationId = (jsonb->>'effectiveLocationId')::uuid; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item ENABLE TRIGGER USER; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item ENABLE TRIGGER USER; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} END TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed END TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} START TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed START TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item DISABLE TRIGGER USER; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item DISABLE TRIGGER USER; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.item AS it SET jsonb = JSONB_SET( it.jsonb, '{effectiveCallNumberComponents}', jsonb_build_object( 'callNumber', COALESCE(it.jsonb->'itemLevelCallNumber', hr.jsonb->'callNumber'), 'prefix', COALESCE(it.jsonb->'itemLevelCallNumberPrefix', hr.jsonb->'callNumberPrefix'), 'suffix', COALESCE(it.jsonb->'itemLevelCallNumberSuffix', hr.jsonb->'callNumberSuffix'), 'typeId', COALESCE(it.jsonb->'itemLevelCallNumberTypeId', hr.jsonb->'callNumberTypeId') ) ) FROM test_tenant_mod_inventory_storage.holdings_record AS hr WHERE hr.id = it.holdingsrecordid; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.item AS it SET jsonb = JSONB_SET( it.jsonb, '{effectiveCallNumberComponents}', jsonb_build_object( 'callNumber', COALESCE(it.jsonb->'itemLevelCallNumber', hr.jsonb->'callNumber'), 'prefix', COALESCE(it.jsonb->'itemLevelCallNumberPrefix', hr.jsonb->'callNumberPrefix'), 'suffix', COALESCE(it.jsonb->'itemLevelCallNumberSuffix', hr.jsonb->'callNumberSuffix'), 'typeId', COALESCE(it.jsonb->'itemLevelCallNumberTypeId', hr.jsonb->'callNumberTypeId') ) ) FROM test_tenant_mod_inventory_storage.holdings_record AS hr WHERE hr.id = it.holdingsrecordid; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item ENABLE TRIGGER USER; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item ENABLE TRIGGER USER; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} END TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed END TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_hrid ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_hrid" for relation "test_tenant_mod_inventory_storage.instance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_hrid ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_instance_hrid CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.set_instance_hrid() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_instance_hrid CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP SEQUENCE IF EXISTS test_tenant_mod_inventory_storage.instance_hrid_seq CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='sequence "instance_hrid_seq" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP SEQUENCE IF EXISTS test_tenant_mod_inventory_storage.instance_hrid_seq CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_holdings_record_hrid ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_holdings_record_hrid" for relation "test_tenant_mod_inventory_storage.holdings_record" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_holdings_record_hrid ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_holdings_record_hrid CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.set_holdings_record_hrid() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_holdings_record_hrid CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP SEQUENCE IF EXISTS test_tenant_mod_inventory_storage.holdings_record_hrid_seq CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='sequence "holdings_record_hrid_seq" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP SEQUENCE IF EXISTS test_tenant_mod_inventory_storage.holdings_record_hrid_seq CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_item_hrid ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_item_hrid" for relation "test_tenant_mod_inventory_storage.item" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_item_hrid ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_item_hrid CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.set_item_hrid() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_item_hrid CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP SEQUENCE IF EXISTS test_tenant_mod_inventory_storage.item_hrid_seq CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='sequence "item_hrid_seq" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP SEQUENCE IF EXISTS test_tenant_mod_inventory_storage.item_hrid_seq CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_status_updated_date() RETURNS trigger AS $function$ BEGIN IF (OLD.jsonb->'statusId' IS DISTINCT FROM NEW.jsonb->'statusId') THEN -- Date time in "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" format at UTC (00:00) time zone NEW.jsonb = jsonb_set( NEW.jsonb, '{statusUpdatedDate}', to_jsonb(to_char(CURRENT_TIMESTAMP(3) AT TIME ZONE 'UTC', 'YYYY-MM-DD"T"HH24:MI:SS.ms"Z"')) ); END IF; RETURN NEW; END; $function$ LANGUAGE plpgsql; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_status_updated_date() RETURNS trigger AS $function$ BEGIN IF (OLD.jsonb->'statusId' IS DISTINCT FROM NEW.jsonb->'statusId') THEN -- Date time in "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" format at UTC (00:00) time zone NEW.jsonb = jsonb_set( NEW.jsonb, '{statusUpdatedDate}', to_jsonb(to_char(CURRENT_TIMESTAMP(3) AT TIME ZONE 'UTC', 'YYYY-MM-DD"T"HH24:MI:SS.ms"Z"')) ); END IF; RETURN NEW; END; $function$ LANGUAGE plpgsql; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_status_updated_date ON test_tenant_mod_inventory_storage.instance; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_status_updated_date" for relation "test_tenant_mod_inventory_storage.instance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_status_updated_date ON test_tenant_mod_inventory_storage.instance; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_status_updated_date BEFORE UPDATE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_status_updated_date(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_status_updated_date BEFORE UPDATE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_status_updated_date(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_item_status_date() RETURNS TRIGGER AS $$ DECLARE newStatus text; BEGIN newStatus = NEW.jsonb->'status'->>'name'; IF (newStatus IS DISTINCT FROM OLD.jsonb->'status'->>'name') THEN -- Date time in "YYYY-MM-DD"T"HH24:MI:SS.ms'Z'" format at UTC (00:00) time zone NEW.jsonb = jsonb_set(NEW.jsonb, '{status,date}', to_jsonb(to_char(CURRENT_TIMESTAMP(3) AT TIME ZONE 'UTC', 'YYYY-MM-DD"T"HH24:MI:SS.ms"Z"')), true); ELSIF (OLD.jsonb->'status'->'date' IS NOT NULL) THEN NEW.jsonb = jsonb_set(NEW.jsonb, '{status,date}', OLD.jsonb->'status'->'date', true); ELSE NEW.jsonb = NEW.jsonb #- '{status, date}'; END IF; RETURN NEW; END; $$ LANGUAGE 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_item_status_date() RETURNS TRIGGER AS $$ DECLARE newStatus text; BEGIN newStatus = NEW.jsonb->'status'->>'name'; IF (newStatus IS DISTINCT FROM OLD.jsonb->'status'->>'name') THEN -- Date time in "YYYY-MM-DD"T"HH24:MI:SS.ms'Z'" format at UTC (00:00) time zone NEW.jsonb = jsonb_set(NEW.jsonb, '{status,date}', to_jsonb(to_char(CURRENT_TIMESTAMP(3) AT TIME ZONE 'UTC', 'YYYY-MM-DD"T"HH24:MI:SS.ms"Z"')), true); ELSIF (OLD.jsonb->'status'->'date' IS NOT NULL) THEN NEW.jsonb = jsonb_set(NEW.jsonb, '{status,date}', OLD.jsonb->'status'->'date', true); ELSE NEW.jsonb = NEW.jsonb #- '{status, date}'; END IF; RETURN NEW; END; $$ LANGUAGE 'plpgsql'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_item_status_date ON test_tenant_mod_inventory_storage.item; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_item_status_date" for relation "test_tenant_mod_inventory_storage.item" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_item_status_date ON test_tenant_mod_inventory_storage.item; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER update_item_status_date BEFORE UPDATE ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_item_status_date(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER update_item_status_date BEFORE UPDATE ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_item_status_date(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER SEQUENCE IF EXISTS test_tenant_mod_inventory_storage.hrid_instances_seq AS BIGINT MAXVALUE 99999999999 OWNED BY test_tenant_mod_inventory_storage.hrid_settings.jsonb; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER SEQUENCE IF EXISTS test_tenant_mod_inventory_storage.hrid_instances_seq AS BIGINT MAXVALUE 99999999999 OWNED BY test_tenant_mod_inventory_storage.hrid_settings.jsonb; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER SEQUENCE IF EXISTS test_tenant_mod_inventory_storage.hrid_holdings_seq AS BIGINT MAXVALUE 99999999999 OWNED BY test_tenant_mod_inventory_storage.hrid_settings.jsonb; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER SEQUENCE IF EXISTS test_tenant_mod_inventory_storage.hrid_holdings_seq AS BIGINT MAXVALUE 99999999999 OWNED BY test_tenant_mod_inventory_storage.hrid_settings.jsonb; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER SEQUENCE IF EXISTS test_tenant_mod_inventory_storage.hrid_items_seq AS BIGINT MAXVALUE 99999999999 OWNED BY test_tenant_mod_inventory_storage.hrid_settings.jsonb; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER SEQUENCE IF EXISTS test_tenant_mod_inventory_storage.hrid_items_seq AS BIGINT MAXVALUE 99999999999 OWNED BY test_tenant_mod_inventory_storage.hrid_settings.jsonb; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} START TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed START TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item DISABLE TRIGGER USER; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item DISABLE TRIGGER USER; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.item SET jsonb = CASE WHEN jsonb->>'copyNumbers' IS NOT NULL AND jsonb_array_length(jsonb->'copyNumbers') > 0 THEN jsonb_set(jsonb - 'copyNumbers', '{copyNumber}', jsonb#>'{copyNumbers, 0}') ELSE jsonb - 'copyNumbers' END WHERE jsonb->'copyNumbers' IS NOT NULL; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.item SET jsonb = CASE WHEN jsonb->>'copyNumbers' IS NOT NULL AND jsonb_array_length(jsonb->'copyNumbers') > 0 THEN jsonb_set(jsonb - 'copyNumbers', '{copyNumber}', jsonb#>'{copyNumbers, 0}') ELSE jsonb - 'copyNumbers' END WHERE jsonb->'copyNumbers' IS NOT NULL; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item ENABLE TRIGGER USER; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item ENABLE TRIGGER USER; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} END TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed END TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} START TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed START TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.mode_of_issuance AS it SET jsonb = jsonb_set(it.jsonb, '{name}', '"integrating resource"') WHERE it.jsonb->>'id' = '4fc0f4fe-06fd-490a-a078-c4da1754e03a'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.mode_of_issuance AS it SET jsonb = jsonb_set(it.jsonb, '{name}', '"integrating resource"') WHERE it.jsonb->>'id' = '4fc0f4fe-06fd-490a-a078-c4da1754e03a'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.mode_of_issuance AS it SET jsonb = jsonb_set(it.jsonb, '{name}', '"multipart monograph"') WHERE it.jsonb->>'id' = 'f5cc2ab6-bb92-4cab-b83f-5a3d09261a41'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.mode_of_issuance AS it SET jsonb = jsonb_set(it.jsonb, '{name}', '"multipart monograph"') WHERE it.jsonb->>'id' = 'f5cc2ab6-bb92-4cab-b83f-5a3d09261a41'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.mode_of_issuance AS it SET jsonb = jsonb_set(it.jsonb, '{name}', '"serial"') WHERE it.jsonb->>'id' = '068b5344-e2a6-40df-9186-1829e13cd344'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.mode_of_issuance AS it SET jsonb = jsonb_set(it.jsonb, '{name}', '"serial"') WHERE it.jsonb->>'id' = '068b5344-e2a6-40df-9186-1829e13cd344'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.mode_of_issuance AS it SET jsonb = jsonb_set(it.jsonb, '{name}', '"single unit"') WHERE it.jsonb->>'id' = '9d18a02f-5897-4c31-9106-c9abb5c7ae8b'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.mode_of_issuance AS it SET jsonb = jsonb_set(it.jsonb, '{name}', '"single unit"') WHERE it.jsonb->>'id' = '9d18a02f-5897-4c31-9106-c9abb5c7ae8b'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.mode_of_issuance SET jsonb = jsonb || '{"name": "unspecified", "source": "folio"}'::jsonb WHERE jsonb->>'id' = '612bbd3d-c16b-4bfb-8517-2afafc60204a'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.mode_of_issuance SET jsonb = jsonb || '{"name": "unspecified", "source": "folio"}'::jsonb WHERE jsonb->>'id' = '612bbd3d-c16b-4bfb-8517-2afafc60204a'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} END TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed END TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO test_tenant_mod_inventory_storage.preceding_succeeding_title (id, jsonb) SELECT id, jsonb_build_object( 'id', jsonb->'id', 'metadata', jsonb->'metadata', 'precedingInstanceId', jsonb->'superInstanceId', 'succeedingInstanceId', jsonb->'subInstanceId') FROM test_tenant_mod_inventory_storage.instance_relationship as ir WHERE ir.instanceRelationshipTypeId ='cde80cc2-0c8b-4672-82d4-721e51dcb990' ON CONFLICT DO NOTHING; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO test_tenant_mod_inventory_storage.preceding_succeeding_title (id, jsonb) SELECT id, jsonb_build_object( 'id', jsonb->'id', 'metadata', jsonb->'metadata', 'precedingInstanceId', jsonb->'superInstanceId', 'succeedingInstanceId', jsonb->'subInstanceId') FROM test_tenant_mod_inventory_storage.instance_relationship as ir WHERE ir.instanceRelationshipTypeId ='cde80cc2-0c8b-4672-82d4-721e51dcb990' ON CONFLICT DO NOTHING; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} START TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed START TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance DISABLE TRIGGER USER; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance DISABLE TRIGGER USER; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.instance SET jsonb = JSONB_SET(instance.jsonb, '{discoverySuppress}', TO_JSONB(false)) WHERE jsonb->>'discoverySuppress' IS NULL; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.instance SET jsonb = JSONB_SET(instance.jsonb, '{discoverySuppress}', TO_JSONB(false)) WHERE jsonb->>'discoverySuppress' IS NULL; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance ENABLE TRIGGER USER; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance ENABLE TRIGGER USER; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} END TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed END TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.item_metadata_updateddate_idx; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_metadata_updateddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.item_metadata_updateddate_idx; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.holdings_record_metadata_updateddate_idx; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "holdings_record_metadata_updateddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.holdings_record_metadata_updateddate_idx; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.audit_instance_createddate_idx; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "audit_instance_createddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.audit_instance_createddate_idx; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.audit_holdings_record_createddate_idx; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "audit_holdings_record_createddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.audit_holdings_record_createddate_idx; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.audit_item_createddate_idx; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "audit_item_createddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.audit_item_createddate_idx; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.strToTimestamp(text) returns timestamptz as $$ select $1::timestamptz $$ language sql immutable strict; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.strToTimestamp(text) returns timestamptz as $$ select $1::timestamptz $$ language sql immutable strict; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.dateOrMin(timestamptz) returns timestamptz as $$ select coalesce($1, timestamptz '1970-01-01') $$ language sql immutable; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.dateOrMin(timestamptz) returns timestamptz as $$ select coalesce($1, timestamptz '1970-01-01') $$ language sql immutable; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.dateOrMax(timestamptz) returns timestamptz as $$ select coalesce($1, timestamptz '2050-01-01') $$ language sql immutable; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.dateOrMax(timestamptz) returns timestamptz as $$ select coalesce($1, timestamptz '2050-01-01') $$ language sql immutable; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.getElectronicAccessName(val jsonb) returns jsonb as $$ select jsonb_agg(distinct e) from ( select e || jsonb_build_object('name', ( select jsonb ->> 'name' from test_tenant_mod_inventory_storage.electronic_access_relationship ear where id = (e ->> 'relationshipId')::uuid )) e from jsonb_array_elements($1) as e ) e1 $$ language sql strict; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.getElectronicAccessName(val jsonb) returns jsonb as $$ select jsonb_agg(distinct e) from ( select e || jsonb_build_object('name', ( select jsonb ->> 'name' from test_tenant_mod_inventory_storage.electronic_access_relationship ear where id = (e ->> 'relationshipId')::uuid )) e from jsonb_array_elements($1) as e ) e1 $$ language sql strict; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.getItemNoteTypeName(val jsonb) returns jsonb as $$ select jsonb_agg(distinct e) from ( select e || jsonb_build_object('noteTypeName', ( select jsonb ->> 'name' from item_note_type where id = (e ->> 'itemNoteTypeId')::uuid )) e from jsonb_array_elements($1) as e ) e1 $$ language sql strict; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.getItemNoteTypeName(val jsonb) returns jsonb as $$ select jsonb_agg(distinct e) from ( select e || jsonb_build_object('noteTypeName', ( select jsonb ->> 'name' from item_note_type where id = (e ->> 'itemNoteTypeId')::uuid )) e from jsonb_array_elements($1) as e ) e1 $$ language sql strict; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.item_pmh_metadata_updateddate_idx; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_pmh_metadata_updateddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.item_pmh_metadata_updateddate_idx; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.holdings_record_pmh_metadata_updateddate_idx; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "holdings_record_pmh_metadata_updateddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.holdings_record_pmh_metadata_updateddate_idx; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.audit_instance_pmh_createddate_idx; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "audit_instance_pmh_createddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.audit_instance_pmh_createddate_idx; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.audit_holdings_record_pmh_createddate_idx; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "audit_holdings_record_pmh_createddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.audit_holdings_record_pmh_createddate_idx; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.audit_item_pmh_createddate_idx; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "audit_item_pmh_createddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.audit_item_pmh_createddate_idx; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.instance_pmh_metadata_updateddate_idx; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_pmh_metadata_updateddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.instance_pmh_metadata_updateddate_idx; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} create index if not exists instance_pmh_metadata_updateddate_idx on test_tenant_mod_inventory_storage.instance ((strToTimestamp(jsonb -> 'metadata' ->> 'updatedDate'))); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed create index if not exists instance_pmh_metadata_updateddate_idx on test_tenant_mod_inventory_storage.instance ((strToTimestamp(jsonb -> 'metadata' ->> 'updatedDate'))); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} create index if not exists item_pmh_metadata_updateddate_idx on test_tenant_mod_inventory_storage.item ((strToTimestamp(jsonb -> 'metadata' ->> 'updatedDate'))); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed create index if not exists item_pmh_metadata_updateddate_idx on test_tenant_mod_inventory_storage.item ((strToTimestamp(jsonb -> 'metadata' ->> 'updatedDate'))); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} create index if not exists holdings_record_pmh_metadata_updateddate_idx on test_tenant_mod_inventory_storage.holdings_record ((strToTimestamp(jsonb -> 'metadata' ->> 'updatedDate'))); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed create index if not exists holdings_record_pmh_metadata_updateddate_idx on test_tenant_mod_inventory_storage.holdings_record ((strToTimestamp(jsonb -> 'metadata' ->> 'updatedDate'))); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} create index if not exists audit_instance_pmh_createddate_idx on test_tenant_mod_inventory_storage.audit_instance ((strToTimestamp(jsonb ->> 'createdDate'))); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed create index if not exists audit_instance_pmh_createddate_idx on test_tenant_mod_inventory_storage.audit_instance ((strToTimestamp(jsonb ->> 'createdDate'))); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} create index if not exists audit_holdings_record_pmh_createddate_idx on test_tenant_mod_inventory_storage.audit_holdings_record ((strToTimestamp(jsonb -> 'record' ->> 'updatedDate'))); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed create index if not exists audit_holdings_record_pmh_createddate_idx on test_tenant_mod_inventory_storage.audit_holdings_record ((strToTimestamp(jsonb -> 'record' ->> 'updatedDate'))); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} create index if not exists audit_item_pmh_createddate_idx on test_tenant_mod_inventory_storage.audit_item ((strToTimestamp(jsonb -> 'record' ->> 'updatedDate'))); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed create index if not exists audit_item_pmh_createddate_idx on test_tenant_mod_inventory_storage.audit_item ((strToTimestamp(jsonb -> 'record' ->> 'updatedDate'))); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} drop function if exists test_tenant_mod_inventory_storage.pmh_view_function(timestamptz, timestamptz, bool, bool); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.pmh_view_function(timestamptz,timestamptz,bool,bool) does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed drop function if exists test_tenant_mod_inventory_storage.pmh_view_function(timestamptz, timestamptz, bool, bool); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.pmh_view_function(startDate timestamptz, endDate timestamptz, deletedRecordSupport bool default true, skipSuppressedFromDiscoveryRecords bool default true) returns table ( instanceId uuid, updatedDate timestamptz, deleted boolean, itemsAndHoldingsFields jsonb ) as $body$ with instanceIdsInRange as ( select inst.id as instanceId, (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) as maxDate from test_tenant_mod_inventory_storage.instance inst where (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) union all select instanceid, greatest((strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')), (strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate'))) as maxDate from holdings_record hr join test_tenant_mod_inventory_storage.item item on item.holdingsrecordid = hr.id where ((strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) or (strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2)) union all select (audit_holdings_record.jsonb #>> '{record,instanceId}')::uuid, greatest((strtotimestamp(audit_item.jsonb -> 'record' ->> 'updatedDate')), (strtotimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate'))) as maxDate from audit_holdings_record audit_holdings_record join audit_item audit_item on (audit_item.jsonb ->> '{record,holdingsRecordId}')::uuid = audit_holdings_record.id where ((strToTimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) or (strToTimestamp(audit_item.jsonb #>> '{record,updatedDate}')) between dateOrMin($1) and dateOrMax($2)) ), instanceIdsAndDatesInRange as ( select instanceId, max(instanceIdsInRange.maxDate) as maxDate, (instance.jsonb ->> 'discoverySuppress')::bool as suppressFromDiscovery from instanceIdsInRange, instance where instanceIdsInRange.maxDate between dateOrMin($1) and dateOrMax($2) and instance.id = instanceIdsInRange.instanceId and not ($4 and coalesce((instance.jsonb ->> 'discoverySuppress')::bool, false)) group by 1, 3) select instanceIdsAndDatesInRange.instanceId, instanceIdsAndDatesInRange.maxDate, false as deleted, ( select to_jsonb(itemAndHoldingsAttrs) as instanceFields from ( select hr.instanceid, instanceIdsAndDatesInRange.suppressFromDiscovery as suppressFromDiscovery, jsonb_agg(jsonb_build_object('id', item.id, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName',cnt.jsonb ->> 'name'), 'location', json_build_object('location', jsonb_build_object('institutionId', itemLocInst.id, 'institutionName', itemLocInst.jsonb ->> 'name', 'campusId', itemLocCamp.id, 'campusName', itemLocCamp.jsonb ->> 'name', 'libraryId', itemLocLib.id, 'libraryName', itemLocLib.jsonb ->> 'name'), 'name', coalesce(loc.jsonb ->> 'discoveryDisplayName', loc.jsonb ->> 'name')), 'volume', item.jsonb -> 'volume', 'enumeration', item.jsonb -> 'enumeration', 'materialType', mt.jsonb -> 'name', 'electronicAccess', getElectronicAccessName( coalesce(item.jsonb #> '{electronicAccess}', '[]'::jsonb) || coalesce(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), 'suppressFromDiscovery', case when instanceIdsAndDatesInRange.suppressFromDiscovery then true else coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false) or coalesce((item.jsonb ->> 'discoverySuppress')::bool, false) end, 'notes', getItemNoteTypeName(item.jsonb-> 'notes'), 'barcode', item.jsonb->>'barcode', 'chronology', item.jsonb->>'chronology', 'copyNumber', item.jsonb->>'copyNumber', 'holdingsRecordId', hr.id )) items from holdings_record hr join test_tenant_mod_inventory_storage.item item on item.holdingsrecordid = hr.id join test_tenant_mod_inventory_storage.location loc on (item.jsonb ->> 'effectiveLocationId')::uuid = loc.id and (loc.jsonb ->> 'isActive')::bool = true join test_tenant_mod_inventory_storage.locinstitution itemLocInst on (loc.jsonb ->> 'institutionId')::uuid = itemLocInst.id join test_tenant_mod_inventory_storage.loccampus itemLocCamp on (loc.jsonb ->> 'campusId')::uuid = itemLocCamp.id join test_tenant_mod_inventory_storage.loclibrary itemLocLib on (loc.jsonb ->> 'libraryId')::uuid = itemLocLib.id left join test_tenant_mod_inventory_storage.material_type mt on item.materialtypeid = mt.id left join test_tenant_mod_inventory_storage.call_number_type cnt on (item.jsonb #>> '{effectiveCallNumberComponents, typeId}')::uuid = cnt.id where instanceId = instanceIdsAndDatesInRange.instanceId and not ($4 and coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false)) and not ($4 and coalesce((item.jsonb ->> 'discoverySuppress')::bool, false)) group by 1) itemAndHoldingsAttrs ) from instanceIdsAndDatesInRange union all select (audit_instance.jsonb #>> '{record,id}')::uuid as instanceId, strToTimestamp(jsonb ->> 'createdDate') as maxDate, true as deleted, null as itemFields from test_tenant_mod_inventory_storage.audit_instance where $3 and strToTimestamp(jsonb ->> 'createdDate') between dateOrMin($1) and dateOrMax($2) $body$ language sql; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.pmh_view_function(startDate timestamptz, endDate timestamptz, deletedRecordSupport bool default true, skipSuppressedFromDiscoveryRecords bool default true) returns table ( instanceId uuid, updatedDate timestamptz, deleted boolean, itemsAndHoldingsFields jsonb ) as $body$ with instanceIdsInRange as ( select inst.id as instanceId, (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) as maxDate from test_tenant_mod_inventory_storage.instance inst where (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) union all select instanceid, greatest((strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')), (strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate'))) as maxDate from holdings_record hr join test_tenant_mod_inventory_storage.item item on item.holdingsrecordid = hr.id where ((strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) or (strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2)) union all select (audit_holdings_record.jsonb #>> '{record,instanceId}')::uuid, greatest((strtotimestamp(audit_item.jsonb -> 'record' ->> 'updatedDate')), (strtotimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate'))) as maxDate from audit_holdings_record audit_holdings_record join audit_item audit_item on (audit_item.jsonb ->> '{record,holdingsRecordId}')::uuid = audit_holdings_record.id where ((strToTimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) or (strToTimestamp(audit_item.jsonb #>> '{record,updatedDate}')) between dateOrMin($1) and dateOrMax($2)) ), instanceIdsAndDatesInRange as ( select instanceId, max(instanceIdsInRange.maxDate) as maxDate, (instance.jsonb ->> 'discoverySuppress')::bool as suppressFromDiscovery from instanceIdsInRange, instance where instanceIdsInRange.maxDate between dateOrMin($1) and dateOrMax($2) and instance.id = instanceIdsInRange.instanceId and not ($4 and coalesce((instance.jsonb ->> 'discoverySuppress')::bool, false)) group by 1, 3) select instanceIdsAndDatesInRange.instanceId, instanceIdsAndDatesInRange.maxDate, false as deleted, ( select to_jsonb(itemAndHoldingsAttrs) as instanceFields from ( select hr.instanceid, instanceIdsAndDatesInRange.suppressFromDiscovery as suppressFromDiscovery, jsonb_agg(jsonb_build_object('id', item.id, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName',cnt.jsonb ->> 'name'), 'location', json_build_object('location', jsonb_build_object('institutionId', itemLocInst.id, 'institutionName', itemLocInst.jsonb ->> 'name', 'campusId', itemLocCamp.id, 'campusName', itemLocCamp.jsonb ->> 'name', 'libraryId', itemLocLib.id, 'libraryName', itemLocLib.jsonb ->> 'name'), 'name', coalesce(loc.jsonb ->> 'discoveryDisplayName', loc.jsonb ->> 'name')), 'volume', item.jsonb -> 'volume', 'enumeration', item.jsonb -> 'enumeration', 'materialType', mt.jsonb -> 'name', 'electronicAccess', getElectronicAccessName( coalesce(item.jsonb #> '{electronicAccess}', '[]'::jsonb) || coalesce(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), 'suppressFromDiscovery', case when instanceIdsAndDatesInRange.suppressFromDiscovery then true else coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false) or coalesce((item.jsonb ->> 'discoverySuppress')::bool, false) end, 'notes', getItemNoteTypeName(item.jsonb-> 'notes'), 'barcode', item.jsonb->>'barcode', 'chronology', item.jsonb->>'chronology', 'copyNumber', item.jsonb->>'copyNumber', 'holdingsRecordId', hr.id )) items from holdings_record hr join test_tenant_mod_inventory_storage.item item on item.holdingsrecordid = hr.id join test_tenant_mod_inventory_storage.location loc on (item.jsonb ->> 'effectiveLocationId')::uuid = loc.id and (loc.jsonb ->> 'isActive')::bool = true join test_tenant_mod_inventory_storage.locinstitution itemLocInst on (loc.jsonb ->> 'institutionId')::uuid = itemLocInst.id join test_tenant_mod_inventory_storage.loccampus itemLocCamp on (loc.jsonb ->> 'campusId')::uuid = itemLocCamp.id join test_tenant_mod_inventory_storage.loclibrary itemLocLib on (loc.jsonb ->> 'libraryId')::uuid = itemLocLib.id left join test_tenant_mod_inventory_storage.material_type mt on item.materialtypeid = mt.id left join test_tenant_mod_inventory_storage.call_number_type cnt on (item.jsonb #>> '{effectiveCallNumberComponents, typeId}')::uuid = cnt.id where instanceId = instanceIdsAndDatesInRange.instanceId and not ($4 and coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false)) and not ($4 and coalesce((item.jsonb ->> 'discoverySuppress')::bool, false)) group by 1) itemAndHoldingsAttrs ) from instanceIdsAndDatesInRange union all select (audit_instance.jsonb #>> '{record,id}')::uuid as instanceId, strToTimestamp(jsonb ->> 'createdDate') as maxDate, true as deleted, null as itemFields from test_tenant_mod_inventory_storage.audit_instance where $3 and strToTimestamp(jsonb ->> 'createdDate') between dateOrMin($1) and dateOrMax($2) $body$ language sql; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.pmh_get_updated_instances_ids(startDate timestamptz, endDate timestamptz, deletedRecordSupport bool default true, skipSuppressedFromDiscoveryRecords bool default true) returns table ( instanceId uuid, updatedDate timestamptz, suppressFromDiscovery boolean, deleted boolean ) as $body$ with instanceIdsInRange as ( select inst.id as instanceId, (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) as maxDate from test_tenant_mod_inventory_storage.instance inst where (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) union all select instanceid, greatest((strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')), (strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate'))) as maxDate from holdings_record hr join test_tenant_mod_inventory_storage.item item on item.holdingsrecordid = hr.id where ((strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) or (strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2)) union all select (audit_holdings_record.jsonb #>> '{record,instanceId}')::uuid, greatest((strtotimestamp(audit_item.jsonb -> 'record' ->> 'updatedDate')), (strtotimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate'))) as maxDate from audit_holdings_record audit_holdings_record join audit_item audit_item on (audit_item.jsonb ->> '{record,holdingsRecordId}')::uuid = audit_holdings_record.id where ((strToTimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) or (strToTimestamp(audit_item.jsonb #>> '{record,updatedDate}')) between dateOrMin($1) and dateOrMax($2)) ) select instanceId, max(instanceIdsInRange.maxDate) as maxDate, (instance.jsonb ->> 'discoverySuppress')::bool as suppressFromDiscovery, false as deleted from instanceIdsInRange, instance where instanceIdsInRange.maxDate between dateOrMin($1) and dateOrMax($2) and instance.id = instanceIdsInRange.instanceId and not ($4 and coalesce((instance.jsonb ->> 'discoverySuppress')::bool, false)) group by 1, 3 union all select (audit_instance.jsonb #>> '{record,id}')::uuid as instanceId, strToTimestamp(jsonb ->> 'createdDate') as maxDate, false as suppressFromDiscovery, true as deleted from test_tenant_mod_inventory_storage.audit_instance where $3 and strToTimestamp(jsonb ->> 'createdDate') between dateOrMin($1) and dateOrMax($2) $body$ language sql; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.pmh_get_updated_instances_ids(startDate timestamptz, endDate timestamptz, deletedRecordSupport bool default true, skipSuppressedFromDiscoveryRecords bool default true) returns table ( instanceId uuid, updatedDate timestamptz, suppressFromDiscovery boolean, deleted boolean ) as $body$ with instanceIdsInRange as ( select inst.id as instanceId, (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) as maxDate from test_tenant_mod_inventory_storage.instance inst where (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) union all select instanceid, greatest((strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')), (strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate'))) as maxDate from holdings_record hr join test_tenant_mod_inventory_storage.item item on item.holdingsrecordid = hr.id where ((strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) or (strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2)) union all select (audit_holdings_record.jsonb #>> '{record,instanceId}')::uuid, greatest((strtotimestamp(audit_item.jsonb -> 'record' ->> 'updatedDate')), (strtotimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate'))) as maxDate from audit_holdings_record audit_holdings_record join audit_item audit_item on (audit_item.jsonb ->> '{record,holdingsRecordId}')::uuid = audit_holdings_record.id where ((strToTimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) or (strToTimestamp(audit_item.jsonb #>> '{record,updatedDate}')) between dateOrMin($1) and dateOrMax($2)) ) select instanceId, max(instanceIdsInRange.maxDate) as maxDate, (instance.jsonb ->> 'discoverySuppress')::bool as suppressFromDiscovery, false as deleted from instanceIdsInRange, instance where instanceIdsInRange.maxDate between dateOrMin($1) and dateOrMax($2) and instance.id = instanceIdsInRange.instanceId and not ($4 and coalesce((instance.jsonb ->> 'discoverySuppress')::bool, false)) group by 1, 3 union all select (audit_instance.jsonb #>> '{record,id}')::uuid as instanceId, strToTimestamp(jsonb ->> 'createdDate') as maxDate, false as suppressFromDiscovery, true as deleted from test_tenant_mod_inventory_storage.audit_instance where $3 and strToTimestamp(jsonb ->> 'createdDate') between dateOrMin($1) and dateOrMax($2) $body$ language sql; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.pmh_instance_view_function(instanceIds uuid[], skipSuppressedFromDiscoveryRecords bool default true) returns table ( instanceId uuid, itemsAndHoldingsFields jsonb ) as $body$ select instId, (select to_jsonb(itemAndHoldingsAttrs) as itemsAndHoldingsFields from ( select hr.instanceid, jsonb_agg(jsonb_build_object('id', item.id, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName',cnt.jsonb ->> 'name'), 'location', json_build_object('location', jsonb_build_object('institutionId', itemLocInst.id, 'institutionName', itemLocInst.jsonb ->> 'name', 'campusId', itemLocCamp.id, 'campusName', itemLocCamp.jsonb ->> 'name', 'libraryId', itemLocLib.id, 'libraryName', itemLocLib.jsonb ->> 'name'), 'name', coalesce(loc.jsonb ->> 'discoveryDisplayName', loc.jsonb ->> 'name')), 'volume', item.jsonb -> 'volume', 'enumeration', item.jsonb -> 'enumeration', 'materialType', mt.jsonb -> 'name', 'electronicAccess', getElectronicAccessName( coalesce(item.jsonb #> '{electronicAccess}', '[]'::jsonb) || coalesce(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), 'suppressFromDiscovery', coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false) or coalesce((item.jsonb ->> 'discoverySuppress')::bool, false), 'notes', getItemNoteTypeName(item.jsonb-> 'notes'), 'barcode', item.jsonb->>'barcode', 'chronology', item.jsonb->>'chronology', 'copyNumber', item.jsonb->>'copyNumber', 'holdingsRecordId', hr.id )) items from holdings_record hr join test_tenant_mod_inventory_storage.item item on item.holdingsrecordid = hr.id join test_tenant_mod_inventory_storage.location loc on (item.jsonb ->> 'effectiveLocationId')::uuid = loc.id and (loc.jsonb ->> 'isActive')::bool = true join test_tenant_mod_inventory_storage.locinstitution itemLocInst on (loc.jsonb ->> 'institutionId')::uuid = itemLocInst.id join test_tenant_mod_inventory_storage.loccampus itemLocCamp on (loc.jsonb ->> 'campusId')::uuid = itemLocCamp.id join test_tenant_mod_inventory_storage.loclibrary itemLocLib on (loc.jsonb ->> 'libraryId')::uuid = itemLocLib.id left join test_tenant_mod_inventory_storage.material_type mt on item.materialtypeid = mt.id left join test_tenant_mod_inventory_storage.call_number_type cnt on (item.jsonb #>> '{effectiveCallNumberComponents, typeId}')::uuid = cnt.id where instanceId = instId and not ($2 and coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false)) and not ($2 and coalesce((item.jsonb ->> 'discoverySuppress')::bool, false)) group by 1) itemAndHoldingsAttrs) FROM unnest( $1 ) AS instId; $body$ language sql; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.pmh_instance_view_function(instanceIds uuid[], skipSuppressedFromDiscoveryRecords bool default true) returns table ( instanceId uuid, itemsAndHoldingsFields jsonb ) as $body$ select instId, (select to_jsonb(itemAndHoldingsAttrs) as itemsAndHoldingsFields from ( select hr.instanceid, jsonb_agg(jsonb_build_object('id', item.id, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName',cnt.jsonb ->> 'name'), 'location', json_build_object('location', jsonb_build_object('institutionId', itemLocInst.id, 'institutionName', itemLocInst.jsonb ->> 'name', 'campusId', itemLocCamp.id, 'campusName', itemLocCamp.jsonb ->> 'name', 'libraryId', itemLocLib.id, 'libraryName', itemLocLib.jsonb ->> 'name'), 'name', coalesce(loc.jsonb ->> 'discoveryDisplayName', loc.jsonb ->> 'name')), 'volume', item.jsonb -> 'volume', 'enumeration', item.jsonb -> 'enumeration', 'materialType', mt.jsonb -> 'name', 'electronicAccess', getElectronicAccessName( coalesce(item.jsonb #> '{electronicAccess}', '[]'::jsonb) || coalesce(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), 'suppressFromDiscovery', coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false) or coalesce((item.jsonb ->> 'discoverySuppress')::bool, false), 'notes', getItemNoteTypeName(item.jsonb-> 'notes'), 'barcode', item.jsonb->>'barcode', 'chronology', item.jsonb->>'chronology', 'copyNumber', item.jsonb->>'copyNumber', 'holdingsRecordId', hr.id )) items from holdings_record hr join test_tenant_mod_inventory_storage.item item on item.holdingsrecordid = hr.id join test_tenant_mod_inventory_storage.location loc on (item.jsonb ->> 'effectiveLocationId')::uuid = loc.id and (loc.jsonb ->> 'isActive')::bool = true join test_tenant_mod_inventory_storage.locinstitution itemLocInst on (loc.jsonb ->> 'institutionId')::uuid = itemLocInst.id join test_tenant_mod_inventory_storage.loccampus itemLocCamp on (loc.jsonb ->> 'campusId')::uuid = itemLocCamp.id join test_tenant_mod_inventory_storage.loclibrary itemLocLib on (loc.jsonb ->> 'libraryId')::uuid = itemLocLib.id left join test_tenant_mod_inventory_storage.material_type mt on item.materialtypeid = mt.id left join test_tenant_mod_inventory_storage.call_number_type cnt on (item.jsonb #>> '{effectiveCallNumberComponents, typeId}')::uuid = cnt.id where instanceId = instId and not ($2 and coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false)) and not ($2 and coalesce((item.jsonb ->> 'discoverySuppress')::bool, false)) group by 1) itemAndHoldingsAttrs) FROM unnest( $1 ) AS instId; $body$ language sql; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} START TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed START TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DELETE FROM test_tenant_mod_inventory_storage.instance_relationship WHERE instanceRelationshipTypeId ='cde80cc2-0c8b-4672-82d4-721e51dcb990'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DELETE FROM test_tenant_mod_inventory_storage.instance_relationship WHERE instanceRelationshipTypeId ='cde80cc2-0c8b-4672-82d4-721e51dcb990'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DELETE FROM test_tenant_mod_inventory_storage.instance_relationship_type WHERE id ='cde80cc2-0c8b-4672-82d4-721e51dcb990'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DELETE FROM test_tenant_mod_inventory_storage.instance_relationship_type WHERE id ='cde80cc2-0c8b-4672-82d4-721e51dcb990'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} END TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed END TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.item_metadata_updateddate_idx; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_metadata_updateddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.item_metadata_updateddate_idx; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.holdings_record_metadata_updateddate_idx; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "holdings_record_metadata_updateddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.holdings_record_metadata_updateddate_idx; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.audit_instance_createddate_idx; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "audit_instance_createddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.audit_instance_createddate_idx; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.audit_holdings_record_createddate_idx; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "audit_holdings_record_createddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.audit_holdings_record_createddate_idx; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.audit_item_createddate_idx; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "audit_item_createddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.audit_item_createddate_idx; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.strToTimestamp(text) RETURNS timestamptz AS $$ SELECT $1::timestamptz $$ LANGUAGE sql immutable strict; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.strToTimestamp(text) RETURNS timestamptz AS $$ SELECT $1::timestamptz $$ LANGUAGE sql immutable strict; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.dateOrMin(timestamptz) RETURNS timestamptz AS $$ SELECT COALESCE($1, timestamptz '1970-01-01') $$ LANGUAGE sql immutable; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.dateOrMin(timestamptz) RETURNS timestamptz AS $$ SELECT COALESCE($1, timestamptz '1970-01-01') $$ LANGUAGE sql immutable; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.dateOrMax(timestamptz) RETURNS timestamptz AS $$ SELECT COALESCE($1, timestamptz '2050-01-01') $$ LANGUAGE sql immutable; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.dateOrMax(timestamptz) RETURNS timestamptz AS $$ SELECT COALESCE($1, timestamptz '2050-01-01') $$ LANGUAGE sql immutable; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getElectronicAccessName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e) FROM ( SELECT e || jsonb_build_object('name', ( SELECT jsonb ->> 'name' FROM test_tenant_mod_inventory_storage.electronic_access_relationship WHERE id = (e ->> 'relationshipId')::uuid )) e FROM jsonb_array_elements($1) AS e ) e1 $$ LANGUAGE sql strict; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getElectronicAccessName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e) FROM ( SELECT e || jsonb_build_object('name', ( SELECT jsonb ->> 'name' FROM test_tenant_mod_inventory_storage.electronic_access_relationship WHERE id = (e ->> 'relationshipId')::uuid )) e FROM jsonb_array_elements($1) AS e ) e1 $$ LANGUAGE sql strict; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getItemNoteTypeName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e) FROM ( SELECT e - 'itemNoteTypeId' - 'staffOnly' || jsonb_build_object('itemNoteTypeName', ( SELECT jsonb ->> 'name' FROM item_note_type WHERE id = (e ->> 'itemNoteTypeId')::uuid )) e FROM jsonb_array_elements( $1 ) AS e WHERE NOT (e ->> 'staffOnly')::bool ) e1 $$ LANGUAGE sql strict; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getItemNoteTypeName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e) FROM ( SELECT e - 'itemNoteTypeId' - 'staffOnly' || jsonb_build_object('itemNoteTypeName', ( SELECT jsonb ->> 'name' FROM item_note_type WHERE id = (e ->> 'itemNoteTypeId')::uuid )) e FROM jsonb_array_elements( $1 ) AS e WHERE NOT (e ->> 'staffOnly')::bool ) e1 $$ LANGUAGE sql strict; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getHoldingNoteTypeName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e) FROM ( SELECT e - 'holdingsNoteTypeId' - 'staffOnly' || jsonb_build_object('holdingsNoteTypeName', ( SELECT jsonb ->> 'name' FROM holdings_note_type WHERE id = (e ->> 'holdingsNoteTypeId')::uuid )) e FROM jsonb_array_elements( $1 ) AS e WHERE NOT (e ->> 'staffOnly')::bool ) e1 $$ LANGUAGE sql strict; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getHoldingNoteTypeName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e) FROM ( SELECT e - 'holdingsNoteTypeId' - 'staffOnly' || jsonb_build_object('holdingsNoteTypeName', ( SELECT jsonb ->> 'name' FROM holdings_note_type WHERE id = (e ->> 'holdingsNoteTypeId')::uuid )) e FROM jsonb_array_elements( $1 ) AS e WHERE NOT (e ->> 'staffOnly')::bool ) e1 $$ LANGUAGE sql strict; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getStatisticalCodes(val jsonb) RETURNS jsonb AS $$ WITH stat_codes(statCodeId, statCodeJsonb, statCodeTypeJsonb) AS ( SELECT sc.id, sc.jsonb, sct.jsonb FROM statistical_code sc JOIN statistical_code_type sct ON sct.id = sc.statisticalcodetypeid ) SELECT jsonb_agg(DISTINCT jsonb_build_object('id', sc.statCodeJsonb ->> 'id') || jsonb_build_object('code', sc.statCodeJsonb ->> 'code') || jsonb_build_object('name', sc.statCodeJsonb ->> 'name') || jsonb_build_object('statisticalCodeType', sc.statCodeTypeJsonb ->> 'name') || jsonb_build_object('source', sc.statCodeTypeJsonb ->> 'source')) FROM jsonb_array_elements( $1 ) AS e, stat_codes sc WHERE sc.statCodeId = (e ->> 0)::uuid $$ LANGUAGE sql strict; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getStatisticalCodes(val jsonb) RETURNS jsonb AS $$ WITH stat_codes(statCodeId, statCodeJsonb, statCodeTypeJsonb) AS ( SELECT sc.id, sc.jsonb, sct.jsonb FROM statistical_code sc JOIN statistical_code_type sct ON sct.id = sc.statisticalcodetypeid ) SELECT jsonb_agg(DISTINCT jsonb_build_object('id', sc.statCodeJsonb ->> 'id') || jsonb_build_object('code', sc.statCodeJsonb ->> 'code') || jsonb_build_object('name', sc.statCodeJsonb ->> 'name') || jsonb_build_object('statisticalCodeType', sc.statCodeTypeJsonb ->> 'name') || jsonb_build_object('source', sc.statCodeTypeJsonb ->> 'source')) FROM jsonb_array_elements( $1 ) AS e, stat_codes sc WHERE sc.statCodeId = (e ->> 0)::uuid $$ LANGUAGE sql strict; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getNatureOfContentName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e.name) FROM ( SELECT (jsonb ->> 'name') AS "name" FROM test_tenant_mod_inventory_storage.nature_of_content_term JOIN jsonb_array_elements($1) as insNoctIds ON id = (insNoctIds ->> 0)::uuid) e $$ LANGUAGE sql strict; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getNatureOfContentName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e.name) FROM ( SELECT (jsonb ->> 'name') AS "name" FROM test_tenant_mod_inventory_storage.nature_of_content_term JOIN jsonb_array_elements($1) as insNoctIds ON id = (insNoctIds ->> 0)::uuid) e $$ LANGUAGE sql strict; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP INDEX IF EXISTS test_tenant_mod_inventory_storage.item_pmh_metadata_updateddate_idx; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP INDEX IF EXISTS test_tenant_mod_inventory_storage.item_pmh_metadata_updateddate_idx; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP INDEX IF EXISTS test_tenant_mod_inventory_storage.holdings_record_pmh_metadata_updateddate_idx; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP INDEX IF EXISTS test_tenant_mod_inventory_storage.holdings_record_pmh_metadata_updateddate_idx; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP INDEX IF EXISTS test_tenant_mod_inventory_storage.audit_instance_pmh_createddate_idx; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP INDEX IF EXISTS test_tenant_mod_inventory_storage.audit_instance_pmh_createddate_idx; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP INDEX IF EXISTS test_tenant_mod_inventory_storage.audit_holdings_record_pmh_createddate_idx; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP INDEX IF EXISTS test_tenant_mod_inventory_storage.audit_holdings_record_pmh_createddate_idx; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP INDEX IF EXISTS test_tenant_mod_inventory_storage.audit_item_pmh_createddate_idx; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP INDEX IF EXISTS test_tenant_mod_inventory_storage.audit_item_pmh_createddate_idx; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP INDEX IF EXISTS test_tenant_mod_inventory_storage.instance_pmh_metadata_updateddate_idx; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP INDEX IF EXISTS test_tenant_mod_inventory_storage.instance_pmh_metadata_updateddate_idx; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS instance_pmh_metadata_updateddate_idx ON test_tenant_mod_inventory_storage.instance ((strToTimestamp(jsonb -> 'metadata' ->> 'updatedDate'))); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS instance_pmh_metadata_updateddate_idx ON test_tenant_mod_inventory_storage.instance ((strToTimestamp(jsonb -> 'metadata' ->> 'updatedDate'))); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS item_pmh_metadata_updateddate_idx ON test_tenant_mod_inventory_storage.item ((strToTimestamp(jsonb -> 'metadata' ->> 'updatedDate'))); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS item_pmh_metadata_updateddate_idx ON test_tenant_mod_inventory_storage.item ((strToTimestamp(jsonb -> 'metadata' ->> 'updatedDate'))); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS holdings_record_pmh_metadata_updateddate_idx ON test_tenant_mod_inventory_storage.holdings_record ((strToTimestamp(jsonb -> 'metadata' ->> 'updatedDate'))); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS holdings_record_pmh_metadata_updateddate_idx ON test_tenant_mod_inventory_storage.holdings_record ((strToTimestamp(jsonb -> 'metadata' ->> 'updatedDate'))); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS audit_instance_pmh_createddate_idx ON test_tenant_mod_inventory_storage.audit_instance ((strToTimestamp(jsonb ->> 'createdDate'))); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS audit_instance_pmh_createddate_idx ON test_tenant_mod_inventory_storage.audit_instance ((strToTimestamp(jsonb ->> 'createdDate'))); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS audit_holdings_record_pmh_createddate_idx ON test_tenant_mod_inventory_storage.audit_holdings_record ((strToTimestamp(jsonb -> 'record' ->> 'updatedDate'))); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS audit_holdings_record_pmh_createddate_idx ON test_tenant_mod_inventory_storage.audit_holdings_record ((strToTimestamp(jsonb -> 'record' ->> 'updatedDate'))); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS audit_item_pmh_createddate_idx ON test_tenant_mod_inventory_storage.audit_item ((strToTimestamp(jsonb -> 'record' ->> 'updatedDate'))); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS audit_item_pmh_createddate_idx ON test_tenant_mod_inventory_storage.audit_item ((strToTimestamp(jsonb -> 'record' ->> 'updatedDate'))); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} drop function if exists test_tenant_mod_inventory_storage.get_updated_instance_ids_view; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.get_updated_instance_ids_view() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed drop function if exists test_tenant_mod_inventory_storage.get_updated_instance_ids_view; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} drop function if exists test_tenant_mod_inventory_storage.get_items_and_holdings_view; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.get_items_and_holdings_view() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed drop function if exists test_tenant_mod_inventory_storage.get_items_and_holdings_view; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.get_updated_instance_ids_view(startDate timestamptz, endDate timestamptz, deletedRecordSupport bool DEFAULT TRUE, skipSuppressedFromDiscoveryRecords bool DEFAULT TRUE, onlyInstanceUpdateDate bool DEFAULT TRUE) RETURNS TABLE ( "instanceId" uuid, "source" varchar, "updatedDate" timestamptz, "suppressFromDiscovery" boolean, "deleted" boolean ) AS $BODY$ WITH instanceIdsInRange AS ( SELECT inst.id AS instanceId, (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) AS maxDate FROM test_tenant_mod_inventory_storage.instance inst WHERE (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) BETWEEN dateOrMin($1) AND dateOrMax($2) UNION ALL SELECT instanceid, greatest((strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')), (strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate'))) AS maxDate FROM test_tenant_mod_inventory_storage.holdings_record hr JOIN test_tenant_mod_inventory_storage.item item ON item.holdingsrecordid = hr.id WHERE ((strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate')) BETWEEN dateOrMin($1) AND dateOrMax($2) OR (strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')) BETWEEN dateOrMin($1) AND dateOrMax($2)) AND NOT EXISTS (SELECT NULL WHERE $5) UNION ALL SELECT (audit_holdings_record.jsonb #>> '{record,instanceId}')::uuid, greatest((strToTimestamp(audit_item.jsonb -> 'record' ->> 'updatedDate')), (strToTimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate'))) AS maxDate FROM test_tenant_mod_inventory_storage.audit_holdings_record audit_holdings_record JOIN test_tenant_mod_inventory_storage.audit_item audit_item ON (audit_item.jsonb ->> '{record,holdingsRecordId}')::uuid = audit_holdings_record.id WHERE ((strToTimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate')) BETWEEN dateOrMin($1) AND dateOrMax($2) OR (strToTimestamp(audit_item.jsonb #>> '{record,updatedDate}')) BETWEEN dateOrMin($1) AND dateOrMax($2)) AND NOT EXISTS (SELECT NULL WHERE $5) ) SELECT instanceId, instance.jsonb ->> 'source' AS source, MAX(instanceIdsInRange.maxDate) AS maxDate, (instance.jsonb ->> 'discoverySuppress')::bool AS suppressFromDiscovery, false AS deleted FROM instanceIdsInRange, test_tenant_mod_inventory_storage.instance WHERE instanceIdsInRange.maxDate BETWEEN dateOrMin($1) AND dateOrMax($2) AND instance.id = instanceIdsInRange.instanceId AND NOT ($4 AND COALESCE((instance.jsonb ->> 'discoverySuppress')::bool, false)) GROUP BY 1, 2, 4 UNION ALL SELECT (jsonb #>> '{record,id}')::uuid AS instanceId, jsonb #>> '{record,source}' AS source, strToTimestamp(jsonb ->> 'createdDate') AS maxDate, false AS suppressFromDiscovery, true AS deleted FROM test_tenant_mod_inventory_storage.audit_instance WHERE $3 AND strToTimestamp(jsonb ->> 'createdDate') BETWEEN dateOrMin($1) AND dateOrMax($2) $BODY$ LANGUAGE sql; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.get_updated_instance_ids_view(startDate timestamptz, endDate timestamptz, deletedRecordSupport bool DEFAULT TRUE, skipSuppressedFromDiscoveryRecords bool DEFAULT TRUE, onlyInstanceUpdateDate bool DEFAULT TRUE) RETURNS TABLE ( "instanceId" uuid, "source" varchar, "updatedDate" timestamptz, "suppressFromDiscovery" boolean, "deleted" boolean ) AS $BODY$ WITH instanceIdsInRange AS ( SELECT inst.id AS instanceId, (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) AS maxDate FROM test_tenant_mod_inventory_storage.instance inst WHERE (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) BETWEEN dateOrMin($1) AND dateOrMax($2) UNION ALL SELECT instanceid, greatest((strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')), (strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate'))) AS maxDate FROM test_tenant_mod_inventory_storage.holdings_record hr JOIN test_tenant_mod_inventory_storage.item item ON item.holdingsrecordid = hr.id WHERE ((strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate')) BETWEEN dateOrMin($1) AND dateOrMax($2) OR (strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')) BETWEEN dateOrMin($1) AND dateOrMax($2)) AND NOT EXISTS (SELECT NULL WHERE $5) UNION ALL SELECT (audit_holdings_record.jsonb #>> '{record,instanceId}')::uuid, greatest((strToTimestamp(audit_item.jsonb -> 'record' ->> 'updatedDate')), (strToTimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate'))) AS maxDate FROM test_tenant_mod_inventory_storage.audit_holdings_record audit_holdings_record JOIN test_tenant_mod_inventory_storage.audit_item audit_item ON (audit_item.jsonb ->> '{record,holdingsRecordId}')::uuid = audit_holdings_record.id WHERE ((strToTimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate')) BETWEEN dateOrMin($1) AND dateOrMax($2) OR (strToTimestamp(audit_item.jsonb #>> '{record,updatedDate}')) BETWEEN dateOrMin($1) AND dateOrMax($2)) AND NOT EXISTS (SELECT NULL WHERE $5) ) SELECT instanceId, instance.jsonb ->> 'source' AS source, MAX(instanceIdsInRange.maxDate) AS maxDate, (instance.jsonb ->> 'discoverySuppress')::bool AS suppressFromDiscovery, false AS deleted FROM instanceIdsInRange, test_tenant_mod_inventory_storage.instance WHERE instanceIdsInRange.maxDate BETWEEN dateOrMin($1) AND dateOrMax($2) AND instance.id = instanceIdsInRange.instanceId AND NOT ($4 AND COALESCE((instance.jsonb ->> 'discoverySuppress')::bool, false)) GROUP BY 1, 2, 4 UNION ALL SELECT (jsonb #>> '{record,id}')::uuid AS instanceId, jsonb #>> '{record,source}' AS source, strToTimestamp(jsonb ->> 'createdDate') AS maxDate, false AS suppressFromDiscovery, true AS deleted FROM test_tenant_mod_inventory_storage.audit_instance WHERE $3 AND strToTimestamp(jsonb ->> 'createdDate') BETWEEN dateOrMin($1) AND dateOrMax($2) $BODY$ LANGUAGE sql; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.get_items_and_holdings_view(instanceIds uuid[], skipSuppressedFromDiscoveryRecords bool DEFAULT TRUE) RETURNS TABLE ( "instanceId" uuid, "source" varchar, "modeOfIssuance" varchar, "natureOfContent" jsonb, "holdings" jsonb, "items" jsonb ) AS $BODY$ WITH -- Locations viewLocations(locId, locJsonb, locCampJsonb, locLibJsonb, locInstJsonb) AS ( SELECT loc.id AS locId, loc.jsonb AS locJsonb, locCamp.jsonb AS locCampJsonb, locLib.jsonb AS locLibJsonb, locInst.jsonb AS locInstJsonb FROM location loc LEFT JOIN locinstitution locInst ON (loc.jsonb ->> 'institutionId')::uuid = locInst.id LEFT JOIN loccampus locCamp ON (loc.jsonb ->> 'campusId')::uuid = locCamp.id LEFT JOIN loclibrary locLib ON (loc.jsonb ->> 'libraryId')::uuid = locLib.id WHERE (loc.jsonb ->> 'isActive')::bool = true ), -- Passed instances ids viewInstances(instId, source, modeOfIssuance, natureOfContent) AS ( SELECT DISTINCT instId AS "instanceId", i.jsonb ->> 'source' AS source, moi.jsonb ->> 'name' AS modeOfIssuance, COALESCE(getNatureOfContentName(COALESCE(i.jsonb #> '{natureOfContentTermIds}', '[]'::jsonb)), '[]'::jsonb) AS natureOfContent FROM UNNEST( $1 ) instId JOIN instance i ON i.id = instId LEFT JOIN mode_of_issuance moi ON moi.id = (i.jsonb ->> 'modeOfIssuanceId')::uuid ), -- Prepared items and holdings viewItemsAndHoldings(instId, records) AS ( SELECT itemAndHoldingsAttrs.instanceId, jsonb_strip_nulls(itemAndHoldingsAttrs.itemsAndHoldings) FROM (SELECT i.id AS instanceId, jsonb_build_object('holdings', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', hr.id, 'hrId', hr.jsonb ->> 'hrId', 'suppressFromDiscovery', CASE WHEN hr.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'holdingsType', ht.jsonb ->> 'name', 'formerIds', hr.jsonb -> 'formerIds', 'location', CASE WHEN hr.id IS NOT NULL THEN json_build_object('permanentLocation', jsonb_build_object('name', COALESCE(holdPermLoc.locJsonb ->> 'discoveryDisplayName', holdPermLoc.locJsonb ->> 'name'), 'code', holdPermLoc.locJsonb ->> 'code', 'campusName', holdPermLoc.locCampJsonb ->> 'name', 'libraryName', holdPermLoc.locLibJsonb ->> 'name', 'institutionName', holdPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(holdTempLoc.locJsonb ->> 'discoveryDisplayName', holdTempLoc.locJsonb ->> 'name'), 'code', holdTempLoc.locJsonb ->> 'code', 'campusName', holdTempLoc.locCampJsonb ->> 'name', 'libraryName', holdTempLoc.locLibJsonb ->> 'name', 'institutionName', holdTempLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', json_build_object('prefix', hr.jsonb ->> 'callNumberPrefix', 'suffix', hr.jsonb ->> 'callNumberSuffix', 'typeId', hr.jsonb ->> 'callNumberTypeId', 'typeName', hrcnt.jsonb ->> 'name', 'callNumber', hr.jsonb ->> 'callNumber'), 'shelvingTitle', hr.jsonb ->> 'shelvingTitle', 'acquisitionFormat', hr.jsonb ->> 'acquisitionFormat', 'acquisitionMethod', hr.jsonb ->> 'acquisitionMethod', 'receiptStatus', hr.jsonb ->> 'receiptStatus', 'electronicAccess', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getHoldingNoteTypeName(hr.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'illPolicy', ilp.jsonb ->> 'name', 'retentionPolicy', hr.jsonb ->> 'retentionPolicy', 'digitizationPolicy', hr.jsonb ->> 'digitizationPolicy', 'holdingsStatements', hr.jsonb -> 'holdingsStatements', 'holdingsStatementsForIndexes', hr.jsonb -> 'holdingsStatementsForIndexes', 'holdingsStatementsForSupplements', hr.jsonb -> 'holdingsStatementsForSupplements', 'copyNumber', hr.jsonb ->> 'copyNumber', 'numberOfItems', hr.jsonb ->> 'numberOfItems', 'receivingHistory', hr.jsonb -> 'receivingHistory', 'tags', hr.jsonb -> 'tags', 'statisticalCodes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getStatisticalCodes(hr.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE hr.id IS NOT NULL), '[]'::jsonb), 'items', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', item.id, 'hrId', item.jsonb ->> 'hrId', 'holdingsRecordId', (item.jsonb ->> 'holdingsRecordId')::UUID, 'suppressFromDiscovery', CASE WHEN item.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'status', item.jsonb #>> '{status, name}', 'formerIds', item.jsonb -> 'formerIds', 'location', CASE WHEN item.id IS NOT NULL THEN json_build_object('location', jsonb_build_object('name', COALESCE(itemEffLoc.locJsonb ->> 'discoveryDisplayName', itemEffLoc.locJsonb ->> 'name'), 'code', itemEffLoc.locJsonb ->> 'code', 'campusName', itemEffLoc.locCampJsonb ->> 'name', 'libraryName', itemEffLoc.locLibJsonb ->> 'name', 'institutionName', itemEffLoc.locInstJsonb ->> 'name'), 'permanentLocation', jsonb_build_object('name', COALESCE(itemPermLoc.locJsonb ->> 'discoveryDisplayName', itemPermLoc.locJsonb ->> 'name'), 'code', itemPermLoc.locJsonb ->> 'code', 'campusName', itemPermLoc.locCampJsonb ->> 'name', 'libraryName', itemPermLoc.locLibJsonb ->> 'name', 'institutionName', itemPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(itemTempLoc.locJsonb ->> 'discoveryDisplayName', itemTempLoc.locJsonb ->> 'name'), 'code', itemTempLoc.locJsonb ->> 'code', 'campusName', itemTempLoc.locCampJsonb ->> 'name', 'libraryName', itemTempLoc.locLibJsonb ->> 'name', 'institutionName', itemTempLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName', cnt.jsonb ->> 'name'), 'accessionNumber', item.jsonb ->> 'accessionNumber', 'barcode', item.jsonb ->> 'barcode', 'copyNumber', item.jsonb ->> 'copyNumber', 'volume', item.jsonb ->> 'volume', 'enumeration', item.jsonb ->> 'enumeration', 'chronology', item.jsonb ->>'chronology', 'yearCaption', item.jsonb -> 'yearCaption', 'itemIdentifier', item.jsonb ->> 'itemIdentifier', 'numberOfPieces', item.jsonb ->> 'numberOfPieces', 'descriptionOfPieces', item.jsonb ->> 'descriptionOfPieces', 'numberOfMissingPieces', item.jsonb ->> 'numberOfMissingPieces', 'missingPieces', item.jsonb ->> 'missingPieces', 'missingPiecesDate', item.jsonb ->> 'missingPiecesDate', 'itemDamagedStatus', itemDmgStat.jsonb ->> 'name', 'itemDamagedStatusDate', item.jsonb ->> 'itemDamagedStatusDate', 'materialType', mt.jsonb ->> 'name', 'permanentLoanType', plt.jsonb ->> 'name', 'temporaryLoanType', tlt.jsonb ->> 'name', 'electronicAccess', CASE WHEN item.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(item.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getItemNoteTypeName(item.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'tags', item.jsonb -> 'tags', 'statisticalCodes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getStatisticalCodes(item.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE item.id IS NOT NULL), '[]'::jsonb) ) itemsAndHoldings FROM test_tenant_mod_inventory_storage.holdings_record hr JOIN test_tenant_mod_inventory_storage.instance i ON i.id = hr.instanceid JOIN viewInstances vi ON vi.instId = i.id LEFT JOIN test_tenant_mod_inventory_storage.item item ON item.holdingsrecordid = hr.id -- Item's Effective location relation LEFT JOIN viewLocations itemEffLoc ON (item.jsonb ->> 'effectiveLocationId')::uuid = itemEffLoc.locId -- Item's Permanent location relation LEFT JOIN viewLocations itemPermLoc ON (item.jsonb ->> 'permanentLocationId')::uuid = itemPermLoc.locId -- Item's Temporary location relation LEFT JOIN viewLocations itemTempLoc ON (item.jsonb ->> 'temporaryLocationId')::uuid = itemTempLoc.locId -- Item's Material type relation LEFT JOIN test_tenant_mod_inventory_storage.material_type mt ON item.materialtypeid = mt.id -- Item's Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type cnt ON (item.jsonb #>> '{effectiveCallNumberComponents, typeId}')::uuid = cnt.id -- Item's Damaged status relation LEFT JOIN test_tenant_mod_inventory_storage.item_damaged_status itemDmgStat ON (item.jsonb ->> 'itemDamagedStatusId')::uuid = itemDmgStat.id -- Item's Permanent loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type plt ON (item.jsonb ->> 'permanentLoanTypeId')::uuid = plt.id -- Item's Temporary loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type tlt ON (item.jsonb ->> 'temporaryLoanTypeId')::uuid = tlt.id -- Holdings type relation LEFT JOIN test_tenant_mod_inventory_storage.holdings_type ht ON ht.id = hr.holdingstypeid -- Holdings Permanent location relation LEFT JOIN viewLocations holdPermLoc ON (hr.jsonb ->> 'permanentLocationId')::uuid = holdPermLoc.locId -- Holdings Temporary location relation LEFT JOIN viewLocations holdTempLoc ON (hr.jsonb ->> 'temporaryLocationId')::uuid = holdTempLoc.locId -- Holdings Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type hrcnt ON (hr.jsonb ->> 'callNumberTypeId')::uuid = hrcnt.id -- Holdings Ill policy relation LEFT JOIN test_tenant_mod_inventory_storage.ill_policy ilp ON hr.illpolicyid = ilp.id WHERE true AND NOT ($2 AND COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false)) AND NOT ($2 AND COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false)) GROUP BY 1 ) itemAndHoldingsAttrs ) -- Instances with items and holding records SELECT vi.instId AS "instanceId", vi.source AS "source", vi.modeOfIssuance AS "modeOfIssuance", vi.natureOfContent AS "natureOfContent", COALESCE(viah.records -> 'holdings', '[]'::jsonb) AS "holdings", COALESCE(viah.records -> 'items', '[]'::jsonb) AS "items" FROM viewInstances vi LEFT JOIN viewItemsAndHoldings viah ON viah.instId = vi.instId $BODY$ LANGUAGE sql; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.get_items_and_holdings_view(instanceIds uuid[], skipSuppressedFromDiscoveryRecords bool DEFAULT TRUE) RETURNS TABLE ( "instanceId" uuid, "source" varchar, "modeOfIssuance" varchar, "natureOfContent" jsonb, "holdings" jsonb, "items" jsonb ) AS $BODY$ WITH -- Locations viewLocations(locId, locJsonb, locCampJsonb, locLibJsonb, locInstJsonb) AS ( SELECT loc.id AS locId, loc.jsonb AS locJsonb, locCamp.jsonb AS locCampJsonb, locLib.jsonb AS locLibJsonb, locInst.jsonb AS locInstJsonb FROM location loc LEFT JOIN locinstitution locInst ON (loc.jsonb ->> 'institutionId')::uuid = locInst.id LEFT JOIN loccampus locCamp ON (loc.jsonb ->> 'campusId')::uuid = locCamp.id LEFT JOIN loclibrary locLib ON (loc.jsonb ->> 'libraryId')::uuid = locLib.id WHERE (loc.jsonb ->> 'isActive')::bool = true ), -- Passed instances ids viewInstances(instId, source, modeOfIssuance, natureOfContent) AS ( SELECT DISTINCT instId AS "instanceId", i.jsonb ->> 'source' AS source, moi.jsonb ->> 'name' AS modeOfIssuance, COALESCE(getNatureOfContentName(COALESCE(i.jsonb #> '{natureOfContentTermIds}', '[]'::jsonb)), '[]'::jsonb) AS natureOfContent FROM UNNEST( $1 ) instId JOIN instance i ON i.id = instId LEFT JOIN mode_of_issuance moi ON moi.id = (i.jsonb ->> 'modeOfIssuanceId')::uuid ), -- Prepared items and holdings viewItemsAndHoldings(instId, records) AS ( SELECT itemAndHoldingsAttrs.instanceId, jsonb_strip_nulls(itemAndHoldingsAttrs.itemsAndHoldings) FROM (SELECT i.id AS instanceId, jsonb_build_object('holdings', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', hr.id, 'hrId', hr.jsonb ->> 'hrId', 'suppressFromDiscovery', CASE WHEN hr.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'holdingsType', ht.jsonb ->> 'name', 'formerIds', hr.jsonb -> 'formerIds', 'location', CASE WHEN hr.id IS NOT NULL THEN json_build_object('permanentLocation', jsonb_build_object('name', COALESCE(holdPermLoc.locJsonb ->> 'discoveryDisplayName', holdPermLoc.locJsonb ->> 'name'), 'code', holdPermLoc.locJsonb ->> 'code', 'campusName', holdPermLoc.locCampJsonb ->> 'name', 'libraryName', holdPermLoc.locLibJsonb ->> 'name', 'institutionName', holdPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(holdTempLoc.locJsonb ->> 'discoveryDisplayName', holdTempLoc.locJsonb ->> 'name'), 'code', holdTempLoc.locJsonb ->> 'code', 'campusName', holdTempLoc.locCampJsonb ->> 'name', 'libraryName', holdTempLoc.locLibJsonb ->> 'name', 'institutionName', holdTempLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', json_build_object('prefix', hr.jsonb ->> 'callNumberPrefix', 'suffix', hr.jsonb ->> 'callNumberSuffix', 'typeId', hr.jsonb ->> 'callNumberTypeId', 'typeName', hrcnt.jsonb ->> 'name', 'callNumber', hr.jsonb ->> 'callNumber'), 'shelvingTitle', hr.jsonb ->> 'shelvingTitle', 'acquisitionFormat', hr.jsonb ->> 'acquisitionFormat', 'acquisitionMethod', hr.jsonb ->> 'acquisitionMethod', 'receiptStatus', hr.jsonb ->> 'receiptStatus', 'electronicAccess', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getHoldingNoteTypeName(hr.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'illPolicy', ilp.jsonb ->> 'name', 'retentionPolicy', hr.jsonb ->> 'retentionPolicy', 'digitizationPolicy', hr.jsonb ->> 'digitizationPolicy', 'holdingsStatements', hr.jsonb -> 'holdingsStatements', 'holdingsStatementsForIndexes', hr.jsonb -> 'holdingsStatementsForIndexes', 'holdingsStatementsForSupplements', hr.jsonb -> 'holdingsStatementsForSupplements', 'copyNumber', hr.jsonb ->> 'copyNumber', 'numberOfItems', hr.jsonb ->> 'numberOfItems', 'receivingHistory', hr.jsonb -> 'receivingHistory', 'tags', hr.jsonb -> 'tags', 'statisticalCodes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getStatisticalCodes(hr.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE hr.id IS NOT NULL), '[]'::jsonb), 'items', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', item.id, 'hrId', item.jsonb ->> 'hrId', 'holdingsRecordId', (item.jsonb ->> 'holdingsRecordId')::UUID, 'suppressFromDiscovery', CASE WHEN item.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'status', item.jsonb #>> '{status, name}', 'formerIds', item.jsonb -> 'formerIds', 'location', CASE WHEN item.id IS NOT NULL THEN json_build_object('location', jsonb_build_object('name', COALESCE(itemEffLoc.locJsonb ->> 'discoveryDisplayName', itemEffLoc.locJsonb ->> 'name'), 'code', itemEffLoc.locJsonb ->> 'code', 'campusName', itemEffLoc.locCampJsonb ->> 'name', 'libraryName', itemEffLoc.locLibJsonb ->> 'name', 'institutionName', itemEffLoc.locInstJsonb ->> 'name'), 'permanentLocation', jsonb_build_object('name', COALESCE(itemPermLoc.locJsonb ->> 'discoveryDisplayName', itemPermLoc.locJsonb ->> 'name'), 'code', itemPermLoc.locJsonb ->> 'code', 'campusName', itemPermLoc.locCampJsonb ->> 'name', 'libraryName', itemPermLoc.locLibJsonb ->> 'name', 'institutionName', itemPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(itemTempLoc.locJsonb ->> 'discoveryDisplayName', itemTempLoc.locJsonb ->> 'name'), 'code', itemTempLoc.locJsonb ->> 'code', 'campusName', itemTempLoc.locCampJsonb ->> 'name', 'libraryName', itemTempLoc.locLibJsonb ->> 'name', 'institutionName', itemTempLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName', cnt.jsonb ->> 'name'), 'accessionNumber', item.jsonb ->> 'accessionNumber', 'barcode', item.jsonb ->> 'barcode', 'copyNumber', item.jsonb ->> 'copyNumber', 'volume', item.jsonb ->> 'volume', 'enumeration', item.jsonb ->> 'enumeration', 'chronology', item.jsonb ->>'chronology', 'yearCaption', item.jsonb -> 'yearCaption', 'itemIdentifier', item.jsonb ->> 'itemIdentifier', 'numberOfPieces', item.jsonb ->> 'numberOfPieces', 'descriptionOfPieces', item.jsonb ->> 'descriptionOfPieces', 'numberOfMissingPieces', item.jsonb ->> 'numberOfMissingPieces', 'missingPieces', item.jsonb ->> 'missingPieces', 'missingPiecesDate', item.jsonb ->> 'missingPiecesDate', 'itemDamagedStatus', itemDmgStat.jsonb ->> 'name', 'itemDamagedStatusDate', item.jsonb ->> 'itemDamagedStatusDate', 'materialType', mt.jsonb ->> 'name', 'permanentLoanType', plt.jsonb ->> 'name', 'temporaryLoanType', tlt.jsonb ->> 'name', 'electronicAccess', CASE WHEN item.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(item.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getItemNoteTypeName(item.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'tags', item.jsonb -> 'tags', 'statisticalCodes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getStatisticalCodes(item.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE item.id IS NOT NULL), '[]'::jsonb) ) itemsAndHoldings FROM test_tenant_mod_inventory_storage.holdings_record hr JOIN test_tenant_mod_inventory_storage.instance i ON i.id = hr.instanceid JOIN viewInstances vi ON vi.instId = i.id LEFT JOIN test_tenant_mod_inventory_storage.item item ON item.holdingsrecordid = hr.id -- Item's Effective location relation LEFT JOIN viewLocations itemEffLoc ON (item.jsonb ->> 'effectiveLocationId')::uuid = itemEffLoc.locId -- Item's Permanent location relation LEFT JOIN viewLocations itemPermLoc ON (item.jsonb ->> 'permanentLocationId')::uuid = itemPermLoc.locId -- Item's Temporary location relation LEFT JOIN viewLocations itemTempLoc ON (item.jsonb ->> 'temporaryLocationId')::uuid = itemTempLoc.locId -- Item's Material type relation LEFT JOIN test_tenant_mod_inventory_storage.material_type mt ON item.materialtypeid = mt.id -- Item's Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type cnt ON (item.jsonb #>> '{effectiveCallNumberComponents, typeId}')::uuid = cnt.id -- Item's Damaged status relation LEFT JOIN test_tenant_mod_inventory_storage.item_damaged_status itemDmgStat ON (item.jsonb ->> 'itemDamagedStatusId')::uuid = itemDmgStat.id -- Item's Permanent loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type plt ON (item.jsonb ->> 'permanentLoanTypeId')::uuid = plt.id -- Item's Temporary loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type tlt ON (item.jsonb ->> 'temporaryLoanTypeId')::uuid = tlt.id -- Holdings type relation LEFT JOIN test_tenant_mod_inventory_storage.holdings_type ht ON ht.id = hr.holdingstypeid -- Holdings Permanent location relation LEFT JOIN viewLocations holdPermLoc ON (hr.jsonb ->> 'permanentLocationId')::uuid = holdPermLoc.locId -- Holdings Temporary location relation LEFT JOIN viewLocations holdTempLoc ON (hr.jsonb ->> 'temporaryLocationId')::uuid = holdTempLoc.locId -- Holdings Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type hrcnt ON (hr.jsonb ->> 'callNumberTypeId')::uuid = hrcnt.id -- Holdings Ill policy relation LEFT JOIN test_tenant_mod_inventory_storage.ill_policy ilp ON hr.illpolicyid = ilp.id WHERE true AND NOT ($2 AND COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false)) AND NOT ($2 AND COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false)) GROUP BY 1 ) itemAndHoldingsAttrs ) -- Instances with items and holding records SELECT vi.instId AS "instanceId", vi.source AS "source", vi.modeOfIssuance AS "modeOfIssuance", vi.natureOfContent AS "natureOfContent", COALESCE(viah.records -> 'holdings', '[]'::jsonb) AS "holdings", COALESCE(viah.records -> 'items', '[]'::jsonb) AS "items" FROM viewInstances vi LEFT JOIN viewItemsAndHoldings viah ON viah.instId = vi.instId $BODY$ LANGUAGE sql; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.ill_policy SET jsonb = jsonb_set(jsonb, '{name}', '"Will not lend"') where id='b0f97013-87f5-4bab-87f2-ac4a5191b489'; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.ill_policy SET jsonb = jsonb_set(jsonb, '{name}', '"Will not lend"') where id='b0f97013-87f5-4bab-87f2-ac4a5191b489'; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO test_tenant_mod_inventory_storage.identifier_type (id, jsonb) VALUES ('fc4e3f2a-887a-46e5-8057-aeeb271a4e56', json_build_object('id','fc4e3f2a-887a-46e5-8057-aeeb271a4e56', 'name', 'Cancelled system control number', 'source', 'folio')) ON CONFLICT DO NOTHING; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO test_tenant_mod_inventory_storage.identifier_type (id, jsonb) VALUES ('fc4e3f2a-887a-46e5-8057-aeeb271a4e56', json_build_object('id','fc4e3f2a-887a-46e5-8057-aeeb271a4e56', 'name', 'Cancelled system control number', 'source', 'folio')) ON CONFLICT DO NOTHING; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getElectronicAccessName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e) FROM ( SELECT e || jsonb_build_object('name', ( SELECT jsonb ->> 'name' FROM test_tenant_mod_inventory_storage.electronic_access_relationship WHERE id = nullif(e ->> 'relationshipId','')::uuid )) e FROM jsonb_array_elements($1) AS e ) e1 $$ LANGUAGE sql strict; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getElectronicAccessName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e) FROM ( SELECT e || jsonb_build_object('name', ( SELECT jsonb ->> 'name' FROM test_tenant_mod_inventory_storage.electronic_access_relationship WHERE id = nullif(e ->> 'relationshipId','')::uuid )) e FROM jsonb_array_elements($1) AS e ) e1 $$ LANGUAGE sql strict; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getItemNoteTypeName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e) FROM ( SELECT e - 'itemNoteTypeId' - 'staffOnly' || jsonb_build_object('itemNoteTypeName', ( SELECT jsonb ->> 'name' FROM item_note_type WHERE id = nullif(e ->> 'itemNoteTypeId','')::uuid )) e FROM jsonb_array_elements( $1 ) AS e WHERE NOT (e ->> 'staffOnly')::bool ) e1 $$ LANGUAGE sql strict; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getItemNoteTypeName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e) FROM ( SELECT e - 'itemNoteTypeId' - 'staffOnly' || jsonb_build_object('itemNoteTypeName', ( SELECT jsonb ->> 'name' FROM item_note_type WHERE id = nullif(e ->> 'itemNoteTypeId','')::uuid )) e FROM jsonb_array_elements( $1 ) AS e WHERE NOT (e ->> 'staffOnly')::bool ) e1 $$ LANGUAGE sql strict; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getHoldingNoteTypeName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e) FROM ( SELECT e - 'holdingsNoteTypeId' - 'staffOnly' || jsonb_build_object('holdingsNoteTypeName', ( SELECT jsonb ->> 'name' FROM holdings_note_type WHERE id = nullif(e ->> 'holdingsNoteTypeId','')::uuid )) e FROM jsonb_array_elements( $1 ) AS e WHERE NOT (e ->> 'staffOnly')::bool ) e1 $$ LANGUAGE sql strict; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getHoldingNoteTypeName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e) FROM ( SELECT e - 'holdingsNoteTypeId' - 'staffOnly' || jsonb_build_object('holdingsNoteTypeName', ( SELECT jsonb ->> 'name' FROM holdings_note_type WHERE id = nullif(e ->> 'holdingsNoteTypeId','')::uuid )) e FROM jsonb_array_elements( $1 ) AS e WHERE NOT (e ->> 'staffOnly')::bool ) e1 $$ LANGUAGE sql strict; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getStatisticalCodes(val jsonb) RETURNS jsonb AS $$ WITH stat_codes(statCodeId, statCodeJsonb, statCodeTypeJsonb) AS ( SELECT sc.id, sc.jsonb, sct.jsonb FROM statistical_code sc JOIN statistical_code_type sct ON sct.id = sc.statisticalcodetypeid ) SELECT jsonb_agg(DISTINCT jsonb_build_object('id', sc.statCodeJsonb ->> 'id') || jsonb_build_object('code', sc.statCodeJsonb ->> 'code') || jsonb_build_object('name', sc.statCodeJsonb ->> 'name') || jsonb_build_object('statisticalCodeType', sc.statCodeTypeJsonb ->> 'name') || jsonb_build_object('source', sc.statCodeTypeJsonb ->> 'source')) FROM jsonb_array_elements( $1 ) AS e, stat_codes sc WHERE sc.statCodeId = nullif(e ->> 0,'')::uuid $$ LANGUAGE sql strict; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getStatisticalCodes(val jsonb) RETURNS jsonb AS $$ WITH stat_codes(statCodeId, statCodeJsonb, statCodeTypeJsonb) AS ( SELECT sc.id, sc.jsonb, sct.jsonb FROM statistical_code sc JOIN statistical_code_type sct ON sct.id = sc.statisticalcodetypeid ) SELECT jsonb_agg(DISTINCT jsonb_build_object('id', sc.statCodeJsonb ->> 'id') || jsonb_build_object('code', sc.statCodeJsonb ->> 'code') || jsonb_build_object('name', sc.statCodeJsonb ->> 'name') || jsonb_build_object('statisticalCodeType', sc.statCodeTypeJsonb ->> 'name') || jsonb_build_object('source', sc.statCodeTypeJsonb ->> 'source')) FROM jsonb_array_elements( $1 ) AS e, stat_codes sc WHERE sc.statCodeId = nullif(e ->> 0,'')::uuid $$ LANGUAGE sql strict; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getNatureOfContentName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e.name) FROM ( SELECT (jsonb ->> 'name') AS "name" FROM test_tenant_mod_inventory_storage.nature_of_content_term JOIN jsonb_array_elements($1) as insNoctIds ON id = nullif(insNoctIds ->> 0,'')::uuid) e $$ LANGUAGE sql strict; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getNatureOfContentName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e.name) FROM ( SELECT (jsonb ->> 'name') AS "name" FROM test_tenant_mod_inventory_storage.nature_of_content_term JOIN jsonb_array_elements($1) as insNoctIds ON id = nullif(insNoctIds ->> 0,'')::uuid) e $$ LANGUAGE sql strict; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.pmh_view_function(startDate timestamptz, endDate timestamptz, deletedRecordSupport bool default true, skipSuppressedFromDiscoveryRecords bool default true) returns table ( instanceId uuid, updatedDate timestamptz, deleted boolean, itemsAndHoldingsFields jsonb ) as $body$ with instanceIdsInRange as ( select inst.id as instanceId, (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) as maxDate from test_tenant_mod_inventory_storage.instance inst where (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) union all select instanceid, greatest((strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')), (strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate'))) as maxDate from holdings_record hr join test_tenant_mod_inventory_storage.item item on item.holdingsrecordid = hr.id where ((strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) or (strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2)) union all select (audit_holdings_record.jsonb #>> '{record,instanceId}')::uuid, greatest((strtotimestamp(audit_item.jsonb -> 'record' ->> 'updatedDate')), (strtotimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate'))) as maxDate from audit_holdings_record audit_holdings_record join audit_item audit_item on (audit_item.jsonb ->> '{record,holdingsRecordId}')::uuid = audit_holdings_record.id where ((strToTimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) or (strToTimestamp(audit_item.jsonb #>> '{record,updatedDate}')) between dateOrMin($1) and dateOrMax($2)) ), instanceIdsAndDatesInRange as ( select instanceId, max(instanceIdsInRange.maxDate) as maxDate, (instance.jsonb ->> 'discoverySuppress')::bool as suppressFromDiscovery from instanceIdsInRange, instance where instanceIdsInRange.maxDate between dateOrMin($1) and dateOrMax($2) and instance.id = instanceIdsInRange.instanceId and not ($4 and coalesce((instance.jsonb ->> 'discoverySuppress')::bool, false)) group by 1, 3) select instanceIdsAndDatesInRange.instanceId, instanceIdsAndDatesInRange.maxDate, false as deleted, ( select to_jsonb(itemAndHoldingsAttrs) as instanceFields from ( select hr.instanceid, instanceIdsAndDatesInRange.suppressFromDiscovery as suppressFromDiscovery, jsonb_agg(jsonb_build_object('id', item.id, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName',cnt.jsonb ->> 'name'), 'location', json_build_object('location', jsonb_build_object('institutionId', itemLocInst.id, 'institutionName', itemLocInst.jsonb ->> 'name', 'campusId', itemLocCamp.id, 'campusName', itemLocCamp.jsonb ->> 'name', 'libraryId', itemLocLib.id, 'libraryName', itemLocLib.jsonb ->> 'name'), 'name', coalesce(loc.jsonb ->> 'discoveryDisplayName', loc.jsonb ->> 'name')), 'volume', item.jsonb -> 'volume', 'enumeration', item.jsonb -> 'enumeration', 'materialType', mt.jsonb -> 'name', 'electronicAccess', getElectronicAccessName( coalesce(item.jsonb #> '{electronicAccess}', '[]'::jsonb) || coalesce(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), 'suppressFromDiscovery', case when instanceIdsAndDatesInRange.suppressFromDiscovery then true else coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false) or coalesce((item.jsonb ->> 'discoverySuppress')::bool, false) end, 'notes', getItemNoteTypeName(item.jsonb-> 'notes'), 'barcode', item.jsonb->>'barcode', 'chronology', item.jsonb->>'chronology', 'copyNumber', item.jsonb->>'copyNumber', 'holdingsRecordId', hr.id )) items from holdings_record hr join test_tenant_mod_inventory_storage.item item on item.holdingsrecordid = hr.id join test_tenant_mod_inventory_storage.location loc on (item.jsonb ->> 'effectiveLocationId')::uuid = loc.id and (loc.jsonb ->> 'isActive')::bool = true join test_tenant_mod_inventory_storage.locinstitution itemLocInst on (loc.jsonb ->> 'institutionId')::uuid = itemLocInst.id join test_tenant_mod_inventory_storage.loccampus itemLocCamp on (loc.jsonb ->> 'campusId')::uuid = itemLocCamp.id join test_tenant_mod_inventory_storage.loclibrary itemLocLib on (loc.jsonb ->> 'libraryId')::uuid = itemLocLib.id left join test_tenant_mod_inventory_storage.material_type mt on item.materialtypeid = mt.id left join test_tenant_mod_inventory_storage.call_number_type cnt on nullif(item.jsonb #>> '{effectiveCallNumberComponents, typeId}','')::uuid = cnt.id where instanceId = instanceIdsAndDatesInRange.instanceId and not ($4 and coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false)) and not ($4 and coalesce((item.jsonb ->> 'discoverySuppress')::bool, false)) group by 1) itemAndHoldingsAttrs ) from instanceIdsAndDatesInRange union all select (audit_instance.jsonb #>> '{record,id}')::uuid as instanceId, strToTimestamp(jsonb ->> 'createdDate') as maxDate, true as deleted, null as itemFields from test_tenant_mod_inventory_storage.audit_instance where $3 and strToTimestamp(jsonb ->> 'createdDate') between dateOrMin($1) and dateOrMax($2) $body$ language sql; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.pmh_view_function(startDate timestamptz, endDate timestamptz, deletedRecordSupport bool default true, skipSuppressedFromDiscoveryRecords bool default true) returns table ( instanceId uuid, updatedDate timestamptz, deleted boolean, itemsAndHoldingsFields jsonb ) as $body$ with instanceIdsInRange as ( select inst.id as instanceId, (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) as maxDate from test_tenant_mod_inventory_storage.instance inst where (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) union all select instanceid, greatest((strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')), (strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate'))) as maxDate from holdings_record hr join test_tenant_mod_inventory_storage.item item on item.holdingsrecordid = hr.id where ((strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) or (strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2)) union all select (audit_holdings_record.jsonb #>> '{record,instanceId}')::uuid, greatest((strtotimestamp(audit_item.jsonb -> 'record' ->> 'updatedDate')), (strtotimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate'))) as maxDate from audit_holdings_record audit_holdings_record join audit_item audit_item on (audit_item.jsonb ->> '{record,holdingsRecordId}')::uuid = audit_holdings_record.id where ((strToTimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) or (strToTimestamp(audit_item.jsonb #>> '{record,updatedDate}')) between dateOrMin($1) and dateOrMax($2)) ), instanceIdsAndDatesInRange as ( select instanceId, max(instanceIdsInRange.maxDate) as maxDate, (instance.jsonb ->> 'discoverySuppress')::bool as suppressFromDiscovery from instanceIdsInRange, instance where instanceIdsInRange.maxDate between dateOrMin($1) and dateOrMax($2) and instance.id = instanceIdsInRange.instanceId and not ($4 and coalesce((instance.jsonb ->> 'discoverySuppress')::bool, false)) group by 1, 3) select instanceIdsAndDatesInRange.instanceId, instanceIdsAndDatesInRange.maxDate, false as deleted, ( select to_jsonb(itemAndHoldingsAttrs) as instanceFields from ( select hr.instanceid, instanceIdsAndDatesInRange.suppressFromDiscovery as suppressFromDiscovery, jsonb_agg(jsonb_build_object('id', item.id, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName',cnt.jsonb ->> 'name'), 'location', json_build_object('location', jsonb_build_object('institutionId', itemLocInst.id, 'institutionName', itemLocInst.jsonb ->> 'name', 'campusId', itemLocCamp.id, 'campusName', itemLocCamp.jsonb ->> 'name', 'libraryId', itemLocLib.id, 'libraryName', itemLocLib.jsonb ->> 'name'), 'name', coalesce(loc.jsonb ->> 'discoveryDisplayName', loc.jsonb ->> 'name')), 'volume', item.jsonb -> 'volume', 'enumeration', item.jsonb -> 'enumeration', 'materialType', mt.jsonb -> 'name', 'electronicAccess', getElectronicAccessName( coalesce(item.jsonb #> '{electronicAccess}', '[]'::jsonb) || coalesce(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), 'suppressFromDiscovery', case when instanceIdsAndDatesInRange.suppressFromDiscovery then true else coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false) or coalesce((item.jsonb ->> 'discoverySuppress')::bool, false) end, 'notes', getItemNoteTypeName(item.jsonb-> 'notes'), 'barcode', item.jsonb->>'barcode', 'chronology', item.jsonb->>'chronology', 'copyNumber', item.jsonb->>'copyNumber', 'holdingsRecordId', hr.id )) items from holdings_record hr join test_tenant_mod_inventory_storage.item item on item.holdingsrecordid = hr.id join test_tenant_mod_inventory_storage.location loc on (item.jsonb ->> 'effectiveLocationId')::uuid = loc.id and (loc.jsonb ->> 'isActive')::bool = true join test_tenant_mod_inventory_storage.locinstitution itemLocInst on (loc.jsonb ->> 'institutionId')::uuid = itemLocInst.id join test_tenant_mod_inventory_storage.loccampus itemLocCamp on (loc.jsonb ->> 'campusId')::uuid = itemLocCamp.id join test_tenant_mod_inventory_storage.loclibrary itemLocLib on (loc.jsonb ->> 'libraryId')::uuid = itemLocLib.id left join test_tenant_mod_inventory_storage.material_type mt on item.materialtypeid = mt.id left join test_tenant_mod_inventory_storage.call_number_type cnt on nullif(item.jsonb #>> '{effectiveCallNumberComponents, typeId}','')::uuid = cnt.id where instanceId = instanceIdsAndDatesInRange.instanceId and not ($4 and coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false)) and not ($4 and coalesce((item.jsonb ->> 'discoverySuppress')::bool, false)) group by 1) itemAndHoldingsAttrs ) from instanceIdsAndDatesInRange union all select (audit_instance.jsonb #>> '{record,id}')::uuid as instanceId, strToTimestamp(jsonb ->> 'createdDate') as maxDate, true as deleted, null as itemFields from test_tenant_mod_inventory_storage.audit_instance where $3 and strToTimestamp(jsonb ->> 'createdDate') between dateOrMin($1) and dateOrMax($2) $body$ language sql; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.pmh_instance_view_function(instanceIds uuid[], skipSuppressedFromDiscoveryRecords bool default true) returns table ( instanceId uuid, itemsAndHoldingsFields jsonb ) as $body$ select instId, (select to_jsonb(itemAndHoldingsAttrs) as itemsAndHoldingsFields from ( select hr.instanceid, jsonb_agg(jsonb_build_object('id', item.id, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName',cnt.jsonb ->> 'name'), 'location', json_build_object('location', jsonb_build_object('institutionId', itemLocInst.id, 'institutionName', itemLocInst.jsonb ->> 'name', 'campusId', itemLocCamp.id, 'campusName', itemLocCamp.jsonb ->> 'name', 'libraryId', itemLocLib.id, 'libraryName', itemLocLib.jsonb ->> 'name'), 'name', coalesce(loc.jsonb ->> 'discoveryDisplayName', loc.jsonb ->> 'name')), 'volume', item.jsonb -> 'volume', 'enumeration', item.jsonb -> 'enumeration', 'materialType', mt.jsonb -> 'name', 'electronicAccess', getElectronicAccessName( coalesce(item.jsonb #> '{electronicAccess}', '[]'::jsonb) || coalesce(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), 'suppressFromDiscovery', coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false) or coalesce((item.jsonb ->> 'discoverySuppress')::bool, false), 'notes', getItemNoteTypeName(item.jsonb-> 'notes'), 'barcode', item.jsonb->>'barcode', 'chronology', item.jsonb->>'chronology', 'copyNumber', item.jsonb->>'copyNumber', 'holdingsRecordId', hr.id )) items from holdings_record hr join test_tenant_mod_inventory_storage.item item on item.holdingsrecordid = hr.id join test_tenant_mod_inventory_storage.location loc on (item.jsonb ->> 'effectiveLocationId')::uuid = loc.id and (loc.jsonb ->> 'isActive')::bool = true join test_tenant_mod_inventory_storage.locinstitution itemLocInst on (loc.jsonb ->> 'institutionId')::uuid = itemLocInst.id join test_tenant_mod_inventory_storage.loccampus itemLocCamp on (loc.jsonb ->> 'campusId')::uuid = itemLocCamp.id join test_tenant_mod_inventory_storage.loclibrary itemLocLib on (loc.jsonb ->> 'libraryId')::uuid = itemLocLib.id left join test_tenant_mod_inventory_storage.material_type mt on item.materialtypeid = mt.id left join test_tenant_mod_inventory_storage.call_number_type cnt on nullif(item.jsonb #>> '{effectiveCallNumberComponents, typeId}','')::uuid = cnt.id where instanceId = instId and not ($2 and coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false)) and not ($2 and coalesce((item.jsonb ->> 'discoverySuppress')::bool, false)) group by 1) itemAndHoldingsAttrs) FROM unnest( $1 ) AS instId; $body$ language sql; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.pmh_instance_view_function(instanceIds uuid[], skipSuppressedFromDiscoveryRecords bool default true) returns table ( instanceId uuid, itemsAndHoldingsFields jsonb ) as $body$ select instId, (select to_jsonb(itemAndHoldingsAttrs) as itemsAndHoldingsFields from ( select hr.instanceid, jsonb_agg(jsonb_build_object('id', item.id, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName',cnt.jsonb ->> 'name'), 'location', json_build_object('location', jsonb_build_object('institutionId', itemLocInst.id, 'institutionName', itemLocInst.jsonb ->> 'name', 'campusId', itemLocCamp.id, 'campusName', itemLocCamp.jsonb ->> 'name', 'libraryId', itemLocLib.id, 'libraryName', itemLocLib.jsonb ->> 'name'), 'name', coalesce(loc.jsonb ->> 'discoveryDisplayName', loc.jsonb ->> 'name')), 'volume', item.jsonb -> 'volume', 'enumeration', item.jsonb -> 'enumeration', 'materialType', mt.jsonb -> 'name', 'electronicAccess', getElectronicAccessName( coalesce(item.jsonb #> '{electronicAccess}', '[]'::jsonb) || coalesce(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), 'suppressFromDiscovery', coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false) or coalesce((item.jsonb ->> 'discoverySuppress')::bool, false), 'notes', getItemNoteTypeName(item.jsonb-> 'notes'), 'barcode', item.jsonb->>'barcode', 'chronology', item.jsonb->>'chronology', 'copyNumber', item.jsonb->>'copyNumber', 'holdingsRecordId', hr.id )) items from holdings_record hr join test_tenant_mod_inventory_storage.item item on item.holdingsrecordid = hr.id join test_tenant_mod_inventory_storage.location loc on (item.jsonb ->> 'effectiveLocationId')::uuid = loc.id and (loc.jsonb ->> 'isActive')::bool = true join test_tenant_mod_inventory_storage.locinstitution itemLocInst on (loc.jsonb ->> 'institutionId')::uuid = itemLocInst.id join test_tenant_mod_inventory_storage.loccampus itemLocCamp on (loc.jsonb ->> 'campusId')::uuid = itemLocCamp.id join test_tenant_mod_inventory_storage.loclibrary itemLocLib on (loc.jsonb ->> 'libraryId')::uuid = itemLocLib.id left join test_tenant_mod_inventory_storage.material_type mt on item.materialtypeid = mt.id left join test_tenant_mod_inventory_storage.call_number_type cnt on nullif(item.jsonb #>> '{effectiveCallNumberComponents, typeId}','')::uuid = cnt.id where instanceId = instId and not ($2 and coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false)) and not ($2 and coalesce((item.jsonb ->> 'discoverySuppress')::bool, false)) group by 1) itemAndHoldingsAttrs) FROM unnest( $1 ) AS instId; $body$ language sql; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.get_items_and_holdings_view(instanceIds uuid[], skipSuppressedFromDiscoveryRecords bool DEFAULT TRUE) RETURNS TABLE ( "instanceId" uuid, "source" varchar, "modeOfIssuance" varchar, "natureOfContent" jsonb, "holdings" jsonb, "items" jsonb ) AS $BODY$ WITH -- Locations viewLocations(locId, locJsonb, locCampJsonb, locLibJsonb, locInstJsonb) AS ( SELECT loc.id AS locId, loc.jsonb AS locJsonb, locCamp.jsonb AS locCampJsonb, locLib.jsonb AS locLibJsonb, locInst.jsonb AS locInstJsonb FROM location loc LEFT JOIN locinstitution locInst ON (loc.jsonb ->> 'institutionId')::uuid = locInst.id LEFT JOIN loccampus locCamp ON (loc.jsonb ->> 'campusId')::uuid = locCamp.id LEFT JOIN loclibrary locLib ON (loc.jsonb ->> 'libraryId')::uuid = locLib.id WHERE (loc.jsonb ->> 'isActive')::bool = true ), -- Passed instances ids viewInstances(instId, source, modeOfIssuance, natureOfContent) AS ( SELECT DISTINCT instId AS "instanceId", i.jsonb ->> 'source' AS source, moi.jsonb ->> 'name' AS modeOfIssuance, COALESCE(getNatureOfContentName(COALESCE(i.jsonb #> '{natureOfContentTermIds}', '[]'::jsonb)), '[]'::jsonb) AS natureOfContent FROM UNNEST( $1 ) instId JOIN instance i ON i.id = instId LEFT JOIN mode_of_issuance moi ON moi.id = nullif(i.jsonb ->> 'modeOfIssuanceId','')::uuid ), -- Prepared items and holdings viewItemsAndHoldings(instId, records) AS ( SELECT itemAndHoldingsAttrs.instanceId, jsonb_strip_nulls(itemAndHoldingsAttrs.itemsAndHoldings) FROM (SELECT i.id AS instanceId, jsonb_build_object('holdings', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', hr.id, 'hrId', hr.jsonb ->> 'hrId', 'suppressFromDiscovery', CASE WHEN hr.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'holdingsType', ht.jsonb ->> 'name', 'formerIds', hr.jsonb -> 'formerIds', 'location', CASE WHEN hr.id IS NOT NULL THEN json_build_object('permanentLocation', jsonb_build_object('name', COALESCE(holdPermLoc.locJsonb ->> 'discoveryDisplayName', holdPermLoc.locJsonb ->> 'name'), 'code', holdPermLoc.locJsonb ->> 'code', 'campusName', holdPermLoc.locCampJsonb ->> 'name', 'libraryName', holdPermLoc.locLibJsonb ->> 'name', 'institutionName', holdPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(holdTempLoc.locJsonb ->> 'discoveryDisplayName', holdTempLoc.locJsonb ->> 'name'), 'code', holdTempLoc.locJsonb ->> 'code', 'campusName', holdTempLoc.locCampJsonb ->> 'name', 'libraryName', holdTempLoc.locLibJsonb ->> 'name', 'institutionName', holdTempLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', json_build_object('prefix', hr.jsonb ->> 'callNumberPrefix', 'suffix', hr.jsonb ->> 'callNumberSuffix', 'typeId', hr.jsonb ->> 'callNumberTypeId', 'typeName', hrcnt.jsonb ->> 'name', 'callNumber', hr.jsonb ->> 'callNumber'), 'shelvingTitle', hr.jsonb ->> 'shelvingTitle', 'acquisitionFormat', hr.jsonb ->> 'acquisitionFormat', 'acquisitionMethod', hr.jsonb ->> 'acquisitionMethod', 'receiptStatus', hr.jsonb ->> 'receiptStatus', 'electronicAccess', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getHoldingNoteTypeName(hr.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'illPolicy', ilp.jsonb ->> 'name', 'retentionPolicy', hr.jsonb ->> 'retentionPolicy', 'digitizationPolicy', hr.jsonb ->> 'digitizationPolicy', 'holdingsStatements', hr.jsonb -> 'holdingsStatements', 'holdingsStatementsForIndexes', hr.jsonb -> 'holdingsStatementsForIndexes', 'holdingsStatementsForSupplements', hr.jsonb -> 'holdingsStatementsForSupplements', 'copyNumber', hr.jsonb ->> 'copyNumber', 'numberOfItems', hr.jsonb ->> 'numberOfItems', 'receivingHistory', hr.jsonb -> 'receivingHistory', 'tags', hr.jsonb -> 'tags', 'statisticalCodes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getStatisticalCodes(hr.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE hr.id IS NOT NULL), '[]'::jsonb), 'items', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', item.id, 'hrId', item.jsonb ->> 'hrId', 'holdingsRecordId', (item.jsonb ->> 'holdingsRecordId')::UUID, 'suppressFromDiscovery', CASE WHEN item.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'status', item.jsonb #>> '{status, name}', 'formerIds', item.jsonb -> 'formerIds', 'location', CASE WHEN item.id IS NOT NULL THEN json_build_object('location', jsonb_build_object('name', COALESCE(itemEffLoc.locJsonb ->> 'discoveryDisplayName', itemEffLoc.locJsonb ->> 'name'), 'code', itemEffLoc.locJsonb ->> 'code', 'campusName', itemEffLoc.locCampJsonb ->> 'name', 'libraryName', itemEffLoc.locLibJsonb ->> 'name', 'institutionName', itemEffLoc.locInstJsonb ->> 'name'), 'permanentLocation', jsonb_build_object('name', COALESCE(itemPermLoc.locJsonb ->> 'discoveryDisplayName', itemPermLoc.locJsonb ->> 'name'), 'code', itemPermLoc.locJsonb ->> 'code', 'campusName', itemPermLoc.locCampJsonb ->> 'name', 'libraryName', itemPermLoc.locLibJsonb ->> 'name', 'institutionName', itemPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(itemTempLoc.locJsonb ->> 'discoveryDisplayName', itemTempLoc.locJsonb ->> 'name'), 'code', itemTempLoc.locJsonb ->> 'code', 'campusName', itemTempLoc.locCampJsonb ->> 'name', 'libraryName', itemTempLoc.locLibJsonb ->> 'name', 'institutionName', itemTempLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName', cnt.jsonb ->> 'name'), 'accessionNumber', item.jsonb ->> 'accessionNumber', 'barcode', item.jsonb ->> 'barcode', 'copyNumber', item.jsonb ->> 'copyNumber', 'volume', item.jsonb ->> 'volume', 'enumeration', item.jsonb ->> 'enumeration', 'chronology', item.jsonb ->>'chronology', 'yearCaption', item.jsonb -> 'yearCaption', 'itemIdentifier', item.jsonb ->> 'itemIdentifier', 'numberOfPieces', item.jsonb ->> 'numberOfPieces', 'descriptionOfPieces', item.jsonb ->> 'descriptionOfPieces', 'numberOfMissingPieces', item.jsonb ->> 'numberOfMissingPieces', 'missingPieces', item.jsonb ->> 'missingPieces', 'missingPiecesDate', item.jsonb ->> 'missingPiecesDate', 'itemDamagedStatus', itemDmgStat.jsonb ->> 'name', 'itemDamagedStatusDate', item.jsonb ->> 'itemDamagedStatusDate', 'materialType', mt.jsonb ->> 'name', 'permanentLoanType', plt.jsonb ->> 'name', 'temporaryLoanType', tlt.jsonb ->> 'name', 'electronicAccess', CASE WHEN item.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(item.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getItemNoteTypeName(item.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'tags', item.jsonb -> 'tags', 'statisticalCodes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getStatisticalCodes(item.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE item.id IS NOT NULL), '[]'::jsonb) ) itemsAndHoldings FROM test_tenant_mod_inventory_storage.holdings_record hr JOIN test_tenant_mod_inventory_storage.instance i ON i.id = hr.instanceid JOIN viewInstances vi ON vi.instId = i.id LEFT JOIN test_tenant_mod_inventory_storage.item item ON item.holdingsrecordid = hr.id -- Item's Effective location relation LEFT JOIN viewLocations itemEffLoc ON (item.jsonb ->> 'effectiveLocationId')::uuid = itemEffLoc.locId -- Item's Permanent location relation LEFT JOIN viewLocations itemPermLoc ON (item.jsonb ->> 'permanentLocationId')::uuid = itemPermLoc.locId -- Item's Temporary location relation LEFT JOIN viewLocations itemTempLoc ON (item.jsonb ->> 'temporaryLocationId')::uuid = itemTempLoc.locId -- Item's Material type relation LEFT JOIN test_tenant_mod_inventory_storage.material_type mt ON item.materialtypeid = mt.id -- Item's Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type cnt ON (item.jsonb #>> '{effectiveCallNumberComponents, typeId}')::uuid = cnt.id -- Item's Damaged status relation LEFT JOIN test_tenant_mod_inventory_storage.item_damaged_status itemDmgStat ON (item.jsonb ->> 'itemDamagedStatusId')::uuid = itemDmgStat.id -- Item's Permanent loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type plt ON (item.jsonb ->> 'permanentLoanTypeId')::uuid = plt.id -- Item's Temporary loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type tlt ON (item.jsonb ->> 'temporaryLoanTypeId')::uuid = tlt.id -- Holdings type relation LEFT JOIN test_tenant_mod_inventory_storage.holdings_type ht ON ht.id = hr.holdingstypeid -- Holdings Permanent location relation LEFT JOIN viewLocations holdPermLoc ON (hr.jsonb ->> 'permanentLocationId')::uuid = holdPermLoc.locId -- Holdings Temporary location relation LEFT JOIN viewLocations holdTempLoc ON (hr.jsonb ->> 'temporaryLocationId')::uuid = holdTempLoc.locId -- Holdings Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type hrcnt ON (hr.jsonb ->> 'callNumberTypeId')::uuid = hrcnt.id -- Holdings Ill policy relation LEFT JOIN test_tenant_mod_inventory_storage.ill_policy ilp ON hr.illpolicyid = ilp.id WHERE true AND NOT ($2 AND COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false)) AND NOT ($2 AND COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false)) GROUP BY 1 ) itemAndHoldingsAttrs ) -- Instances with items and holding records SELECT vi.instId AS "instanceId", vi.source AS "source", vi.modeOfIssuance AS "modeOfIssuance", vi.natureOfContent AS "natureOfContent", COALESCE(viah.records -> 'holdings', '[]'::jsonb) AS "holdings", COALESCE(viah.records -> 'items', '[]'::jsonb) AS "items" FROM viewInstances vi LEFT JOIN viewItemsAndHoldings viah ON viah.instId = vi.instId $BODY$ LANGUAGE sql; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.get_items_and_holdings_view(instanceIds uuid[], skipSuppressedFromDiscoveryRecords bool DEFAULT TRUE) RETURNS TABLE ( "instanceId" uuid, "source" varchar, "modeOfIssuance" varchar, "natureOfContent" jsonb, "holdings" jsonb, "items" jsonb ) AS $BODY$ WITH -- Locations viewLocations(locId, locJsonb, locCampJsonb, locLibJsonb, locInstJsonb) AS ( SELECT loc.id AS locId, loc.jsonb AS locJsonb, locCamp.jsonb AS locCampJsonb, locLib.jsonb AS locLibJsonb, locInst.jsonb AS locInstJsonb FROM location loc LEFT JOIN locinstitution locInst ON (loc.jsonb ->> 'institutionId')::uuid = locInst.id LEFT JOIN loccampus locCamp ON (loc.jsonb ->> 'campusId')::uuid = locCamp.id LEFT JOIN loclibrary locLib ON (loc.jsonb ->> 'libraryId')::uuid = locLib.id WHERE (loc.jsonb ->> 'isActive')::bool = true ), -- Passed instances ids viewInstances(instId, source, modeOfIssuance, natureOfContent) AS ( SELECT DISTINCT instId AS "instanceId", i.jsonb ->> 'source' AS source, moi.jsonb ->> 'name' AS modeOfIssuance, COALESCE(getNatureOfContentName(COALESCE(i.jsonb #> '{natureOfContentTermIds}', '[]'::jsonb)), '[]'::jsonb) AS natureOfContent FROM UNNEST( $1 ) instId JOIN instance i ON i.id = instId LEFT JOIN mode_of_issuance moi ON moi.id = nullif(i.jsonb ->> 'modeOfIssuanceId','')::uuid ), -- Prepared items and holdings viewItemsAndHoldings(instId, records) AS ( SELECT itemAndHoldingsAttrs.instanceId, jsonb_strip_nulls(itemAndHoldingsAttrs.itemsAndHoldings) FROM (SELECT i.id AS instanceId, jsonb_build_object('holdings', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', hr.id, 'hrId', hr.jsonb ->> 'hrId', 'suppressFromDiscovery', CASE WHEN hr.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'holdingsType', ht.jsonb ->> 'name', 'formerIds', hr.jsonb -> 'formerIds', 'location', CASE WHEN hr.id IS NOT NULL THEN json_build_object('permanentLocation', jsonb_build_object('name', COALESCE(holdPermLoc.locJsonb ->> 'discoveryDisplayName', holdPermLoc.locJsonb ->> 'name'), 'code', holdPermLoc.locJsonb ->> 'code', 'campusName', holdPermLoc.locCampJsonb ->> 'name', 'libraryName', holdPermLoc.locLibJsonb ->> 'name', 'institutionName', holdPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(holdTempLoc.locJsonb ->> 'discoveryDisplayName', holdTempLoc.locJsonb ->> 'name'), 'code', holdTempLoc.locJsonb ->> 'code', 'campusName', holdTempLoc.locCampJsonb ->> 'name', 'libraryName', holdTempLoc.locLibJsonb ->> 'name', 'institutionName', holdTempLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', json_build_object('prefix', hr.jsonb ->> 'callNumberPrefix', 'suffix', hr.jsonb ->> 'callNumberSuffix', 'typeId', hr.jsonb ->> 'callNumberTypeId', 'typeName', hrcnt.jsonb ->> 'name', 'callNumber', hr.jsonb ->> 'callNumber'), 'shelvingTitle', hr.jsonb ->> 'shelvingTitle', 'acquisitionFormat', hr.jsonb ->> 'acquisitionFormat', 'acquisitionMethod', hr.jsonb ->> 'acquisitionMethod', 'receiptStatus', hr.jsonb ->> 'receiptStatus', 'electronicAccess', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getHoldingNoteTypeName(hr.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'illPolicy', ilp.jsonb ->> 'name', 'retentionPolicy', hr.jsonb ->> 'retentionPolicy', 'digitizationPolicy', hr.jsonb ->> 'digitizationPolicy', 'holdingsStatements', hr.jsonb -> 'holdingsStatements', 'holdingsStatementsForIndexes', hr.jsonb -> 'holdingsStatementsForIndexes', 'holdingsStatementsForSupplements', hr.jsonb -> 'holdingsStatementsForSupplements', 'copyNumber', hr.jsonb ->> 'copyNumber', 'numberOfItems', hr.jsonb ->> 'numberOfItems', 'receivingHistory', hr.jsonb -> 'receivingHistory', 'tags', hr.jsonb -> 'tags', 'statisticalCodes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getStatisticalCodes(hr.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE hr.id IS NOT NULL), '[]'::jsonb), 'items', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', item.id, 'hrId', item.jsonb ->> 'hrId', 'holdingsRecordId', (item.jsonb ->> 'holdingsRecordId')::UUID, 'suppressFromDiscovery', CASE WHEN item.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'status', item.jsonb #>> '{status, name}', 'formerIds', item.jsonb -> 'formerIds', 'location', CASE WHEN item.id IS NOT NULL THEN json_build_object('location', jsonb_build_object('name', COALESCE(itemEffLoc.locJsonb ->> 'discoveryDisplayName', itemEffLoc.locJsonb ->> 'name'), 'code', itemEffLoc.locJsonb ->> 'code', 'campusName', itemEffLoc.locCampJsonb ->> 'name', 'libraryName', itemEffLoc.locLibJsonb ->> 'name', 'institutionName', itemEffLoc.locInstJsonb ->> 'name'), 'permanentLocation', jsonb_build_object('name', COALESCE(itemPermLoc.locJsonb ->> 'discoveryDisplayName', itemPermLoc.locJsonb ->> 'name'), 'code', itemPermLoc.locJsonb ->> 'code', 'campusName', itemPermLoc.locCampJsonb ->> 'name', 'libraryName', itemPermLoc.locLibJsonb ->> 'name', 'institutionName', itemPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(itemTempLoc.locJsonb ->> 'discoveryDisplayName', itemTempLoc.locJsonb ->> 'name'), 'code', itemTempLoc.locJsonb ->> 'code', 'campusName', itemTempLoc.locCampJsonb ->> 'name', 'libraryName', itemTempLoc.locLibJsonb ->> 'name', 'institutionName', itemTempLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName', cnt.jsonb ->> 'name'), 'accessionNumber', item.jsonb ->> 'accessionNumber', 'barcode', item.jsonb ->> 'barcode', 'copyNumber', item.jsonb ->> 'copyNumber', 'volume', item.jsonb ->> 'volume', 'enumeration', item.jsonb ->> 'enumeration', 'chronology', item.jsonb ->>'chronology', 'yearCaption', item.jsonb -> 'yearCaption', 'itemIdentifier', item.jsonb ->> 'itemIdentifier', 'numberOfPieces', item.jsonb ->> 'numberOfPieces', 'descriptionOfPieces', item.jsonb ->> 'descriptionOfPieces', 'numberOfMissingPieces', item.jsonb ->> 'numberOfMissingPieces', 'missingPieces', item.jsonb ->> 'missingPieces', 'missingPiecesDate', item.jsonb ->> 'missingPiecesDate', 'itemDamagedStatus', itemDmgStat.jsonb ->> 'name', 'itemDamagedStatusDate', item.jsonb ->> 'itemDamagedStatusDate', 'materialType', mt.jsonb ->> 'name', 'permanentLoanType', plt.jsonb ->> 'name', 'temporaryLoanType', tlt.jsonb ->> 'name', 'electronicAccess', CASE WHEN item.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(item.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getItemNoteTypeName(item.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'tags', item.jsonb -> 'tags', 'statisticalCodes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getStatisticalCodes(item.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE item.id IS NOT NULL), '[]'::jsonb) ) itemsAndHoldings FROM test_tenant_mod_inventory_storage.holdings_record hr JOIN test_tenant_mod_inventory_storage.instance i ON i.id = hr.instanceid JOIN viewInstances vi ON vi.instId = i.id LEFT JOIN test_tenant_mod_inventory_storage.item item ON item.holdingsrecordid = hr.id -- Item's Effective location relation LEFT JOIN viewLocations itemEffLoc ON (item.jsonb ->> 'effectiveLocationId')::uuid = itemEffLoc.locId -- Item's Permanent location relation LEFT JOIN viewLocations itemPermLoc ON (item.jsonb ->> 'permanentLocationId')::uuid = itemPermLoc.locId -- Item's Temporary location relation LEFT JOIN viewLocations itemTempLoc ON (item.jsonb ->> 'temporaryLocationId')::uuid = itemTempLoc.locId -- Item's Material type relation LEFT JOIN test_tenant_mod_inventory_storage.material_type mt ON item.materialtypeid = mt.id -- Item's Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type cnt ON (item.jsonb #>> '{effectiveCallNumberComponents, typeId}')::uuid = cnt.id -- Item's Damaged status relation LEFT JOIN test_tenant_mod_inventory_storage.item_damaged_status itemDmgStat ON (item.jsonb ->> 'itemDamagedStatusId')::uuid = itemDmgStat.id -- Item's Permanent loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type plt ON (item.jsonb ->> 'permanentLoanTypeId')::uuid = plt.id -- Item's Temporary loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type tlt ON (item.jsonb ->> 'temporaryLoanTypeId')::uuid = tlt.id -- Holdings type relation LEFT JOIN test_tenant_mod_inventory_storage.holdings_type ht ON ht.id = hr.holdingstypeid -- Holdings Permanent location relation LEFT JOIN viewLocations holdPermLoc ON (hr.jsonb ->> 'permanentLocationId')::uuid = holdPermLoc.locId -- Holdings Temporary location relation LEFT JOIN viewLocations holdTempLoc ON (hr.jsonb ->> 'temporaryLocationId')::uuid = holdTempLoc.locId -- Holdings Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type hrcnt ON (hr.jsonb ->> 'callNumberTypeId')::uuid = hrcnt.id -- Holdings Ill policy relation LEFT JOIN test_tenant_mod_inventory_storage.ill_policy ilp ON hr.illpolicyid = ilp.id WHERE true AND NOT ($2 AND COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false)) AND NOT ($2 AND COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false)) GROUP BY 1 ) itemAndHoldingsAttrs ) -- Instances with items and holding records SELECT vi.instId AS "instanceId", vi.source AS "source", vi.modeOfIssuance AS "modeOfIssuance", vi.natureOfContent AS "natureOfContent", COALESCE(viah.records -> 'holdings', '[]'::jsonb) AS "holdings", COALESCE(viah.records -> 'items', '[]'::jsonb) AS "items" FROM viewInstances vi LEFT JOIN viewItemsAndHoldings viah ON viah.instId = vi.instId $BODY$ LANGUAGE sql; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE VIEW test_tenant_mod_inventory_storage.instance_holdings_item_view AS SELECT instance.id as id, JSONB_BUILD_OBJECT( 'instanceId', instance.id, 'instance', instance.jsonb, 'holdingsRecords', (SELECT jsonb_agg(jsonb) FROM test_tenant_mod_inventory_storage.holdings_record WHERE holdings_record.instanceId = instance.id), 'items', (SELECT jsonb_agg(item.jsonb) FROM test_tenant_mod_inventory_storage.holdings_record as hr JOIN test_tenant_mod_inventory_storage.item ON item.holdingsRecordId=hr.id AND hr.instanceId = instance.id) ) AS jsonb FROM test_tenant_mod_inventory_storage.instance; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE VIEW test_tenant_mod_inventory_storage.instance_holdings_item_view AS SELECT instance.id as id, JSONB_BUILD_OBJECT( 'instanceId', instance.id, 'instance', instance.jsonb, 'holdingsRecords', (SELECT jsonb_agg(jsonb) FROM test_tenant_mod_inventory_storage.holdings_record WHERE holdings_record.instanceId = instance.id), 'items', (SELECT jsonb_agg(item.jsonb) FROM test_tenant_mod_inventory_storage.holdings_record as hr JOIN test_tenant_mod_inventory_storage.item ON item.holdingsRecordId=hr.id AND hr.instanceId = instance.id) ) AS jsonb FROM test_tenant_mod_inventory_storage.instance; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.get_items_and_holdings_view(instanceIds uuid[], skipSuppressedFromDiscoveryRecords bool DEFAULT TRUE) RETURNS TABLE ( "instanceId" uuid, "source" varchar, "modeOfIssuance" varchar, "natureOfContent" jsonb, "holdings" jsonb, "items" jsonb ) AS $BODY$ WITH -- Locations viewLocations(locId, locJsonb, locCampJsonb, locLibJsonb, locInstJsonb) AS ( SELECT loc.id AS locId, loc.jsonb AS locJsonb, locCamp.jsonb AS locCampJsonb, locLib.jsonb AS locLibJsonb, locInst.jsonb AS locInstJsonb FROM location loc LEFT JOIN locinstitution locInst ON (loc.jsonb ->> 'institutionId')::uuid = locInst.id LEFT JOIN loccampus locCamp ON (loc.jsonb ->> 'campusId')::uuid = locCamp.id LEFT JOIN loclibrary locLib ON (loc.jsonb ->> 'libraryId')::uuid = locLib.id WHERE (loc.jsonb ->> 'isActive')::bool = true ), -- Passed instances ids viewInstances(instId, source, modeOfIssuance, natureOfContent) AS ( SELECT DISTINCT instId AS "instanceId", i.jsonb ->> 'source' AS source, moi.jsonb ->> 'name' AS modeOfIssuance, COALESCE(getNatureOfContentName(COALESCE(i.jsonb #> '{natureOfContentTermIds}', '[]'::jsonb)), '[]'::jsonb) AS natureOfContent FROM UNNEST( $1 ) instId JOIN instance i ON i.id = instId LEFT JOIN mode_of_issuance moi ON moi.id = nullif(i.jsonb ->> 'modeOfIssuanceId','')::uuid ), -- Prepared items and holdings viewItemsAndHoldings(instId, records) AS ( SELECT itemAndHoldingsAttrs.instanceId, jsonb_strip_nulls(itemAndHoldingsAttrs.itemsAndHoldings) FROM (SELECT i.id AS instanceId, jsonb_build_object('holdings', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', hr.id, 'hrId', hr.jsonb ->> 'hrId', 'suppressFromDiscovery', CASE WHEN hr.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'holdingsType', ht.jsonb ->> 'name', 'formerIds', hr.jsonb -> 'formerIds', 'location', CASE WHEN hr.id IS NOT NULL THEN json_build_object('permanentLocation', jsonb_build_object('name', COALESCE(holdPermLoc.locJsonb ->> 'discoveryDisplayName', holdPermLoc.locJsonb ->> 'name'), 'code', holdPermLoc.locJsonb ->> 'code', 'campusName', holdPermLoc.locCampJsonb ->> 'name', 'libraryName', holdPermLoc.locLibJsonb ->> 'name', 'institutionName', holdPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(holdTempLoc.locJsonb ->> 'discoveryDisplayName', holdTempLoc.locJsonb ->> 'name'), 'code', holdTempLoc.locJsonb ->> 'code', 'campusName', holdTempLoc.locCampJsonb ->> 'name', 'libraryName', holdTempLoc.locLibJsonb ->> 'name', 'institutionName', holdTempLoc.locInstJsonb ->> 'name'), 'effectiveLocation', jsonb_build_object('name', COALESCE(holdEffLoc.locJsonb ->> 'discoveryDisplayName', holdEffLoc.locJsonb ->> 'name'), 'code', holdEffLoc.locJsonb ->> 'code', 'campusName', holdEffLoc.locCampJsonb ->> 'name', 'libraryName', holdEffLoc.locLibJsonb ->> 'name', 'institutionName', holdEffLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', json_build_object('prefix', hr.jsonb ->> 'callNumberPrefix', 'suffix', hr.jsonb ->> 'callNumberSuffix', 'typeId', hr.jsonb ->> 'callNumberTypeId', 'typeName', hrcnt.jsonb ->> 'name', 'callNumber', hr.jsonb ->> 'callNumber'), 'shelvingTitle', hr.jsonb ->> 'shelvingTitle', 'acquisitionFormat', hr.jsonb ->> 'acquisitionFormat', 'acquisitionMethod', hr.jsonb ->> 'acquisitionMethod', 'receiptStatus', hr.jsonb ->> 'receiptStatus', 'electronicAccess', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getHoldingNoteTypeName(hr.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'illPolicy', ilp.jsonb ->> 'name', 'retentionPolicy', hr.jsonb ->> 'retentionPolicy', 'digitizationPolicy', hr.jsonb ->> 'digitizationPolicy', 'holdingsStatements', hr.jsonb -> 'holdingsStatements', 'holdingsStatementsForIndexes', hr.jsonb -> 'holdingsStatementsForIndexes', 'holdingsStatementsForSupplements', hr.jsonb -> 'holdingsStatementsForSupplements', 'copyNumber', hr.jsonb ->> 'copyNumber', 'numberOfItems', hr.jsonb ->> 'numberOfItems', 'receivingHistory', hr.jsonb -> 'receivingHistory', 'tags', hr.jsonb -> 'tags', 'statisticalCodes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getStatisticalCodes(hr.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE hr.id IS NOT NULL), '[]'::jsonb), 'items', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', item.id, 'hrId', item.jsonb ->> 'hrId', 'holdingsRecordId', (item.jsonb ->> 'holdingsRecordId')::UUID, 'suppressFromDiscovery', CASE WHEN item.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'status', item.jsonb #>> '{status, name}', 'formerIds', item.jsonb -> 'formerIds', 'location', CASE WHEN item.id IS NOT NULL THEN json_build_object('location', jsonb_build_object('name', COALESCE(itemEffLoc.locJsonb ->> 'discoveryDisplayName', itemEffLoc.locJsonb ->> 'name'), 'code', itemEffLoc.locJsonb ->> 'code', 'campusName', itemEffLoc.locCampJsonb ->> 'name', 'libraryName', itemEffLoc.locLibJsonb ->> 'name', 'institutionName', itemEffLoc.locInstJsonb ->> 'name'), 'permanentLocation', jsonb_build_object('name', COALESCE(itemPermLoc.locJsonb ->> 'discoveryDisplayName', itemPermLoc.locJsonb ->> 'name'), 'code', itemPermLoc.locJsonb ->> 'code', 'campusName', itemPermLoc.locCampJsonb ->> 'name', 'libraryName', itemPermLoc.locLibJsonb ->> 'name', 'institutionName', itemPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(itemTempLoc.locJsonb ->> 'discoveryDisplayName', itemTempLoc.locJsonb ->> 'name'), 'code', itemTempLoc.locJsonb ->> 'code', 'campusName', itemTempLoc.locCampJsonb ->> 'name', 'libraryName', itemTempLoc.locLibJsonb ->> 'name', 'institutionName', itemTempLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName', cnt.jsonb ->> 'name'), 'accessionNumber', item.jsonb ->> 'accessionNumber', 'barcode', item.jsonb ->> 'barcode', 'copyNumber', item.jsonb ->> 'copyNumber', 'volume', item.jsonb ->> 'volume', 'enumeration', item.jsonb ->> 'enumeration', 'chronology', item.jsonb ->>'chronology', 'yearCaption', item.jsonb -> 'yearCaption', 'itemIdentifier', item.jsonb ->> 'itemIdentifier', 'numberOfPieces', item.jsonb ->> 'numberOfPieces', 'descriptionOfPieces', item.jsonb ->> 'descriptionOfPieces', 'numberOfMissingPieces', item.jsonb ->> 'numberOfMissingPieces', 'missingPieces', item.jsonb ->> 'missingPieces', 'missingPiecesDate', item.jsonb ->> 'missingPiecesDate', 'itemDamagedStatus', itemDmgStat.jsonb ->> 'name', 'itemDamagedStatusDate', item.jsonb ->> 'itemDamagedStatusDate', 'materialType', mt.jsonb ->> 'name', 'permanentLoanType', plt.jsonb ->> 'name', 'temporaryLoanType', tlt.jsonb ->> 'name', 'electronicAccess', CASE WHEN item.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(item.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getItemNoteTypeName(item.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'tags', item.jsonb -> 'tags', 'statisticalCodes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getStatisticalCodes(item.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE item.id IS NOT NULL), '[]'::jsonb) ) itemsAndHoldings FROM test_tenant_mod_inventory_storage.holdings_record hr JOIN test_tenant_mod_inventory_storage.instance i ON i.id = hr.instanceid JOIN viewInstances vi ON vi.instId = i.id LEFT JOIN test_tenant_mod_inventory_storage.item item ON item.holdingsrecordid = hr.id -- Item's Effective location relation LEFT JOIN viewLocations itemEffLoc ON (item.jsonb ->> 'effectiveLocationId')::uuid = itemEffLoc.locId -- Item's Permanent location relation LEFT JOIN viewLocations itemPermLoc ON (item.jsonb ->> 'permanentLocationId')::uuid = itemPermLoc.locId -- Item's Temporary location relation LEFT JOIN viewLocations itemTempLoc ON (item.jsonb ->> 'temporaryLocationId')::uuid = itemTempLoc.locId -- Item's Material type relation LEFT JOIN test_tenant_mod_inventory_storage.material_type mt ON item.materialtypeid = mt.id -- Item's Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type cnt ON (item.jsonb #>> '{effectiveCallNumberComponents, typeId}')::uuid = cnt.id -- Item's Damaged status relation LEFT JOIN test_tenant_mod_inventory_storage.item_damaged_status itemDmgStat ON (item.jsonb ->> 'itemDamagedStatusId')::uuid = itemDmgStat.id -- Item's Permanent loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type plt ON (item.jsonb ->> 'permanentLoanTypeId')::uuid = plt.id -- Item's Temporary loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type tlt ON (item.jsonb ->> 'temporaryLoanTypeId')::uuid = tlt.id -- Holdings type relation LEFT JOIN test_tenant_mod_inventory_storage.holdings_type ht ON ht.id = hr.holdingstypeid -- Holdings Permanent location relation LEFT JOIN viewLocations holdPermLoc ON (hr.jsonb ->> 'permanentLocationId')::uuid = holdPermLoc.locId -- Holdings Temporary location relation LEFT JOIN viewLocations holdTempLoc ON (hr.jsonb ->> 'temporaryLocationId')::uuid = holdTempLoc.locId -- Holdings Effective location relation LEFT JOIN viewLocations holdEffLoc ON (hr.jsonb ->> 'effectiveLocationId')::uuid = holdEffLoc.locId -- Holdings Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type hrcnt ON (hr.jsonb ->> 'callNumberTypeId')::uuid = hrcnt.id -- Holdings Ill policy relation LEFT JOIN test_tenant_mod_inventory_storage.ill_policy ilp ON hr.illpolicyid = ilp.id WHERE true AND NOT ($2 AND COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false)) AND NOT ($2 AND COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false)) GROUP BY 1 ) itemAndHoldingsAttrs ) -- Instances with items and holding records SELECT vi.instId AS "instanceId", vi.source AS "source", vi.modeOfIssuance AS "modeOfIssuance", vi.natureOfContent AS "natureOfContent", COALESCE(viah.records -> 'holdings', '[]'::jsonb) AS "holdings", COALESCE(viah.records -> 'items', '[]'::jsonb) AS "items" FROM viewInstances vi LEFT JOIN viewItemsAndHoldings viah ON viah.instId = vi.instId $BODY$ LANGUAGE sql;INSERT INTO test_tenant_mod_inventory_storage.instance_format (id, jsonb) VALUES ('0d9b1c3d-2d13-4f18-9472-cc1b91bf1752', json_build_object('id','0d9b1c3d-2d13-4f18-9472-cc1b91bf1752', 'code','sb', 'name','audio -- audio belt', 'source','rdacarrier')) ON CONFLICT DO NOTHING; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.get_items_and_holdings_view(instanceIds uuid[], skipSuppressedFromDiscoveryRecords bool DEFAULT TRUE) RETURNS TABLE ( "instanceId" uuid, "source" varchar, "modeOfIssuance" varchar, "natureOfContent" jsonb, "holdings" jsonb, "items" jsonb ) AS $BODY$ WITH -- Locations viewLocations(locId, locJsonb, locCampJsonb, locLibJsonb, locInstJsonb) AS ( SELECT loc.id AS locId, loc.jsonb AS locJsonb, locCamp.jsonb AS locCampJsonb, locLib.jsonb AS locLibJsonb, locInst.jsonb AS locInstJsonb FROM location loc LEFT JOIN locinstitution locInst ON (loc.jsonb ->> 'institutionId')::uuid = locInst.id LEFT JOIN loccampus locCamp ON (loc.jsonb ->> 'campusId')::uuid = locCamp.id LEFT JOIN loclibrary locLib ON (loc.jsonb ->> 'libraryId')::uuid = locLib.id WHERE (loc.jsonb ->> 'isActive')::bool = true ), -- Passed instances ids viewInstances(instId, source, modeOfIssuance, natureOfContent) AS ( SELECT DISTINCT instId AS "instanceId", i.jsonb ->> 'source' AS source, moi.jsonb ->> 'name' AS modeOfIssuance, COALESCE(getNatureOfContentName(COALESCE(i.jsonb #> '{natureOfContentTermIds}', '[]'::jsonb)), '[]'::jsonb) AS natureOfContent FROM UNNEST( $1 ) instId JOIN instance i ON i.id = instId LEFT JOIN mode_of_issuance moi ON moi.id = nullif(i.jsonb ->> 'modeOfIssuanceId','')::uuid ), -- Prepared items and holdings viewItemsAndHoldings(instId, records) AS ( SELECT itemAndHoldingsAttrs.instanceId, jsonb_strip_nulls(itemAndHoldingsAttrs.itemsAndHoldings) FROM (SELECT i.id AS instanceId, jsonb_build_object('holdings', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', hr.id, 'hrId', hr.jsonb ->> 'hrId', 'suppressFromDiscovery', CASE WHEN hr.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'holdingsType', ht.jsonb ->> 'name', 'formerIds', hr.jsonb -> 'formerIds', 'location', CASE WHEN hr.id IS NOT NULL THEN json_build_object('permanentLocation', jsonb_build_object('name', COALESCE(holdPermLoc.locJsonb ->> 'discoveryDisplayName', holdPermLoc.locJsonb ->> 'name'), 'code', holdPermLoc.locJsonb ->> 'code', 'campusName', holdPermLoc.locCampJsonb ->> 'name', 'libraryName', holdPermLoc.locLibJsonb ->> 'name', 'institutionName', holdPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(holdTempLoc.locJsonb ->> 'discoveryDisplayName', holdTempLoc.locJsonb ->> 'name'), 'code', holdTempLoc.locJsonb ->> 'code', 'campusName', holdTempLoc.locCampJsonb ->> 'name', 'libraryName', holdTempLoc.locLibJsonb ->> 'name', 'institutionName', holdTempLoc.locInstJsonb ->> 'name'), 'effectiveLocation', jsonb_build_object('name', COALESCE(holdEffLoc.locJsonb ->> 'discoveryDisplayName', holdEffLoc.locJsonb ->> 'name'), 'code', holdEffLoc.locJsonb ->> 'code', 'campusName', holdEffLoc.locCampJsonb ->> 'name', 'libraryName', holdEffLoc.locLibJsonb ->> 'name', 'institutionName', holdEffLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', json_build_object('prefix', hr.jsonb ->> 'callNumberPrefix', 'suffix', hr.jsonb ->> 'callNumberSuffix', 'typeId', hr.jsonb ->> 'callNumberTypeId', 'typeName', hrcnt.jsonb ->> 'name', 'callNumber', hr.jsonb ->> 'callNumber'), 'shelvingTitle', hr.jsonb ->> 'shelvingTitle', 'acquisitionFormat', hr.jsonb ->> 'acquisitionFormat', 'acquisitionMethod', hr.jsonb ->> 'acquisitionMethod', 'receiptStatus', hr.jsonb ->> 'receiptStatus', 'electronicAccess', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getHoldingNoteTypeName(hr.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'illPolicy', ilp.jsonb ->> 'name', 'retentionPolicy', hr.jsonb ->> 'retentionPolicy', 'digitizationPolicy', hr.jsonb ->> 'digitizationPolicy', 'holdingsStatements', hr.jsonb -> 'holdingsStatements', 'holdingsStatementsForIndexes', hr.jsonb -> 'holdingsStatementsForIndexes', 'holdingsStatementsForSupplements', hr.jsonb -> 'holdingsStatementsForSupplements', 'copyNumber', hr.jsonb ->> 'copyNumber', 'numberOfItems', hr.jsonb ->> 'numberOfItems', 'receivingHistory', hr.jsonb -> 'receivingHistory', 'tags', hr.jsonb -> 'tags', 'statisticalCodes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getStatisticalCodes(hr.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE hr.id IS NOT NULL), '[]'::jsonb), 'items', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', item.id, 'hrId', item.jsonb ->> 'hrId', 'holdingsRecordId', (item.jsonb ->> 'holdingsRecordId')::UUID, 'suppressFromDiscovery', CASE WHEN item.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'status', item.jsonb #>> '{status, name}', 'formerIds', item.jsonb -> 'formerIds', 'location', CASE WHEN item.id IS NOT NULL THEN json_build_object('location', jsonb_build_object('name', COALESCE(itemEffLoc.locJsonb ->> 'discoveryDisplayName', itemEffLoc.locJsonb ->> 'name'), 'code', itemEffLoc.locJsonb ->> 'code', 'campusName', itemEffLoc.locCampJsonb ->> 'name', 'libraryName', itemEffLoc.locLibJsonb ->> 'name', 'institutionName', itemEffLoc.locInstJsonb ->> 'name'), 'permanentLocation', jsonb_build_object('name', COALESCE(itemPermLoc.locJsonb ->> 'discoveryDisplayName', itemPermLoc.locJsonb ->> 'name'), 'code', itemPermLoc.locJsonb ->> 'code', 'campusName', itemPermLoc.locCampJsonb ->> 'name', 'libraryName', itemPermLoc.locLibJsonb ->> 'name', 'institutionName', itemPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(itemTempLoc.locJsonb ->> 'discoveryDisplayName', itemTempLoc.locJsonb ->> 'name'), 'code', itemTempLoc.locJsonb ->> 'code', 'campusName', itemTempLoc.locCampJsonb ->> 'name', 'libraryName', itemTempLoc.locLibJsonb ->> 'name', 'institutionName', itemTempLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName', cnt.jsonb ->> 'name'), 'accessionNumber', item.jsonb ->> 'accessionNumber', 'barcode', item.jsonb ->> 'barcode', 'copyNumber', item.jsonb ->> 'copyNumber', 'volume', item.jsonb ->> 'volume', 'enumeration', item.jsonb ->> 'enumeration', 'chronology', item.jsonb ->>'chronology', 'yearCaption', item.jsonb -> 'yearCaption', 'itemIdentifier', item.jsonb ->> 'itemIdentifier', 'numberOfPieces', item.jsonb ->> 'numberOfPieces', 'descriptionOfPieces', item.jsonb ->> 'descriptionOfPieces', 'numberOfMissingPieces', item.jsonb ->> 'numberOfMissingPieces', 'missingPieces', item.jsonb ->> 'missingPieces', 'missingPiecesDate', item.jsonb ->> 'missingPiecesDate', 'itemDamagedStatus', itemDmgStat.jsonb ->> 'name', 'itemDamagedStatusDate', item.jsonb ->> 'itemDamagedStatusDate', 'materialType', mt.jsonb ->> 'name', 'permanentLoanType', plt.jsonb ->> 'name', 'temporaryLoanType', tlt.jsonb ->> 'name', 'electronicAccess', CASE WHEN item.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(item.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getItemNoteTypeName(item.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'tags', item.jsonb -> 'tags', 'statisticalCodes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getStatisticalCodes(item.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE item.id IS NOT NULL), '[]'::jsonb) ) itemsAndHoldings FROM test_tenant_mod_inventory_storage.holdings_record hr JOIN test_tenant_mod_inventory_storage.instance i ON i.id = hr.instanceid JOIN viewInstances vi ON vi.instId = i.id LEFT JOIN test_tenant_mod_inventory_storage.item item ON item.holdingsrecordid = hr.id -- Item's Effective location relation LEFT JOIN viewLocations itemEffLoc ON (item.jsonb ->> 'effectiveLocationId')::uuid = itemEffLoc.locId -- Item's Permanent location relation LEFT JOIN viewLocations itemPermLoc ON (item.jsonb ->> 'permanentLocationId')::uuid = itemPermLoc.locId -- Item's Temporary location relation LEFT JOIN viewLocations itemTempLoc ON (item.jsonb ->> 'temporaryLocationId')::uuid = itemTempLoc.locId -- Item's Material type relation LEFT JOIN test_tenant_mod_inventory_storage.material_type mt ON item.materialtypeid = mt.id -- Item's Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type cnt ON (item.jsonb #>> '{effectiveCallNumberComponents, typeId}')::uuid = cnt.id -- Item's Damaged status relation LEFT JOIN test_tenant_mod_inventory_storage.item_damaged_status itemDmgStat ON (item.jsonb ->> 'itemDamagedStatusId')::uuid = itemDmgStat.id -- Item's Permanent loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type plt ON (item.jsonb ->> 'permanentLoanTypeId')::uuid = plt.id -- Item's Temporary loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type tlt ON (item.jsonb ->> 'temporaryLoanTypeId')::uuid = tlt.id -- Holdings type relation LEFT JOIN test_tenant_mod_inventory_storage.holdings_type ht ON ht.id = hr.holdingstypeid -- Holdings Permanent location relation LEFT JOIN viewLocations holdPermLoc ON (hr.jsonb ->> 'permanentLocationId')::uuid = holdPermLoc.locId -- Holdings Temporary location relation LEFT JOIN viewLocations holdTempLoc ON (hr.jsonb ->> 'temporaryLocationId')::uuid = holdTempLoc.locId -- Holdings Effective location relation LEFT JOIN viewLocations holdEffLoc ON (hr.jsonb ->> 'effectiveLocationId')::uuid = holdEffLoc.locId -- Holdings Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type hrcnt ON (hr.jsonb ->> 'callNumberTypeId')::uuid = hrcnt.id -- Holdings Ill policy relation LEFT JOIN test_tenant_mod_inventory_storage.ill_policy ilp ON hr.illpolicyid = ilp.id WHERE true AND NOT ($2 AND COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false)) AND NOT ($2 AND COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false)) GROUP BY 1 ) itemAndHoldingsAttrs ) -- Instances with items and holding records SELECT vi.instId AS "instanceId", vi.source AS "source", vi.modeOfIssuance AS "modeOfIssuance", vi.natureOfContent AS "natureOfContent", COALESCE(viah.records -> 'holdings', '[]'::jsonb) AS "holdings", COALESCE(viah.records -> 'items', '[]'::jsonb) AS "items" FROM viewInstances vi LEFT JOIN viewItemsAndHoldings viah ON viah.instId = vi.instId $BODY$ LANGUAGE sql;INSERT INTO test_tenant_mod_inventory_storage.instance_format (id, jsonb) VALUES ('0d9b1c3d-2d13-4f18-9472-cc1b91bf1752', json_build_object('id','0d9b1c3d-2d13-4f18-9472-cc1b91bf1752', 'code','sb', 'name','audio -- audio belt', 'source','rdacarrier')) ON CONFLICT DO NOTHING; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_effective_location_on_holding_update; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_effective_location_on_holding_update() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_effective_location_on_holding_update; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_effective_location_on_item_update;INSERT INTO test_tenant_mod_inventory_storage.identifier_type (id, jsonb) VALUES ('b3ea81fb-3324-4c64-9efc-7c0c93d5943c', json_build_object('id','b3ea81fb-3324-4c64-9efc-7c0c93d5943c', 'name', 'Invalid UPC', 'source', 'folio')) ON CONFLICT DO NOTHING; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_effective_location_on_item_update() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_effective_location_on_item_update;INSERT INTO test_tenant_mod_inventory_storage.identifier_type (id, jsonb) VALUES ('b3ea81fb-3324-4c64-9efc-7c0c93d5943c', json_build_object('id','b3ea81fb-3324-4c64-9efc-7c0c93d5943c', 'name', 'Invalid UPC', 'source', 'folio')) ON CONFLICT DO NOTHING; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO test_tenant_mod_inventory_storage.identifier_type (id, jsonb) VALUES ('ebfd00b6-61d3-4d87-a6d8-810c941176d5', json_build_object('id','ebfd00b6-61d3-4d87-a6d8-810c941176d5', 'name', 'ISMN', 'source', 'folio')) ON CONFLICT DO NOTHING; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO test_tenant_mod_inventory_storage.identifier_type (id, jsonb) VALUES ('ebfd00b6-61d3-4d87-a6d8-810c941176d5', json_build_object('id','ebfd00b6-61d3-4d87-a6d8-810c941176d5', 'name', 'ISMN', 'source', 'folio')) ON CONFLICT DO NOTHING; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO test_tenant_mod_inventory_storage.identifier_type (id, jsonb) VALUES ('4f07ea37-6c7f-4836-add2-14249e628ed1', json_build_object('id','4f07ea37-6c7f-4836-add2-14249e628ed1', 'name', 'Invalid ISMN', 'source', 'folio')) ON CONFLICT DO NOTHING; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO test_tenant_mod_inventory_storage.identifier_type (id, jsonb) VALUES ('4f07ea37-6c7f-4836-add2-14249e628ed1', json_build_object('id','4f07ea37-6c7f-4836-add2-14249e628ed1', 'name', 'Invalid ISMN', 'source', 'folio')) ON CONFLICT DO NOTHING; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO test_tenant_mod_inventory_storage.identifier_type (id, jsonb) VALUES ('1795ea23-6856-48a5-a772-f356e16a8a6c', json_build_object('id','1795ea23-6856-48a5-a772-f356e16a8a6c', 'name', 'UPC', 'source', 'folio')) ON CONFLICT DO NOTHING; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO test_tenant_mod_inventory_storage.identifier_type (id, jsonb) VALUES ('1795ea23-6856-48a5-a772-f356e16a8a6c', json_build_object('id','1795ea23-6856-48a5-a772-f356e16a8a6c', 'name', 'UPC', 'source', 'folio')) ON CONFLICT DO NOTHING; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.get_items_and_holdings_view(instanceIds uuid[], skipSuppressedFromDiscoveryRecords bool DEFAULT TRUE) RETURNS TABLE ( "instanceId" uuid, "source" varchar, "modeOfIssuance" varchar, "natureOfContent" jsonb, "holdings" jsonb, "items" jsonb ) AS $BODY$ WITH -- Locations viewLocations(locId, locJsonb, locCampJsonb, locLibJsonb, locInstJsonb) AS ( SELECT loc.id AS locId, loc.jsonb AS locJsonb, locCamp.jsonb AS locCampJsonb, locLib.jsonb AS locLibJsonb, locInst.jsonb AS locInstJsonb FROM location loc LEFT JOIN locinstitution locInst ON (loc.jsonb ->> 'institutionId')::uuid = locInst.id LEFT JOIN loccampus locCamp ON (loc.jsonb ->> 'campusId')::uuid = locCamp.id LEFT JOIN loclibrary locLib ON (loc.jsonb ->> 'libraryId')::uuid = locLib.id WHERE (loc.jsonb ->> 'isActive')::bool = true ), -- Passed instances ids viewInstances(instId, source, modeOfIssuance, natureOfContent) AS ( SELECT DISTINCT instId AS "instanceId", i.jsonb ->> 'source' AS source, moi.jsonb ->> 'name' AS modeOfIssuance, COALESCE(getNatureOfContentName(COALESCE(i.jsonb #> '{natureOfContentTermIds}', '[]'::jsonb)), '[]'::jsonb) AS natureOfContent FROM UNNEST( $1 ) instId JOIN instance i ON i.id = instId LEFT JOIN mode_of_issuance moi ON moi.id = nullif(i.jsonb ->> 'modeOfIssuanceId','')::uuid ), -- Prepared items and holdings viewItemsAndHoldings(instId, records) AS ( SELECT itemAndHoldingsAttrs.instanceId, jsonb_strip_nulls(itemAndHoldingsAttrs.itemsAndHoldings) FROM (SELECT i.id AS instanceId, jsonb_build_object('holdings', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', hr.id, 'hrId', hr.jsonb ->> 'hrId', 'suppressFromDiscovery', CASE WHEN hr.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'holdingsType', ht.jsonb ->> 'name', 'formerIds', hr.jsonb -> 'formerIds', 'location', CASE WHEN hr.id IS NOT NULL THEN json_build_object('permanentLocation', jsonb_build_object('name', COALESCE(holdPermLoc.locJsonb ->> 'discoveryDisplayName', holdPermLoc.locJsonb ->> 'name'), 'code', holdPermLoc.locJsonb ->> 'code', 'campusName', holdPermLoc.locCampJsonb ->> 'name', 'libraryName', holdPermLoc.locLibJsonb ->> 'name', 'institutionName', holdPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(holdTempLoc.locJsonb ->> 'discoveryDisplayName', holdTempLoc.locJsonb ->> 'name'), 'code', holdTempLoc.locJsonb ->> 'code', 'campusName', holdTempLoc.locCampJsonb ->> 'name', 'libraryName', holdTempLoc.locLibJsonb ->> 'name', 'institutionName', holdTempLoc.locInstJsonb ->> 'name'), 'effectiveLocation', jsonb_build_object('name', COALESCE(holdEffLoc.locJsonb ->> 'discoveryDisplayName', holdEffLoc.locJsonb ->> 'name'), 'code', holdEffLoc.locJsonb ->> 'code', 'campusName', holdEffLoc.locCampJsonb ->> 'name', 'libraryName', holdEffLoc.locLibJsonb ->> 'name', 'institutionName', holdEffLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', json_build_object('prefix', hr.jsonb ->> 'callNumberPrefix', 'suffix', hr.jsonb ->> 'callNumberSuffix', 'typeId', hr.jsonb ->> 'callNumberTypeId', 'typeName', hrcnt.jsonb ->> 'name', 'callNumber', hr.jsonb ->> 'callNumber'), 'shelvingTitle', hr.jsonb ->> 'shelvingTitle', 'acquisitionFormat', hr.jsonb ->> 'acquisitionFormat', 'acquisitionMethod', hr.jsonb ->> 'acquisitionMethod', 'receiptStatus', hr.jsonb ->> 'receiptStatus', 'electronicAccess', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getHoldingNoteTypeName(hr.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'illPolicy', ilp.jsonb ->> 'name', 'retentionPolicy', hr.jsonb ->> 'retentionPolicy', 'digitizationPolicy', hr.jsonb ->> 'digitizationPolicy', 'holdingsStatements', hr.jsonb -> 'holdingsStatements', 'holdingsStatementsForIndexes', hr.jsonb -> 'holdingsStatementsForIndexes', 'holdingsStatementsForSupplements', hr.jsonb -> 'holdingsStatementsForSupplements', 'copyNumber', hr.jsonb ->> 'copyNumber', 'numberOfItems', hr.jsonb ->> 'numberOfItems', 'receivingHistory', hr.jsonb -> 'receivingHistory', 'tags', hr.jsonb -> 'tags', 'statisticalCodes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getStatisticalCodes(hr.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE hr.id IS NOT NULL), '[]'::jsonb), 'items', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', item.id, 'hrId', item.jsonb ->> 'hrId', 'holdingsRecordId', (item.jsonb ->> 'holdingsRecordId')::UUID, 'suppressFromDiscovery', CASE WHEN item.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'status', item.jsonb #>> '{status, name}', 'formerIds', item.jsonb -> 'formerIds', 'location', CASE WHEN item.id IS NOT NULL THEN json_build_object('location', jsonb_build_object('name', COALESCE(itemEffLoc.locJsonb ->> 'discoveryDisplayName', itemEffLoc.locJsonb ->> 'name'), 'code', itemEffLoc.locJsonb ->> 'code', 'campusName', itemEffLoc.locCampJsonb ->> 'name', 'libraryName', itemEffLoc.locLibJsonb ->> 'name', 'institutionName', itemEffLoc.locInstJsonb ->> 'name'), 'permanentLocation', jsonb_build_object('name', COALESCE(itemPermLoc.locJsonb ->> 'discoveryDisplayName', itemPermLoc.locJsonb ->> 'name'), 'code', itemPermLoc.locJsonb ->> 'code', 'campusName', itemPermLoc.locCampJsonb ->> 'name', 'libraryName', itemPermLoc.locLibJsonb ->> 'name', 'institutionName', itemPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(itemTempLoc.locJsonb ->> 'discoveryDisplayName', itemTempLoc.locJsonb ->> 'name'), 'code', itemTempLoc.locJsonb ->> 'code', 'campusName', itemTempLoc.locCampJsonb ->> 'name', 'libraryName', itemTempLoc.locLibJsonb ->> 'name', 'institutionName', itemTempLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName', cnt.jsonb ->> 'name'), 'accessionNumber', item.jsonb ->> 'accessionNumber', 'barcode', item.jsonb ->> 'barcode', 'copyNumber', item.jsonb ->> 'copyNumber', 'volume', item.jsonb ->> 'volume', 'enumeration', item.jsonb ->> 'enumeration', 'chronology', item.jsonb ->>'chronology', 'yearCaption', item.jsonb -> 'yearCaption', 'itemIdentifier', item.jsonb ->> 'itemIdentifier', 'numberOfPieces', item.jsonb ->> 'numberOfPieces', 'descriptionOfPieces', item.jsonb ->> 'descriptionOfPieces', 'numberOfMissingPieces', item.jsonb ->> 'numberOfMissingPieces', 'missingPieces', item.jsonb ->> 'missingPieces', 'missingPiecesDate', item.jsonb ->> 'missingPiecesDate', 'itemDamagedStatus', itemDmgStat.jsonb ->> 'name', 'itemDamagedStatusDate', item.jsonb ->> 'itemDamagedStatusDate', 'materialType', mt.jsonb ->> 'name', 'permanentLoanType', plt.jsonb ->> 'name', 'temporaryLoanType', tlt.jsonb ->> 'name', 'electronicAccess', CASE WHEN item.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(item.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getItemNoteTypeName(item.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'tags', item.jsonb -> 'tags', 'statisticalCodes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getStatisticalCodes(item.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE item.id IS NOT NULL AND NOT ($2 AND COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false))), '[]'::jsonb) ) itemsAndHoldings FROM test_tenant_mod_inventory_storage.holdings_record hr JOIN test_tenant_mod_inventory_storage.instance i ON i.id = hr.instanceid JOIN viewInstances vi ON vi.instId = i.id LEFT JOIN test_tenant_mod_inventory_storage.item item ON item.holdingsrecordid = hr.id -- Item's Effective location relation LEFT JOIN viewLocations itemEffLoc ON (item.jsonb ->> 'effectiveLocationId')::uuid = itemEffLoc.locId -- Item's Permanent location relation LEFT JOIN viewLocations itemPermLoc ON (item.jsonb ->> 'permanentLocationId')::uuid = itemPermLoc.locId -- Item's Temporary location relation LEFT JOIN viewLocations itemTempLoc ON (item.jsonb ->> 'temporaryLocationId')::uuid = itemTempLoc.locId -- Item's Material type relation LEFT JOIN test_tenant_mod_inventory_storage.material_type mt ON item.materialtypeid = mt.id -- Item's Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type cnt ON (item.jsonb #>> '{effectiveCallNumberComponents, typeId}')::uuid = cnt.id -- Item's Damaged status relation LEFT JOIN test_tenant_mod_inventory_storage.item_damaged_status itemDmgStat ON (item.jsonb ->> 'itemDamagedStatusId')::uuid = itemDmgStat.id -- Item's Permanent loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type plt ON (item.jsonb ->> 'permanentLoanTypeId')::uuid = plt.id -- Item's Temporary loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type tlt ON (item.jsonb ->> 'temporaryLoanTypeId')::uuid = tlt.id -- Holdings type relation LEFT JOIN test_tenant_mod_inventory_storage.holdings_type ht ON ht.id = hr.holdingstypeid -- Holdings Permanent location relation LEFT JOIN viewLocations holdPermLoc ON (hr.jsonb ->> 'permanentLocationId')::uuid = holdPermLoc.locId -- Holdings Temporary location relation LEFT JOIN viewLocations holdTempLoc ON (hr.jsonb ->> 'temporaryLocationId')::uuid = holdTempLoc.locId -- Holdings Effective location relation LEFT JOIN viewLocations holdEffLoc ON (hr.jsonb ->> 'effectiveLocationId')::uuid = holdEffLoc.locId -- Holdings Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type hrcnt ON (hr.jsonb ->> 'callNumberTypeId')::uuid = hrcnt.id -- Holdings Ill policy relation LEFT JOIN test_tenant_mod_inventory_storage.ill_policy ilp ON hr.illpolicyid = ilp.id WHERE true AND NOT ($2 AND COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false)) GROUP BY 1 ) itemAndHoldingsAttrs ) -- Instances with items and holding records SELECT vi.instId AS "instanceId", vi.source AS "source", vi.modeOfIssuance AS "modeOfIssuance", vi.natureOfContent AS "natureOfContent", COALESCE(viah.records -> 'holdings', '[]'::jsonb) AS "holdings", COALESCE(viah.records -> 'items', '[]'::jsonb) AS "items" FROM viewInstances vi LEFT JOIN viewItemsAndHoldings viah ON viah.instId = vi.instId $BODY$ LANGUAGE sql; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.get_items_and_holdings_view(instanceIds uuid[], skipSuppressedFromDiscoveryRecords bool DEFAULT TRUE) RETURNS TABLE ( "instanceId" uuid, "source" varchar, "modeOfIssuance" varchar, "natureOfContent" jsonb, "holdings" jsonb, "items" jsonb ) AS $BODY$ WITH -- Locations viewLocations(locId, locJsonb, locCampJsonb, locLibJsonb, locInstJsonb) AS ( SELECT loc.id AS locId, loc.jsonb AS locJsonb, locCamp.jsonb AS locCampJsonb, locLib.jsonb AS locLibJsonb, locInst.jsonb AS locInstJsonb FROM location loc LEFT JOIN locinstitution locInst ON (loc.jsonb ->> 'institutionId')::uuid = locInst.id LEFT JOIN loccampus locCamp ON (loc.jsonb ->> 'campusId')::uuid = locCamp.id LEFT JOIN loclibrary locLib ON (loc.jsonb ->> 'libraryId')::uuid = locLib.id WHERE (loc.jsonb ->> 'isActive')::bool = true ), -- Passed instances ids viewInstances(instId, source, modeOfIssuance, natureOfContent) AS ( SELECT DISTINCT instId AS "instanceId", i.jsonb ->> 'source' AS source, moi.jsonb ->> 'name' AS modeOfIssuance, COALESCE(getNatureOfContentName(COALESCE(i.jsonb #> '{natureOfContentTermIds}', '[]'::jsonb)), '[]'::jsonb) AS natureOfContent FROM UNNEST( $1 ) instId JOIN instance i ON i.id = instId LEFT JOIN mode_of_issuance moi ON moi.id = nullif(i.jsonb ->> 'modeOfIssuanceId','')::uuid ), -- Prepared items and holdings viewItemsAndHoldings(instId, records) AS ( SELECT itemAndHoldingsAttrs.instanceId, jsonb_strip_nulls(itemAndHoldingsAttrs.itemsAndHoldings) FROM (SELECT i.id AS instanceId, jsonb_build_object('holdings', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', hr.id, 'hrId', hr.jsonb ->> 'hrId', 'suppressFromDiscovery', CASE WHEN hr.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'holdingsType', ht.jsonb ->> 'name', 'formerIds', hr.jsonb -> 'formerIds', 'location', CASE WHEN hr.id IS NOT NULL THEN json_build_object('permanentLocation', jsonb_build_object('name', COALESCE(holdPermLoc.locJsonb ->> 'discoveryDisplayName', holdPermLoc.locJsonb ->> 'name'), 'code', holdPermLoc.locJsonb ->> 'code', 'campusName', holdPermLoc.locCampJsonb ->> 'name', 'libraryName', holdPermLoc.locLibJsonb ->> 'name', 'institutionName', holdPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(holdTempLoc.locJsonb ->> 'discoveryDisplayName', holdTempLoc.locJsonb ->> 'name'), 'code', holdTempLoc.locJsonb ->> 'code', 'campusName', holdTempLoc.locCampJsonb ->> 'name', 'libraryName', holdTempLoc.locLibJsonb ->> 'name', 'institutionName', holdTempLoc.locInstJsonb ->> 'name'), 'effectiveLocation', jsonb_build_object('name', COALESCE(holdEffLoc.locJsonb ->> 'discoveryDisplayName', holdEffLoc.locJsonb ->> 'name'), 'code', holdEffLoc.locJsonb ->> 'code', 'campusName', holdEffLoc.locCampJsonb ->> 'name', 'libraryName', holdEffLoc.locLibJsonb ->> 'name', 'institutionName', holdEffLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', json_build_object('prefix', hr.jsonb ->> 'callNumberPrefix', 'suffix', hr.jsonb ->> 'callNumberSuffix', 'typeId', hr.jsonb ->> 'callNumberTypeId', 'typeName', hrcnt.jsonb ->> 'name', 'callNumber', hr.jsonb ->> 'callNumber'), 'shelvingTitle', hr.jsonb ->> 'shelvingTitle', 'acquisitionFormat', hr.jsonb ->> 'acquisitionFormat', 'acquisitionMethod', hr.jsonb ->> 'acquisitionMethod', 'receiptStatus', hr.jsonb ->> 'receiptStatus', 'electronicAccess', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getHoldingNoteTypeName(hr.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'illPolicy', ilp.jsonb ->> 'name', 'retentionPolicy', hr.jsonb ->> 'retentionPolicy', 'digitizationPolicy', hr.jsonb ->> 'digitizationPolicy', 'holdingsStatements', hr.jsonb -> 'holdingsStatements', 'holdingsStatementsForIndexes', hr.jsonb -> 'holdingsStatementsForIndexes', 'holdingsStatementsForSupplements', hr.jsonb -> 'holdingsStatementsForSupplements', 'copyNumber', hr.jsonb ->> 'copyNumber', 'numberOfItems', hr.jsonb ->> 'numberOfItems', 'receivingHistory', hr.jsonb -> 'receivingHistory', 'tags', hr.jsonb -> 'tags', 'statisticalCodes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getStatisticalCodes(hr.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE hr.id IS NOT NULL), '[]'::jsonb), 'items', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', item.id, 'hrId', item.jsonb ->> 'hrId', 'holdingsRecordId', (item.jsonb ->> 'holdingsRecordId')::UUID, 'suppressFromDiscovery', CASE WHEN item.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'status', item.jsonb #>> '{status, name}', 'formerIds', item.jsonb -> 'formerIds', 'location', CASE WHEN item.id IS NOT NULL THEN json_build_object('location', jsonb_build_object('name', COALESCE(itemEffLoc.locJsonb ->> 'discoveryDisplayName', itemEffLoc.locJsonb ->> 'name'), 'code', itemEffLoc.locJsonb ->> 'code', 'campusName', itemEffLoc.locCampJsonb ->> 'name', 'libraryName', itemEffLoc.locLibJsonb ->> 'name', 'institutionName', itemEffLoc.locInstJsonb ->> 'name'), 'permanentLocation', jsonb_build_object('name', COALESCE(itemPermLoc.locJsonb ->> 'discoveryDisplayName', itemPermLoc.locJsonb ->> 'name'), 'code', itemPermLoc.locJsonb ->> 'code', 'campusName', itemPermLoc.locCampJsonb ->> 'name', 'libraryName', itemPermLoc.locLibJsonb ->> 'name', 'institutionName', itemPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(itemTempLoc.locJsonb ->> 'discoveryDisplayName', itemTempLoc.locJsonb ->> 'name'), 'code', itemTempLoc.locJsonb ->> 'code', 'campusName', itemTempLoc.locCampJsonb ->> 'name', 'libraryName', itemTempLoc.locLibJsonb ->> 'name', 'institutionName', itemTempLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName', cnt.jsonb ->> 'name'), 'accessionNumber', item.jsonb ->> 'accessionNumber', 'barcode', item.jsonb ->> 'barcode', 'copyNumber', item.jsonb ->> 'copyNumber', 'volume', item.jsonb ->> 'volume', 'enumeration', item.jsonb ->> 'enumeration', 'chronology', item.jsonb ->>'chronology', 'yearCaption', item.jsonb -> 'yearCaption', 'itemIdentifier', item.jsonb ->> 'itemIdentifier', 'numberOfPieces', item.jsonb ->> 'numberOfPieces', 'descriptionOfPieces', item.jsonb ->> 'descriptionOfPieces', 'numberOfMissingPieces', item.jsonb ->> 'numberOfMissingPieces', 'missingPieces', item.jsonb ->> 'missingPieces', 'missingPiecesDate', item.jsonb ->> 'missingPiecesDate', 'itemDamagedStatus', itemDmgStat.jsonb ->> 'name', 'itemDamagedStatusDate', item.jsonb ->> 'itemDamagedStatusDate', 'materialType', mt.jsonb ->> 'name', 'permanentLoanType', plt.jsonb ->> 'name', 'temporaryLoanType', tlt.jsonb ->> 'name', 'electronicAccess', CASE WHEN item.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(item.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getItemNoteTypeName(item.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'tags', item.jsonb -> 'tags', 'statisticalCodes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getStatisticalCodes(item.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE item.id IS NOT NULL AND NOT ($2 AND COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false))), '[]'::jsonb) ) itemsAndHoldings FROM test_tenant_mod_inventory_storage.holdings_record hr JOIN test_tenant_mod_inventory_storage.instance i ON i.id = hr.instanceid JOIN viewInstances vi ON vi.instId = i.id LEFT JOIN test_tenant_mod_inventory_storage.item item ON item.holdingsrecordid = hr.id -- Item's Effective location relation LEFT JOIN viewLocations itemEffLoc ON (item.jsonb ->> 'effectiveLocationId')::uuid = itemEffLoc.locId -- Item's Permanent location relation LEFT JOIN viewLocations itemPermLoc ON (item.jsonb ->> 'permanentLocationId')::uuid = itemPermLoc.locId -- Item's Temporary location relation LEFT JOIN viewLocations itemTempLoc ON (item.jsonb ->> 'temporaryLocationId')::uuid = itemTempLoc.locId -- Item's Material type relation LEFT JOIN test_tenant_mod_inventory_storage.material_type mt ON item.materialtypeid = mt.id -- Item's Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type cnt ON (item.jsonb #>> '{effectiveCallNumberComponents, typeId}')::uuid = cnt.id -- Item's Damaged status relation LEFT JOIN test_tenant_mod_inventory_storage.item_damaged_status itemDmgStat ON (item.jsonb ->> 'itemDamagedStatusId')::uuid = itemDmgStat.id -- Item's Permanent loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type plt ON (item.jsonb ->> 'permanentLoanTypeId')::uuid = plt.id -- Item's Temporary loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type tlt ON (item.jsonb ->> 'temporaryLoanTypeId')::uuid = tlt.id -- Holdings type relation LEFT JOIN test_tenant_mod_inventory_storage.holdings_type ht ON ht.id = hr.holdingstypeid -- Holdings Permanent location relation LEFT JOIN viewLocations holdPermLoc ON (hr.jsonb ->> 'permanentLocationId')::uuid = holdPermLoc.locId -- Holdings Temporary location relation LEFT JOIN viewLocations holdTempLoc ON (hr.jsonb ->> 'temporaryLocationId')::uuid = holdTempLoc.locId -- Holdings Effective location relation LEFT JOIN viewLocations holdEffLoc ON (hr.jsonb ->> 'effectiveLocationId')::uuid = holdEffLoc.locId -- Holdings Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type hrcnt ON (hr.jsonb ->> 'callNumberTypeId')::uuid = hrcnt.id -- Holdings Ill policy relation LEFT JOIN test_tenant_mod_inventory_storage.ill_policy ilp ON hr.illpolicyid = ilp.id WHERE true AND NOT ($2 AND COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false)) GROUP BY 1 ) itemAndHoldingsAttrs ) -- Instances with items and holding records SELECT vi.instId AS "instanceId", vi.source AS "source", vi.modeOfIssuance AS "modeOfIssuance", vi.natureOfContent AS "natureOfContent", COALESCE(viah.records -> 'holdings', '[]'::jsonb) AS "holdings", COALESCE(viah.records -> 'items', '[]'::jsonb) AS "items" FROM viewInstances vi LEFT JOIN viewItemsAndHoldings viah ON viah.instId = vi.instId $BODY$ LANGUAGE sql; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} SET search_path TO test_tenant_mod_inventory_storage; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed SET search_path TO test_tenant_mod_inventory_storage; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} START TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed START TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS instance_publication_period on test_tenant_mod_inventory_storage.instance ((jsonb -> 'publicationPeriod')); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS instance_publication_period on test_tenant_mod_inventory_storage.instance ((jsonb -> 'publicationPeriod')); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE instance DISABLE TRIGGER USER; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE instance DISABLE TRIGGER USER; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION parse_start_year(jsonb) RETURNS int AS $$ SELECT COALESCE( (regexp_match($1->'publication'->0->>'dateOfPublication', '(\d{4})\w{0,2}(?:\s?-|\sand|\s?,)'))[1], (regexp_match($1->'publication'->0->>'dateOfPublication', '\d{4}'))[1] )::int; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION parse_start_year(jsonb) RETURNS int AS $$ SELECT COALESCE( (regexp_match($1->'publication'->0->>'dateOfPublication', '(\d{4})\w{0,2}(?:\s?-|\sand|\s?,)'))[1], (regexp_match($1->'publication'->0->>'dateOfPublication', '\d{4}'))[1] )::int; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION parse_end_year(jsonb) RETURNS int AS $$ SELECT COALESCE( (regexp_match($1->'publication'->-1->>'dateOfPublication', '(?:-\s?|and\s|,\s?)\w{0,2}(\d{4})'))[1], (regexp_match($1->'publication'->-1->>'dateOfPublication', '\d{4}'))[1], (regexp_match($1->'publication'-> 0->>'dateOfPublication', '(?:-\s?|and\s|,\s?)\w{0,2}(\d{4})'))[1], (regexp_match($1->'publication'-> 0->>'dateOfPublication', '\d{4}'))[1] )::int; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION parse_end_year(jsonb) RETURNS int AS $$ SELECT COALESCE( (regexp_match($1->'publication'->-1->>'dateOfPublication', '(?:-\s?|and\s|,\s?)\w{0,2}(\d{4})'))[1], (regexp_match($1->'publication'->-1->>'dateOfPublication', '\d{4}'))[1], (regexp_match($1->'publication'-> 0->>'dateOfPublication', '(?:-\s?|and\s|,\s?)\w{0,2}(\d{4})'))[1], (regexp_match($1->'publication'-> 0->>'dateOfPublication', '\d{4}'))[1] )::int; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION parse_publication_period(jsonb) RETURNS jsonb AS $$ SELECT CASE WHEN $1->'publication' IS NULL THEN NULL WHEN jsonb_array_length($1->'publication') = 0 THEN NULL WHEN parse_start_year($1) IS NULL AND parse_end_year($1) IS NULL THEN NULL WHEN parse_start_year($1) IS NULL THEN jsonb_build_object('end', parse_end_year($1)) WHEN parse_end_year($1) IS NULL OR parse_start_year($1) >= parse_end_year($1) THEN jsonb_build_object('start', parse_start_year($1)) ELSE jsonb_build_object('start', parse_start_year($1), 'end', parse_end_year($1)) END; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION parse_publication_period(jsonb) RETURNS jsonb AS $$ SELECT CASE WHEN $1->'publication' IS NULL THEN NULL WHEN jsonb_array_length($1->'publication') = 0 THEN NULL WHEN parse_start_year($1) IS NULL AND parse_end_year($1) IS NULL THEN NULL WHEN parse_start_year($1) IS NULL THEN jsonb_build_object('end', parse_end_year($1)) WHEN parse_end_year($1) IS NULL OR parse_start_year($1) >= parse_end_year($1) THEN jsonb_build_object('start', parse_start_year($1)) ELSE jsonb_build_object('start', parse_start_year($1), 'end', parse_end_year($1)) END; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE instance SET jsonb = jsonb_set(jsonb, '{publicationPeriod}', parse_publication_period(jsonb)) WHERE jsonb->>'publicationPeriod' IS NULL AND parse_publication_period(jsonb) IS NOT NULL; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed UPDATE instance SET jsonb = jsonb_set(jsonb, '{publicationPeriod}', parse_publication_period(jsonb)) WHERE jsonb->>'publicationPeriod' IS NULL AND parse_publication_period(jsonb) IS NOT NULL; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE instance ENABLE TRIGGER USER; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE instance ENABLE TRIGGER USER; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION parse_start_year(jsonb), parse_end_year(jsonb), parse_publication_period(jsonb); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION parse_start_year(jsonb), parse_end_year(jsonb), parse_publication_period(jsonb); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP INDEX IF EXISTS instance_publication_period; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP INDEX IF EXISTS instance_publication_period; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} END TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed END TRANSACTION; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} SET search_path TO test_tenant_mod_inventory_storage; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed SET search_path TO test_tenant_mod_inventory_storage; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION check_statistical_code_references() RETURNS TRIGGER AS $$ DECLARE invalid text; BEGIN SELECT ref INTO invalid FROM jsonb_array_elements_text(NEW.jsonb->'statisticalCodeIds') ref LEFT JOIN statistical_code ON id=ref::uuid WHERE id IS NULL LIMIT 1; IF FOUND THEN RAISE foreign_key_violation USING MESSAGE='statistical code doesn''t exist: ' || invalid, DETAIL='foreign key violation in statisticalCodeIds array of ' || TG_TABLE_NAME || ' with id=' || NEW.id, SCHEMA=TG_TABLE_SCHEMA, TABLE=TG_TABLE_NAME; END IF; RETURN NEW; END; $$ LANGUAGE plpgsql; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION check_statistical_code_references() RETURNS TRIGGER AS $$ DECLARE invalid text; BEGIN SELECT ref INTO invalid FROM jsonb_array_elements_text(NEW.jsonb->'statisticalCodeIds') ref LEFT JOIN statistical_code ON id=ref::uuid WHERE id IS NULL LIMIT 1; IF FOUND THEN RAISE foreign_key_violation USING MESSAGE='statistical code doesn''t exist: ' || invalid, DETAIL='foreign key violation in statisticalCodeIds array of ' || TG_TABLE_NAME || ' with id=' || NEW.id, SCHEMA=TG_TABLE_SCHEMA, TABLE=TG_TABLE_NAME; END IF; RETURN NEW; END; $$ LANGUAGE plpgsql; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS check_statistical_code_references_on_insert ON item CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "check_statistical_code_references_on_insert" for relation "item" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS check_statistical_code_references_on_insert ON item CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER check_statistical_code_references_on_insert BEFORE INSERT ON item FOR EACH ROW WHEN (NEW.jsonb->'statisticalCodeIds' IS NOT NULL AND NEW.jsonb->'statisticalCodeIds' <> '[]') EXECUTE FUNCTION check_statistical_code_references(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER check_statistical_code_references_on_insert BEFORE INSERT ON item FOR EACH ROW WHEN (NEW.jsonb->'statisticalCodeIds' IS NOT NULL AND NEW.jsonb->'statisticalCodeIds' <> '[]') EXECUTE FUNCTION check_statistical_code_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS check_statistical_code_references_on_update ON item CASCADE; 09:33:13 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "check_statistical_code_references_on_update" for relation "item" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS check_statistical_code_references_on_update ON item CASCADE; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER check_statistical_code_references_on_update BEFORE UPDATE ON item FOR EACH ROW WHEN (NEW.jsonb->'statisticalCodeIds' IS NOT NULL AND NEW.jsonb->'statisticalCodeIds' <> '[]' AND OLD.jsonb->'statisticalCodeIds' IS DISTINCT FROM NEW.jsonb->'statisticalCodeIds') EXECUTE FUNCTION check_statistical_code_references(); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER check_statistical_code_references_on_update BEFORE UPDATE ON item FOR EACH ROW WHEN (NEW.jsonb->'statisticalCodeIds' IS NOT NULL AND NEW.jsonb->'statisticalCodeIds' <> '[]' AND OLD.jsonb->'statisticalCodeIds' IS DISTINCT FROM NEW.jsonb->'statisticalCodeIds') EXECUTE FUNCTION check_statistical_code_references(); 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE aname TEXT; BEGIN FOR aname IN SELECT name FROM test_tenant_mod_inventory_storage.rmb_internal_index WHERE remove = TRUE LOOP EXECUTE 'DROP INDEX IF EXISTS ' || aname; END LOOP; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE aname TEXT; BEGIN FOR aname IN SELECT name FROM test_tenant_mod_inventory_storage.rmb_internal_index WHERE remove = TRUE LOOP EXECUTE 'DROP INDEX IF EXISTS ' || aname; END LOOP; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE version TEXT; i RECORD; newindexdef TEXT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM test_tenant_mod_inventory_storage.rmb_internal; IF version !~ '^(\d\.|1\d\.|2[0-8]\.|29\.[0-3]\.)' THEN -- skip this upgrade if last install/upgrade was made by RMB >= 29.4.x RETURN; END IF; FOR i IN SELECT * FROM pg_catalog.pg_indexes WHERE schemaname = 'test_tenant_mod_inventory_storage' LOOP newindexdef := regexp_replace(i.indexdef, -- \m = beginning of a word, \M = end of a word '\mpublic\.(f_unaccent|concat_space_sql|concat_array_object_values|concat_array_object)\M', 'test_tenant_mod_inventory_storage.\1', 'g'); IF newindexdef <> i.indexdef THEN EXECUTE 'DROP INDEX ' || i.indexname; EXECUTE newindexdef; EXECUTE 'INSERT INTO rmb_internal_analyze VALUES ($1)' USING i.tablename; END IF; END LOOP; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE version TEXT; i RECORD; newindexdef TEXT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM test_tenant_mod_inventory_storage.rmb_internal; IF version !~ '^(\d\.|1\d\.|2[0-8]\.|29\.[0-3]\.)' THEN -- skip this upgrade if last install/upgrade was made by RMB >= 29.4.x RETURN; END IF; FOR i IN SELECT * FROM pg_catalog.pg_indexes WHERE schemaname = 'test_tenant_mod_inventory_storage' LOOP newindexdef := regexp_replace(i.indexdef, -- \m = beginning of a word, \M = end of a word '\mpublic\.(f_unaccent|concat_space_sql|concat_array_object_values|concat_array_object)\M', 'test_tenant_mod_inventory_storage.\1', 'g'); IF newindexdef <> i.indexdef THEN EXECUTE 'DROP INDEX ' || i.indexname; EXECUTE newindexdef; EXECUTE 'INSERT INTO rmb_internal_analyze VALUES ($1)' USING i.tablename; END IF; END LOOP; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE t TEXT; BEGIN FOR t IN SELECT DISTINCT tablename FROM rmb_internal_analyze LOOP EXECUTE 'ANALYZE ' || t; END LOOP; END $$; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE t TEXT; BEGIN FOR t IN SELECT DISTINCT tablename FROM rmb_internal_analyze LOOP EXECUTE 'ANALYZE ' || t; END LOOP; END $$; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} TRUNCATE rmb_internal_analyze; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed TRUNCATE rmb_internal_analyze; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA test_tenant_mod_inventory_storage TO test_tenant_mod_inventory_storage; 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA test_tenant_mod_inventory_storage TO test_tenant_mod_inventory_storage; 09:33:13 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.rmb_internal SET jsonb = jsonb || jsonb_build_object( 'rmbVersion', '33.1.1', 'moduleVersion', 'mod-inventory-storage-1.0.0', 'schemaJson', $mainftl${ "tables": [ { "tableName": "authority", "fromModuleVersion": "22.1.0", "withMetadata": true, "withAuditing": false, "withOptimisticLocking": "logOnConflict" }, { "tableName": "loan_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "material_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "locinstitution", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "loccampus", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ], "foreignKeys": [ { "fieldName": "institutionId", "targetTable": "locinstitution", "tOps": "ADD" } ] }, { "tableName": "loclibrary", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ], "foreignKeys": [ { "fieldName": "campusId", "targetTable": "loccampus", "tOps": "ADD" } ] }, { "tableName": "location", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" }, { "fieldName": "code", "tOps": "ADD" } ], "foreignKeys": [ { "fieldName": "institutionId", "targetTable": "locinstitution", "tOps": "ADD" }, { "fieldName": "campusId", "targetTable": "loccampus", "tOps": "ADD" }, { "fieldName": "libraryId", "targetTable": "loclibrary", "tOps": "ADD" } ], "index": [ { "fieldName": "primaryServicePoint", "tOps": "ADD", "caseSensitive": false, "removeAccents": false } ] }, { "tableName": "service_point", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" }, { "fieldName": "code", "tOps": "ADD" } ], "index": [ { "fieldName": "pickupLocation", "tOps": "ADD", "caseSensitive": false, "removeAccents": false } ] }, { "tableName": "service_point_user", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "userId", "tOps": "ADD" } ], "foreignKeys": [ { "fieldName": "defaultServicePointId", "targetTable": "service_point", "tOps": "ADD" } ] }, { "tableName": "identifier_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "instance_relationship_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "contributor_type", "withMetadata": false, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" }, { "fieldName": "code", "tOps": "ADD" } ] }, { "tableName": "contributor_name_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "instance_type", "withMetadata": false, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" }, { "fieldName": "code", "tOps": "ADD" } ] }, { "tableName": "instance_format", "withMetadata": false, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" }, { "fieldName": "code", "tOps": "ADD" } ] }, { "tableName": "nature_of_content_term", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "classification_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "electronic_access_relationship", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "statistical_code_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "code", "tOps": "ADD" } ] }, { "tableName": "statistical_code", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "code, statisticalCodeTypeId", "tOps": "ADD" }, { "fieldName": "name", "tOps": "ADD" } ], "foreignKeys": [ { "fieldName": "statisticalCodeTypeId", "targetTable": "statistical_code_type", "tOps": "ADD" } ] }, { "tableName": "instance_status", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" }, { "fieldName": "code", "tOps": "ADD" } ] }, { "tableName": "mode_of_issuance", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "alternative_title_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "instance", "fromModuleVersion": "19.2.0", "withMetadata": true, "withAuditing": true, "withOptimisticLocking": "logOnConflict", "auditingTableName": "audit_instance", "auditingFieldName": "record", "customSnippetPath": "audit-delete-trigger.sql", "foreignKeys": [ { "fieldName": "instanceStatusId", "targetTable": "instance_status", "tOps": "ADD" }, { "fieldName": "modeOfIssuanceId", "targetTable": "mode_of_issuance", "tOps": "ADD" }, { "fieldName": "instanceTypeId", "targetTable": "instance_type", "tOps": "ADD" } ], "uniqueIndex": [ { "fieldName": "hrid", "tOps": "ADD" }, { "fieldName": "matchKey", "tOps": "ADD" } ], "ginIndex": [ { "fieldName": "title", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "indexTitle", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "contributors", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "identifiers", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "subjects", "tOps": "DELETE", "caseSensitive": false, "removeAccents": true } ], "index": [ { "fieldName": "source", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "indexTitle", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "title", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "statisticalCodeIds", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "contributors", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "publication", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "staffSuppress", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "discoverySuppress", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "metadata.updatedDate", "tOps": "ADD", "caseSensitive": false, "removeAccents": false } ], "fullTextIndex": [ { "fieldName": "classifications", "arraySubfield" : "classificationNumber", "arrayModifiers": ["classificationTypeId"] }, { "fieldName": "keyword", "multiFieldNames": "title,indexTitle,alternativeTitles[*].alternativeTitle,series,contributors[*].name,identifiers[*].value" }, { "fieldName": "allTitles", "multiFieldNames": "title,indexTitle,alternativeTitles[*].alternativeTitle,series" }, { "fieldName": "contributorsNames", "multiFieldNames": "contributors[*].name" }, { "fieldName": "title" }, { "fieldName": "languages" }, { "fieldName": "contributors", "arraySubfield" : "name", "arrayModifiers": ["contributorNameTypeId"] }, { "fieldName": "identifiers", "arraySubfield" : "value", "arrayModifiers": ["identifierTypeId"] }, { "fieldName": "invalidIsbn", "sqlExpression" : "normalize_invalid_isbns(jsonb->'identifiers')", "sqlExpressionQuery": "normalize_digits($)" }, { "fieldName": "isbn", "sqlExpression" : "normalize_isbns(jsonb->'identifiers')", "sqlExpressionQuery": "normalize_digits($)" }, { "fieldName": "dateOfPublication", "sqlExpression" : "concat_array_object_values(jsonb->'publication', 'dateOfPublication')" }, { "fieldName": "subjects", "tOps": "ADD", "caseSensitive": false, "removeAccents": true } ] }, { "tableName": "instance_relationship", "withMetadata": true, "foreignKeys": [ { "fieldName": "superInstanceId", "targetTable": "instance", "tOps": "ADD" }, { "fieldName": "subInstanceId", "targetTable": "instance", "tOps": "ADD" }, { "fieldName": "instanceRelationshipTypeId", "targetTable": "instance_relationship_type", "tOps": "ADD" } ] }, { "tableName": "instance_source_marc", "withMetadata": true, "customSnippetPath": "instanceSourceMarc.sql" }, { "tableName": "ill_policy", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "call_number_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "holdings_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "authority_note_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "instance_note_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "holdings_note_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "item_note_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "item_damaged_status", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "holdings_records_source", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "holdings_record", "fromModuleVersion": "19.2.0", "withMetadata": true, "withAuditing": true, "withOptimisticLocking": "logOnConflict", "auditingTableName": "audit_holdings_record", "auditingFieldName": "record", "customSnippetPath": "audit-delete-trigger.sql", "foreignKeys": [ { "fieldName": "instanceId", "targetTable": "instance", "tableAlias" : "holdingsRecords", "tOps": "ADD" }, { "fieldName": "permanentLocationId", "targetTable": "location", "tOps": "ADD" }, { "fieldName": "temporaryLocationId", "targetTable": "location", "tOps": "ADD" }, { "fieldName": "effectiveLocationId", "targetTable": "location", "tOps": "ADD" }, { "fieldName": "holdingsTypeId", "targetTable": "holdings_type", "tOps": "ADD" }, { "fieldName": "callNumberTypeId", "targetTable": "call_number_type", "tOps": "ADD" }, { "fieldName": "illPolicyId", "targetTable": "ill_policy", "tOps": "ADD" }, { "fieldName": "sourceId", "targetTable": "holdings_records_source", "tOps": "ADD" } ], "uniqueIndex": [ { "fieldName": "hrid", "tOps": "ADD" } ], "ginIndex": [ { "fieldName": "electronicAccess", "tOps": "ADD", "caseSensitive": false, "removeAccents": true } ], "index": [ { "fieldName": "callNumber", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "callNumberAndSuffix", "multiFieldNames": "callNumber, callNumberSuffix", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "fullCallNumber", "multiFieldNames": "callNumberPrefix, callNumber, callNumberSuffix", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "discoverySuppress", "tOps": "ADD", "caseSensitive": false, "removeAccents": false } ], "fullTextIndex": [ { "fieldName": "callNumberAndSuffixNormalized", "sqlExpression" : "normalize_holdings_call_number_and_suffix(jsonb)", "sqlExpressionQuery": "normalize_call_number_string($) || '*'" }, { "fieldName": "fullCallNumberNormalized", "sqlExpression" : "normalize_holdings_full_call_number(jsonb)", "sqlExpressionQuery": "normalize_call_number_string($) || '*'" } ] }, { "tableName": "item", "withMetadata": true, "fromModuleVersion": "19.2.0", "withAuditing": true, "withOptimisticLocking": "logOnConflict", "auditingTableName": "audit_item", "auditingFieldName": "record", "customSnippetPath": "audit-delete-trigger.sql", "foreignKeys": [ { "fieldName": "holdingsRecordId", "targetTable": "holdings_record", "targetTableAlias" : "holdingsRecords", "tableAlias": "item", "tOps": "ADD" }, { "targetPath": ["holdingsRecordId", "instanceId"], "targetTable": "instance", "targetTableAlias": "instance", "tableAlias": "item" }, { "fieldName": "permanentLoanTypeId", "targetTable": "loan_type", "tOps": "ADD" }, { "fieldName": "temporaryLoanTypeId", "targetTable": "loan_type", "tOps": "ADD" }, { "fieldName": "materialTypeId", "targetTable": "material_type", "tOps": "ADD" }, { "fieldName": "permanentLocationId", "targetTable": "location", "tOps": "ADD" }, { "fieldName": "temporaryLocationId", "targetTable": "location", "tOps": "ADD" }, { "fieldName": "effectiveLocationId", "targetTable": "location", "tOps": "ADD" } ], "uniqueIndex": [ { "fieldName": "barcode", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "hrid", "tOps": "ADD" } ], "index": [ { "fieldName": "accessionNumber", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "status.name", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "callNumberAndSuffix", "multiFieldNames": "effectiveCallNumberComponents.callNumber, effectiveCallNumberComponents.suffix", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "fullCallNumber", "multiFieldNames": "effectiveCallNumberComponents.prefix, effectiveCallNumberComponents.callNumber, effectiveCallNumberComponents.suffix", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "discoverySuppress", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "purchaseOrderLineIdentifier", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "effectiveCallNumberComponents.callNumber", "tOps": "ADD", "caseSensitive": false, "removeAccents": false } ], "ginIndex": [ { "fieldName": "status.name", "tOps": "ADD", "caseSensitive": false, "removeAccents": true } ], "fullTextIndex": [ { "fieldName": "callNumberAndSuffixNormalized", "sqlExpression" : "normalize_item_call_number_and_suffix(jsonb)", "sqlExpressionQuery": "normalize_call_number_string($) || '*'" }, { "fieldName": "fullCallNumberNormalized", "sqlExpression" : "normalize_item_full_call_number(jsonb)", "sqlExpressionQuery": "normalize_call_number_string($) || '*'" } ] }, { "tableName": "hrid_settings", "fromModuleVersion": "17.1.0", "withMetadata": false, "withAuditing": false, "customSnippetPath": "hridSettings.sql" }, { "tableName": "preceding_succeeding_title", "fromModuleVersion": "19.0.0", "withMetadata": true, "foreignKeys": [ { "fieldName": "precedingInstanceId", "targetTable": "instance" }, { "fieldName": "succeedingInstanceId", "targetTable": "instance" } ], "customSnippetPath": "alterPrecedingSucceedingTitle.sql" }, { "tableName": "reindex_job", "withMetadata": false, "withAuditing": false }, { "tableName": "bound_with_part", "withMetadata": true, "foreignKeys": [ { "fieldName": "itemId", "targetTable": "item", "tOps": "ADD" }, { "fieldName": "holdingsRecordId", "targetTable": "holdings_record", "tOps": "ADD" } ], "uniqueIndex": [ { "fieldName": "itemId, holdingsRecordId", "tOps": "ADD" } ] }, { "tableName": "notification_sending_error", "withMetadata": false, "withAuditing": false }, { "tableName": "iteration_job", "withMetadata": false, "withAuditing": false } ], "scripts": [ { "run":"after", "snippetPath":"setPreviouslyHeldDefault.sql", "fromModuleVersion":"20.2.0" }, { "run": "before", "snippetPath": "populateRmbInternalIndex.sql", "fromModuleVersion": "19.1.1" }, { "run": "before", "snippetPath": "createIsbnFunctions.sql", "fromModuleVersion": "19.2.0" }, { "run": "before", "snippetPath": "createCallNumberNormalizationFunctions.sql", "fromModuleVersion": "19.2.0" }, { "run":"after", "snippetPath":"setEffectiveHoldingsLocation.sql", "fromModuleVersion":"20.1.0" }, { "run": "after", "snippetPath": "dropLegacyItemEffectiveLocationTriggers.sql", "fromModuleVersion": "19.5.0" }, { "run": "after", "snippetPath": "populateRetainLeadingZeroesSetting.sql", "fromModuleVersion": "19.5.0" }, { "run": "after", "snippetPath": "populateEffectiveLocationForExistingItems.sql", "fromModuleVersion": "17.1.0" }, { "run": "after", "snippetPath": "populateEffectiveLocationForeignKey.sql", "fromModuleVersion": "18.2.0" }, { "run": "after", "snippetPath": "populateEffectiveCallNumberComponentsForExistingItems.sql", "fromModuleVersion": "18.3.0" }, { "run": "after", "snippetPath": "removeOldHridOperations.sql", "fromModuleVersion": "17.1.0" }, { "run": "after", "snippetPath": "instanceStatusUpdatedDateTrigger.sql", "fromModuleVersion": "17.1.0" }, { "run": "after", "snippetPath": "updateItemStatusDate.sql", "fromModuleVersion": "19.2.0" }, { "run": "after", "snippetPath": "alterHridSequences.sql", "fromModuleVersion": "18.2.0" }, { "run": "after", "snippetPath": "migrateItemCopyNumberToSingleValue.sql", "fromModuleVersion": "19.0.0" }, { "run": "after", "snippetPath": "renameModesOfIssuance.sql", "fromModuleVersion": "19.0.0" }, { "run": "after", "snippetPath": "migratePrecedingSucceedingTitles.sql", "fromModuleVersion": "19.0.0" }, { "run": "after", "snippetPath": "populateDiscoverySuppressIfNotSet.sql", "fromModuleVersion": "19.0.0" }, { "run": "after", "snippetPath": "oaipmh/createOaiPmhViewFunction.sql", "fromModuleVersion": "19.3.1" }, { "run": "after", "snippetPath": "removeOldPrecedingSucceedingTitles.sql", "fromModuleVersion": "19.2.0" }, { "run": "after", "snippetPath": "inventory-hierarchy/createRecordsViewFunction.sql", "fromModuleVersion": "19.4.0" }, { "run": "after", "snippetPath": "updateIllPolicyWillNotLend.sql", "fromModuleVersion": "19.4.0" }, { "run": "after", "snippetPath": "addIdentifierTypeCancelledSystemControlNumber.sql", "fromModuleVersion": "19.4.0" }, { "run": "after", "snippetPath": "inventory-hierarchy/addNullChecksToRecordsViewFunctions.sql", "fromModuleVersion": "19.5.0" }, { "run": "after", "snippetPath": "instance-hr-item/instance-hr-item-view.sql", "fromModuleVersion": "19.5.0" }, { "run": "after", "snippetPath": "inventory-hierarchy/addEffectiveHoldingsToItemsAndHoldingsView.sql", "fromModuleVersion": "20.3.0" }, { "run": "after", "snippetPath": "addInstanceFormatsAudioBelt.sql", "fromModuleVersion": "20.3.0" }, { "run": "after", "snippetPath": "dropLegacyItemEffectiveLocationFunctions.sql", "fromModuleVersion": "21.1.0" }, { "run": "after", "snippetPath": "addIdentifierTypesUpcIsmn.sql", "fromModuleVersion": "21.1.0" }, { "run": "after", "snippetPath": "inventory-hierarchy/addHoldingsIfItemsSuppressedItemsAndHoldingsView.sql", "fromModuleVersion": "22.0.0" }, { "run": "after", "snippetPath": "populatePublicationPeriod.sql", "fromModuleVersion": "22.1.0" }, { "run": "after", "snippetPath": "itemStatisticalCodeReferenceCheckTrigger.sql", "fromModuleVersion": "22.1.0" } ] } $mainftl$); 09:33:13 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.rmb_internal SET jsonb = jsonb || jsonb_build_object( 'rmbVersion', '33.1.1', 'moduleVersion', 'mod-inventory-storage-1.0.0', 'schemaJson', $mainftl${ "tables": [ { "tableName": "authority", "fromModuleVersion": "22.1.0", "withMetadata": true, "withAuditing": false, "withOptimisticLocking": "logOnConflict" }, { "tableName": "loan_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "material_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "locinstitution", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "loccampus", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ], "foreignKeys": [ { "fieldName": "institutionId", "targetTable": "locinstitution", "tOps": "ADD" } ] }, { "tableName": "loclibrary", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ], "foreignKeys": [ { "fieldName": "campusId", "targetTable": "loccampus", "tOps": "ADD" } ] }, { "tableName": "location", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" }, { "fieldName": "code", "tOps": "ADD" } ], "foreignKeys": [ { "fieldName": "institutionId", "targetTable": "locinstitution", "tOps": "ADD" }, { "fieldName": "campusId", "targetTable": "loccampus", "tOps": "ADD" }, { "fieldName": "libraryId", "targetTable": "loclibrary", "tOps": "ADD" } ], "index": [ { "fieldName": "primaryServicePoint", "tOps": "ADD", "caseSensitive": false, "removeAccents": false } ] }, { "tableName": "service_point", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" }, { "fieldName": "code", "tOps": "ADD" } ], "index": [ { "fieldName": "pickupLocation", "tOps": "ADD", "caseSensitive": false, "removeAccents": false } ] }, { "tableName": "service_point_user", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "userId", "tOps": "ADD" } ], "foreignKeys": [ { "fieldName": "defaultServicePointId", "targetTable": "service_point", "tOps": "ADD" } ] }, { "tableName": "identifier_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "instance_relationship_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "contributor_type", "withMetadata": false, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" }, { "fieldName": "code", "tOps": "ADD" } ] }, { "tableName": "contributor_name_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "instance_type", "withMetadata": false, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" }, { "fieldName": "code", "tOps": "ADD" } ] }, { "tableName": "instance_format", "withMetadata": false, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" }, { "fieldName": "code", "tOps": "ADD" } ] }, { "tableName": "nature_of_content_term", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "classification_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "electronic_access_relationship", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "statistical_code_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "code", "tOps": "ADD" } ] }, { "tableName": "statistical_code", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "code, statisticalCodeTypeId", "tOps": "ADD" }, { "fieldName": "name", "tOps": "ADD" } ], "foreignKeys": [ { "fieldName": "statisticalCodeTypeId", "targetTable": "statistical_code_type", "tOps": "ADD" } ] }, { "tableName": "instance_status", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" }, { "fieldName": "code", "tOps": "ADD" } ] }, { "tableName": "mode_of_issuance", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "alternative_title_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "instance", "fromModuleVersion": "19.2.0", "withMetadata": true, "withAuditing": true, "withOptimisticLocking": "logOnConflict", "auditingTableName": "audit_instance", "auditingFieldName": "record", "customSnippetPath": "audit-delete-trigger.sql", "foreignKeys": [ { "fieldName": "instanceStatusId", "targetTable": "instance_status", "tOps": "ADD" }, { "fieldName": "modeOfIssuanceId", "targetTable": "mode_of_issuance", "tOps": "ADD" }, { "fieldName": "instanceTypeId", "targetTable": "instance_type", "tOps": "ADD" } ], "uniqueIndex": [ { "fieldName": "hrid", "tOps": "ADD" }, { "fieldName": "matchKey", "tOps": "ADD" } ], "ginIndex": [ { "fieldName": "title", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "indexTitle", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "contributors", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "identifiers", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "subjects", "tOps": "DELETE", "caseSensitive": false, "removeAccents": true } ], "index": [ { "fieldName": "source", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "indexTitle", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "title", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "statisticalCodeIds", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "contributors", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "publication", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "staffSuppress", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "discoverySuppress", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "metadata.updatedDate", "tOps": "ADD", "caseSensitive": false, "removeAccents": false } ], "fullTextIndex": [ { "fieldName": "classifications", "arraySubfield" : "classificationNumber", "arrayModifiers": ["classificationTypeId"] }, { "fieldName": "keyword", "multiFieldNames": "title,indexTitle,alternativeTitles[*].alternativeTitle,series,contributors[*].name,identifiers[*].value" }, { "fieldName": "allTitles", "multiFieldNames": "title,indexTitle,alternativeTitles[*].alternativeTitle,series" }, { "fieldName": "contributorsNames", "multiFieldNames": "contributors[*].name" }, { "fieldName": "title" }, { "fieldName": "languages" }, { "fieldName": "contributors", "arraySubfield" : "name", "arrayModifiers": ["contributorNameTypeId"] }, { "fieldName": "identifiers", "arraySubfield" : "value", "arrayModifiers": ["identifierTypeId"] }, { "fieldName": "invalidIsbn", "sqlExpression" : "normalize_invalid_isbns(jsonb->'identifiers')", "sqlExpressionQuery": "normalize_digits($)" }, { "fieldName": "isbn", "sqlExpression" : "normalize_isbns(jsonb->'identifiers')", "sqlExpressionQuery": "normalize_digits($)" }, { "fieldName": "dateOfPublication", "sqlExpression" : "concat_array_object_values(jsonb->'publication', 'dateOfPublication')" }, { "fieldName": "subjects", "tOps": "ADD", "caseSensitive": false, "removeAccents": true } ] }, { "tableName": "instance_relationship", "withMetadata": true, "foreignKeys": [ { "fieldName": "superInstanceId", "targetTable": "instance", "tOps": "ADD" }, { "fieldName": "subInstanceId", "targetTable": "instance", "tOps": "ADD" }, { "fieldName": "instanceRelationshipTypeId", "targetTable": "instance_relationship_type", "tOps": "ADD" } ] }, { "tableName": "instance_source_marc", "withMetadata": true, "customSnippetPath": "instanceSourceMarc.sql" }, { "tableName": "ill_policy", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "call_number_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "holdings_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "authority_note_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "instance_note_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "holdings_note_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "item_note_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "item_damaged_status", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "holdings_records_source", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "holdings_record", "fromModuleVersion": "19.2.0", "withMetadata": true, "withAuditing": true, "withOptimisticLocking": "logOnConflict", "auditingTableName": "audit_holdings_record", "auditingFieldName": "record", "customSnippetPath": "audit-delete-trigger.sql", "foreignKeys": [ { "fieldName": "instanceId", "targetTable": "instance", "tableAlias" : "holdingsRecords", "tOps": "ADD" }, { "fieldName": "permanentLocationId", "targetTable": "location", "tOps": "ADD" }, { "fieldName": "temporaryLocationId", "targetTable": "location", "tOps": "ADD" }, { "fieldName": "effectiveLocationId", "targetTable": "location", "tOps": "ADD" }, { "fieldName": "holdingsTypeId", "targetTable": "holdings_type", "tOps": "ADD" }, { "fieldName": "callNumberTypeId", "targetTable": "call_number_type", "tOps": "ADD" }, { "fieldName": "illPolicyId", "targetTable": "ill_policy", "tOps": "ADD" }, { "fieldName": "sourceId", "targetTable": "holdings_records_source", "tOps": "ADD" } ], "uniqueIndex": [ { "fieldName": "hrid", "tOps": "ADD" } ], "ginIndex": [ { "fieldName": "electronicAccess", "tOps": "ADD", "caseSensitive": false, "removeAccents": true } ], "index": [ { "fieldName": "callNumber", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "callNumberAndSuffix", "multiFieldNames": "callNumber, callNumberSuffix", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "fullCallNumber", "multiFieldNames": "callNumberPrefix, callNumber, callNumberSuffix", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "discoverySuppress", "tOps": "ADD", "caseSensitive": false, "removeAccents": false } ], "fullTextIndex": [ { "fieldName": "callNumberAndSuffixNormalized", "sqlExpression" : "normalize_holdings_call_number_and_suffix(jsonb)", "sqlExpressionQuery": "normalize_call_number_string($) || '*'" }, { "fieldName": "fullCallNumberNormalized", "sqlExpression" : "normalize_holdings_full_call_number(jsonb)", "sqlExpressionQuery": "normalize_call_number_string($) || '*'" } ] }, { "tableName": "item", "withMetadata": true, "fromModuleVersion": "19.2.0", "withAuditing": true, "withOptimisticLocking": "logOnConflict", "auditingTableName": "audit_item", "auditingFieldName": "record", "customSnippetPath": "audit-delete-trigger.sql", "foreignKeys": [ { "fieldName": "holdingsRecordId", "targetTable": "holdings_record", "targetTableAlias" : "holdingsRecords", "tableAlias": "item", "tOps": "ADD" }, { "targetPath": ["holdingsRecordId", "instanceId"], "targetTable": "instance", "targetTableAlias": "instance", "tableAlias": "item" }, { "fieldName": "permanentLoanTypeId", "targetTable": "loan_type", "tOps": "ADD" }, { "fieldName": "temporaryLoanTypeId", "targetTable": "loan_type", "tOps": "ADD" }, { "fieldName": "materialTypeId", "targetTable": "material_type", "tOps": "ADD" }, { "fieldName": "permanentLocationId", "targetTable": "location", "tOps": "ADD" }, { "fieldName": "temporaryLocationId", "targetTable": "location", "tOps": "ADD" }, { "fieldName": "effectiveLocationId", "targetTable": "location", "tOps": "ADD" } ], "uniqueIndex": [ { "fieldName": "barcode", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "hrid", "tOps": "ADD" } ], "index": [ { "fieldName": "accessionNumber", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "status.name", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "callNumberAndSuffix", "multiFieldNames": "effectiveCallNumberComponents.callNumber, effectiveCallNumberComponents.suffix", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "fullCallNumber", "multiFieldNames": "effectiveCallNumberComponents.prefix, effectiveCallNumberComponents.callNumber, effectiveCallNumberComponents.suffix", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "discoverySuppress", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "purchaseOrderLineIdentifier", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "effectiveCallNumberComponents.callNumber", "tOps": "ADD", "caseSensitive": false, "removeAccents": false } ], "ginIndex": [ { "fieldName": "status.name", "tOps": "ADD", "caseSensitive": false, "removeAccents": true } ], "fullTextIndex": [ { "fieldName": "callNumberAndSuffixNormalized", "sqlExpression" : "normalize_item_call_number_and_suffix(jsonb)", "sqlExpressionQuery": "normalize_call_number_string($) || '*'" }, { "fieldName": "fullCallNumberNormalized", "sqlExpression" : "normalize_item_full_call_number(jsonb)", "sqlExpressionQuery": "normalize_call_number_string($) || '*'" } ] }, { "tableName": "hrid_settings", "fromModuleVersion": "17.1.0", "withMetadata": false, "withAuditing": false, "customSnippetPath": "hridSettings.sql" }, { "tableName": "preceding_succeeding_title", "fromModuleVersion": "19.0.0", "withMetadata": true, "foreignKeys": [ { "fieldName": "precedingInstanceId", "targetTable": "instance" }, { "fieldName": "succeedingInstanceId", "targetTable": "instance" } ], "customSnippetPath": "alterPrecedingSucceedingTitle.sql" }, { "tableName": "reindex_job", "withMetadata": false, "withAuditing": false }, { "tableName": "bound_with_part", "withMetadata": true, "foreignKeys": [ { "fieldName": "itemId", "targetTable": "item", "tOps": "ADD" }, { "fieldName": "holdingsRecordId", "targetTable": "holdings_record", "tOps": "ADD" } ], "uniqueIndex": [ { "fieldName": "itemId, holdingsRecordId", "tOps": "ADD" } ] }, { "tableName": "notification_sending_error", "withMetadata": false, "withAuditing": false }, { "tableName": "iteration_job", "withMetadata": false, "withAuditing": false } ], "scripts": [ { "run":"after", "snippetPath":"setPreviouslyHeldDefault.sql", "fromModuleVersion":"20.2.0" }, { "run": "before", "snippetPath": "populateRmbInternalIndex.sql", "fromModuleVersion": "19.1.1" }, { "run": "before", "snippetPath": "createIsbnFunctions.sql", "fromModuleVersion": "19.2.0" }, { "run": "before", "snippetPath": "createCallNumberNormalizationFunctions.sql", "fromModuleVersion": "19.2.0" }, { "run":"after", "snippetPath":"setEffectiveHoldingsLocation.sql", "fromModuleVersion":"20.1.0" }, { "run": "after", "snippetPath": "dropLegacyItemEffectiveLocationTriggers.sql", "fromModuleVersion": "19.5.0" }, { "run": "after", "snippetPath": "populateRetainLeadingZeroesSetting.sql", "fromModuleVersion": "19.5.0" }, { "run": "after", "snippetPath": "populateEffectiveLocationForExistingItems.sql", "fromModuleVersion": "17.1.0" }, { "run": "after", "snippetPath": "populateEffectiveLocationForeignKey.sql", "fromModuleVersion": "18.2.0" }, { "run": "after", "snippetPath": "populateEffectiveCallNumberComponentsForExistingItems.sql", "fromModuleVersion": "18.3.0" }, { "run": "after", "snippetPath": "removeOldHridOperations.sql", "fromModuleVersion": "17.1.0" }, { "run": "after", "snippetPath": "instanceStatusUpdatedDateTrigger.sql", "fromModuleVersion": "17.1.0" }, { "run": "after", "snippetPath": "updateItemStatusDate.sql", "fromModuleVersion": "19.2.0" }, { "run": "after", "snippetPath": "alterHridSequences.sql", "fromModuleVersion": "18.2.0" }, { "run": "after", "snippetPath": "migrateItemCopyNumberToSingleValue.sql", "fromModuleVersion": "19.0.0" }, { "run": "after", "snippetPath": "renameModesOfIssuance.sql", "fromModuleVersion": "19.0.0" }, { "run": "after", "snippetPath": "migratePrecedingSucceedingTitles.sql", "fromModuleVersion": "19.0.0" }, { "run": "after", "snippetPath": "populateDiscoverySuppressIfNotSet.sql", "fromModuleVersion": "19.0.0" }, { "run": "after", "snippetPath": "oaipmh/createOaiPmhViewFunction.sql", "fromModuleVersion": "19.3.1" }, { "run": "after", "snippetPath": "removeOldPrecedingSucceedingTitles.sql", "fromModuleVersion": "19.2.0" }, { "run": "after", "snippetPath": "inventory-hierarchy/createRecordsViewFunction.sql", "fromModuleVersion": "19.4.0" }, { "run": "after", "snippetPath": "updateIllPolicyWillNotLend.sql", "fromModuleVersion": "19.4.0" }, { "run": "after", "snippetPath": "addIdentifierTypeCancelledSystemControlNumber.sql", "fromModuleVersion": "19.4.0" }, { "run": "after", "snippetPath": "inventory-hierarchy/addNullChecksToRecordsViewFunctions.sql", "fromModuleVersion": "19.5.0" }, { "run": "after", "snippetPath": "instance-hr-item/instance-hr-item-view.sql", "fromModuleVersion": "19.5.0" }, { "run": "after", "snippetPath": "inventory-hierarchy/addEffectiveHoldingsToItemsAndHoldingsView.sql", "fromModuleVersion": "20.3.0" }, { "run": "after", "snippetPath": "addInstanceFormatsAudioBelt.sql", "fromModuleVersion": "20.3.0" }, { "run": "after", "snippetPath": "dropLegacyItemEffectiveLocationFunctions.sql", "fromModuleVersion": "21.1.0" }, { "run": "after", "snippetPath": "addIdentifierTypesUpcIsmn.sql", "fromModuleVersion": "21.1.0" }, { "run": "after", "snippetPath": "inventory-hierarchy/addHoldingsIfItemsSuppressedItemsAndHoldingsView.sql", "fromModuleVersion": "22.0.0" }, { "run": "after", "snippetPath": "populatePublicationPeriod.sql", "fromModuleVersion": "22.1.0" }, { "run": "after", "snippetPath": "itemStatisticalCodeReferenceCheckTrigger.sql", "fromModuleVersion": "22.1.0" } ] } $mainftl$); 09:33:13 [] [] [] [] WARN ? Backend notice: severity='WARNING', code='25P01', message='there is no transaction in progress', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='xact.c', line='3828', routine='EndTransactionBlock', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:14 [] [] [] [] INFO kaAdminClientService Creating topics [NewTopic{name=folio.test_tenant.inventory.instance,numPartitions=50,replicationFactor=1,replicasAssignments=null,config=null}, NewTopic{name=folio.test_tenant.inventory.item,numPartitions=50,replicationFactor=1,replicasAssignments=null,config=null}, NewTopic{name=folio.test_tenant.inventory.holdings-record,numPartitions=50,replicationFactor=1,replicasAssignments=null,config=null}, NewTopic{name=folio.test_tenant.inventory.authority,numPartitions=50,replicationFactor=1,replicasAssignments=null,config=null}, NewTopic{name=folio.test_tenant.inventory.instance-contribution,numPartitions=50,replicationFactor=1,replicasAssignments=null,config=null}] 09:33:21 [] [] [] [] INFO kaAdminClientService Topics created successfully 09:33:21 [] [] [] [] INFO RestRouting invoking putMaterialTypesByMaterialtypeId 09:33:21 [] [] [] [] INFO LoadConfs File does not exist: /postgres-conf.json 09:33:21 [] [] [] [] INFO LoadConfs Resource does not exist: /postgres-conf.json 09:33:21 [] [] [] [] INFO PostgresClient No DB configuration found, setting username, password and database for testing 09:33:21 [] [] [] [] INFO PostgresClient Using schema: test_tenant 09:33:21 [] [] [] [] INFO PostgresClient postgreSQLClientConfig = {"postgres_tester":true,"username":"test_tenant_mod_inventory_storage","password":"...","database":"postgres","port":49335,"host":"localhost"} 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /material-types/d9acad2f-2aac-4b48-9097-e6ab85906b25 null HTTP_1_1 404 46 51 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postMaterialTypes 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /material-types null HTTP_1_1 201 219 13 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putMaterialTypesByMaterialtypeId 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /material-types/fd6c6515-d470-4561-9c32-3e3290d4ca98 null HTTP_1_1 404 46 7 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postMaterialTypes 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /material-types null HTTP_1_1 201 224 10 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putMaterialTypesByMaterialtypeId 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /material-types/71fbd940-1027-40a6-8a48-49b44d795e46 null HTTP_1_1 404 46 6 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postMaterialTypes 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /material-types null HTTP_1_1 201 226 5 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putMaterialTypesByMaterialtypeId 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /material-types/615b8413-82d5-4203-aa6e-e37984cb5ac3 null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postMaterialTypes 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /material-types null HTTP_1_1 201 234 3 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putMaterialTypesByMaterialtypeId 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /material-types/1a54b431-2e4f-452d-9cae-9cee66c9a892 null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postMaterialTypes 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /material-types null HTTP_1_1 201 219 2 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putMaterialTypesByMaterialtypeId 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /material-types/dd0bf600-dbd9-44ab-9ff2-e2a61a6539f1 null HTTP_1_1 404 46 5 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postMaterialTypes 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /material-types null HTTP_1_1 201 230 3 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putMaterialTypesByMaterialtypeId 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /material-types/5ee11d91-f7e8-481d-b079-65d708582ccc null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postMaterialTypes 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /material-types null HTTP_1_1 201 218 2 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putMaterialTypesByMaterialtypeId 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /material-types/30b3e36a-d3b2-415e-98c2-47fbdf878862 null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postMaterialTypes 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /material-types null HTTP_1_1 201 230 3 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putLoanTypesByLoantypeId 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /loan-types/2e48e713-17f3-4c13-a9f8-23845bb210a4 null HTTP_1_1 404 46 29 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postLoanTypes 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /loan-types null HTTP_1_1 201 205 4 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putLoanTypesByLoantypeId 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /loan-types/e8b311a6-3b21-43f2-a269-dd9310cb2d0e null HTTP_1_1 404 46 3 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postLoanTypes 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /loan-types null HTTP_1_1 201 208 2 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putLoanTypesByLoantypeId 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /loan-types/2b94c631-fca9-4892-a730-03ee529ffe27 null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postLoanTypes 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /loan-types null HTTP_1_1 201 206 3 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putLoanTypesByLoantypeId 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /loan-types/a1dc1ce3-d56f-4d8a-b498-d5d674ccc845 null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postLoanTypes 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /loan-types null HTTP_1_1 201 201 2 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putLocationUnitsInstitutionsById 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /location-units/institutions/40ee00ca-a518-4b49-be01-0638d0a4ac57 null HTTP_1_1 404 9 13 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postLocationUnitsInstitutions 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /location-units/institutions null HTTP_1_1 201 233 4 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putLocationUnitsCampusesById 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /location-units/campuses/62cf76b7-cca5-4d33-9217-edf42ce1a848 null HTTP_1_1 404 9 7 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postLocationUnitsCampuses 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /location-units/campuses null HTTP_1_1 201 281 4 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putLocationUnitsCampusesById 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /location-units/campuses/470ff1dd-937a-4195-bf9e-06bcfcd135df null HTTP_1_1 404 9 2 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postLocationUnitsCampuses 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /location-units/campuses null HTTP_1_1 201 275 2 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putLocationUnitsLibrariesById 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /location-units/libraries/5d78803e-ca04-4b4a-aeae-2c63b924518b null HTTP_1_1 404 9 7 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postLocationUnitsLibraries 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /location-units/libraries null HTTP_1_1 201 284 4 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putLocationUnitsLibrariesById 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /location-units/libraries/c2549bb4-19c7-4fcc-8b52-39e612fb7dbe null HTTP_1_1 404 9 2 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postLocationUnitsLibraries 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /location-units/libraries null HTTP_1_1 201 270 2 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putLocationsById 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /locations/f34d27c6-a8eb-461b-acd6-5dea81771e70 null HTTP_1_1 404 9 36 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postLocations 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /locations null HTTP_1_1 201 579 6 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putLocationsById 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /locations/758258bc-ecc1-41b8-abca-f7b610822ffd null HTTP_1_1 404 9 2 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postLocations 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /locations null HTTP_1_1 201 581 3 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putLocationsById 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /locations/b241764c-1466-4e1d-a028-1a3684a5da87 null HTTP_1_1 404 9 2 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postLocations 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /locations null HTTP_1_1 201 593 3 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putLocationsById 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /locations/fcd64ce1-6995-48f0-840e-89ffa2288371 null HTTP_1_1 404 9 3 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postLocations 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /locations null HTTP_1_1 201 579 3 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putLocationsById 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /locations/184aae84-a5bf-4c6a-85ba-4a7c73026cd5 null HTTP_1_1 404 9 2 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postLocations 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /locations null HTTP_1_1 201 647 3 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putLocationsById 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /locations/53cf956f-c1df-410b-8bea-27f712cca7c0 null HTTP_1_1 404 9 4 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postLocations 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /locations null HTTP_1_1 201 572 3 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/913300b2-03ed-469a-8179-c1092c991227 null HTTP_1_1 404 46 18 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postIdentifierTypes 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /identifier-types null HTTP_1_1 201 219 5 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/37b65e79-0392-450d-adc6-e2a1f47de452 null HTTP_1_1 404 46 3 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postIdentifierTypes 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /identifier-types null HTTP_1_1 201 228 2 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/650ef996-35e3-48ec-bf3a-a0d078a0ca37 null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postIdentifierTypes 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /identifier-types null HTTP_1_1 201 220 2 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/c858e4f2-2b6b-4385-842b-60732ee14abb null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postIdentifierTypes 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /identifier-types null HTTP_1_1 201 219 2 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/439bfbae-75bc-4f74-9fc7-b2a2d47ce3ef null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postIdentifierTypes 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /identifier-types null HTTP_1_1 201 219 2 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/7f907515-a1bf-4513-8a38-92e1a07c539d null HTTP_1_1 404 46 3 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postIdentifierTypes 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /identifier-types null HTTP_1_1 201 219 2 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/4f07ea37-6c7f-4836-add2-14249e628ed1 null HTTP_1_1 204 0 4 tid=test_tenant No Content 09:33:21 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/2e8b3b6c-0e7d-4e48-bca2-b0b23b376af5 null HTTP_1_1 404 46 3 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postIdentifierTypes 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /identifier-types null HTTP_1_1 201 240 4 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/1795ea23-6856-48a5-a772-f356e16a8a6c null HTTP_1_1 204 0 3 tid=test_tenant No Content 09:33:21 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/351ebc1c-3aae-4825-8765-c6d50dbf011f null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:21 [] [] [] [] INFO RestRouting invoking postIdentifierTypes 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /identifier-types null HTTP_1_1 201 230 2 tid=test_tenant Created 09:33:21 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/ebfd00b6-61d3-4d87-a6d8-810c941176d5 null HTTP_1_1 204 0 2 tid=test_tenant No Content 09:33:21 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:21 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/39554f54-d0bb-4f0a-89a4-e422f6136316 null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postIdentifierTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /identifier-types null HTTP_1_1 201 218 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/8261054f-be78-422d-bd51-4ed9f33c3422 null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postIdentifierTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /identifier-types null HTTP_1_1 201 219 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/8e3dd25e-db82-4b06-8311-90d41998c109 null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postIdentifierTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /identifier-types null HTTP_1_1 201 247 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/5130aed5-1095-4fb6-8f6f-caa3d6cc7aae null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postIdentifierTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /identifier-types null HTTP_1_1 201 231 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/b3ea81fb-3324-4c64-9efc-7c0c93d5943c null HTTP_1_1 204 0 3 tid=test_tenant No Content 09:33:22 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/3fbacad6-0240-4823-bce8-bb122cfdf229 null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postIdentifierTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /identifier-types null HTTP_1_1 201 221 3 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/5860f255-a27f-4916-a830-262aa900a6b9 null HTTP_1_1 404 46 3 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postIdentifierTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /identifier-types null HTTP_1_1 201 227 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/27fd35a6-b8f6-41f2-aa0e-9c663ceb250c null HTTP_1_1 404 46 5 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postIdentifierTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /identifier-types null HTTP_1_1 201 227 3 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/5d164f4b-0b15-4e42-ae75-cfcf85318ad9 null HTTP_1_1 404 46 3 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postIdentifierTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /identifier-types null HTTP_1_1 201 229 16 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/3187432f-9434-40a8-8782-35a111a1491e null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postIdentifierTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /identifier-types null HTTP_1_1 201 218 4 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/7e591197-f335-4afb-bc6d-a6d76ca3bace null HTTP_1_1 404 46 3 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postIdentifierTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /identifier-types null HTTP_1_1 201 236 3 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/fcca2643-406a-482a-b760-7a7f8aec640e null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postIdentifierTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /identifier-types null HTTP_1_1 201 227 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/fc4e3f2a-887a-46e5-8057-aeeb271a4e56 null HTTP_1_1 204 0 2 tid=test_tenant No Content 09:33:22 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/5069054d-bc3a-4212-a4e8-e2013a02386f null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postIdentifierTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /identifier-types null HTTP_1_1 201 240 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/b5d8cdc4-9441-487c-90cf-0c7ec97728eb null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postIdentifierTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /identifier-types null HTTP_1_1 201 246 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/593b78cb-32f3-44d1-ba8c-63fd5e6989e6 null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postIdentifierTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /identifier-types null HTTP_1_1 201 220 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/eb7b2717-f149-4fec-81a3-deefb8f5ee6b null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postIdentifierTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /identifier-types null HTTP_1_1 201 218 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putIdentifierTypesByIdentifierTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /identifier-types/216b156b-215e-4839-a53e-ade35cb5702a null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postIdentifierTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /identifier-types null HTTP_1_1 201 221 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/12a73179-1283-4828-8fd9-065e18dc2e78 null HTTP_1_1 404 46 17 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 245 5 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/9e99e803-c73d-4250-8605-403be57f83f9 null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 257 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/41a0378d-5362-4c1a-b103-592ff354be1c null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 244 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/2665431e-aad4-44d1-9218-04053d1cfd53 null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 252 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/00311f78-e990-4d8b-907e-c67a3664fe15 null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 255 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/3c3ab522-2600-4b93-a121-8832146d5cdf null HTTP_1_1 404 46 3 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 249 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/246858e3-4022-4991-9f1c-50901ccc1438 null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 248 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/6ccd61f4-c408-46ec-b359-a761b4781477 null HTTP_1_1 404 46 3 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 245 3 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/61afcb8a-8c53-445b-93b9-38e799721f82 null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 260 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/f9395f3d-cd46-413e-9504-8756c54f38a2 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 250 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/5c3abceb-6bd8-43aa-b08d-1187ae78b15b null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 251 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/e2b5ceaf-663b-4cc0-91ba-bf036943ece8 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 255 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/ec56cc25-e470-46f7-a429-72f438c0513b null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 246 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/06fef928-bd00-4c7f-bd3c-5bc93973f8e8 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 245 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/c8050073-f62b-4606-9688-02caa98bdc60 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 248 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/a8d59132-aa1e-4a62-b5bd-b26b7d7a16b9 null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/c6005151-7005-4ee7-8d6d-a6b72d25377a null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 251 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/a2231628-6a5a-48f4-8eac-7e6b0328f6fe null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 256 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/cd06cefa-acfe-48cb-a5a3-4c48be4a79ad null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 256 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/d669122b-c021-46f5-a911-1e9df10b6542 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 251 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/168b6ff3-7482-4fd0-bf07-48172b47876c null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 252 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/94e6a5a8-b84f-44f7-b900-71cd10ea954e null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 248 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/115fa75c-385b-4a8e-9a2b-b13de9f21bcf null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 256 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/af9a58fa-95df-4139-a06d-ecdab0b2317e null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/1c623f6e-25bf-41ec-8110-6bde712dfa79 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 253 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/81bbe282-dca7-4763-bf5a-fe28c8939988 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/d517010e-908f-49d6-b1e8-8c1a5f9a7f1c null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 274 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/7131e7b8-84fa-48bd-a725-14050be38f9f null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 244 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/c9d28351-c862-433e-8957-c4721f30631f null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 250 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/e8b5040d-a5c7-47c1-96ca-6313c8b9c849 null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 250 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/88a66ebf-0b18-4ed7-91e5-01bc7e8de441 null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 255 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/2b7080f7-d03d-46af-86f0-40ea02867362 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 255 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/18ba15a9-0502-4fa2-ad41-daab9d5ab7bb null HTTP_1_1 404 46 6 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 254 3 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/0d022d0d-902d-4273-8013-0a2a753d9d76 null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 249 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/94bb3440-591f-41af-80fa-e124006faa49 null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 250 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/57247637-c41b-498d-9c46-935469335485 null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 277 4 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/28de45ae-f0ca-46fe-9f89-283313b3255b null HTTP_1_1 404 46 7 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/26ad4833-5d49-4999-97fc-44bc86a9fae0 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 250 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/825a7d9f-7596-4007-9684-9bee72625cfc null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 256 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/3665d2dd-24cc-4fb4-922a-699811daa41c null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/88370fc3-bf69-45b6-b518-daf9a3877385 null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 253 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/fd0a47ec-58ce-43f6-8ecc-696ec17a98ab null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 256 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/cb8fdd3f-7193-4096-934c-3efea46b1138 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 261 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/2a3e2d58-3a21-4e35-b7e4-cffb197750e3 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 254 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/6b566426-f325-4182-ac31-e1c4e0b2aa19 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/0d8dc4be-e87b-43df-90d4-1ed60c4e08c5 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 248 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/d6a6d28c-1bfc-46df-b2ba-6cb377a6151e null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 249 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/468ac852-339e-43b7-8e94-7e2ce475cb00 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 245 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/453e4f4a-cda9-4cfa-b93d-3faeb18a85db null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/a7a25290-226d-4f81-b780-2efc1f7dfd26 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 245 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/366821b5-5319-4888-8867-0ffb2d7649d1 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/08cb225a-302c-4d5a-a6a3-fa90850babcd null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 246 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/c9c3bbe8-d305-48ef-ab2a-5eff941550e3 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 252 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/a3642006-14ab-4816-b5ac-533e4971417a null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 250 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/7c5c2fd5-3283-4f96-be89-3bb3e8fa6942 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 278 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/08553068-8495-49c2-9c18-d29ab656fef0 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/22286157-3058-434c-9009-8f8d100fc74a null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 251 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/e46bdfe3-5923-4585-bca4-d9d930d41148 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 248 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/867f3d13-779a-454e-8a06-a1b9fb37ba2a null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 245 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/863e41e3-b9c5-44fb-abeb-a8ab536bb432 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 260 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/94d131ef-2814-49a0-a59c-49b6e7584b3d null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 253 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/45747710-39dc-47ec-b2b3-024d757f997e null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 257 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/7d0a897c-4f83-493a-a0c5-5e040cdce75b null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 248 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/5e9333a6-bc92-43c0-a306-30811bb71e61 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 256 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/e1510ac5-a9e9-4195-b762-7cb82c5357c4 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 255 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/58461dca-efd4-4fd4-b380-d033e3540be5 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 250 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/dd44e44e-a153-4ab6-9a7c-f3d23b6c4676 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 248 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/5f27fcc6-4134-4916-afb8-fcbcfb6793d4 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 255 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/55e4a59b-2dfd-478d-9fe9-110fc24f0752 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 250 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/846ac49c-749d-49fd-a05f-e7f2885d9eaf null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 252 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/05875ac5-a509-4a51-a6ee-b8051e37c7b0 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 248 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/3e86cb67-5407-4622-a540-71a978899404 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 246 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/7bebb5a2-9332-4ba7-a258-875143b5d754 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 262 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/9945290f-bcd7-4515-81fd-09e23567b75d null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 258 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/e603ffa2-8999-4091-b10d-96248c283c04 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 249 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/b02cbeb7-8ca7-4bf4-8d58-ce943b4d5ea3 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 252 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/81b2174a-06b9-48f5-8c49-6cbaf7b869fe null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 255 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/f9e5b41b-8d5b-47d3-91d0-ca9004796337 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 245 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/cce475f7-ccfa-4e15-adf8-39f907788515 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 253 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/5aa6e3d1-283c-4f6d-8694-3bdc52137b07 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 249 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/12101b05-afcb-4159-9ee4-c207378ef910 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/ced7cdfc-a3e0-47c8-861b-3f558094b02e null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 263 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/f72a24d1-f404-4275-9350-158fe3a20b21 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 246 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/f5f9108a-9afc-4ea9-9b99-4f83dcf51204 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 252 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/9f0a2cf0-7a9b-45a2-a403-f68d2850d07c null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 250 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/9593efce-a42d-4991-9aad-3a4dc07abb1e null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 254 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/0eef1c70-bd77-429c-a790-48a8d82b4d8f null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 250 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/38c09577-6652-4281-a391-4caabe4c09b6 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 246 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/913233b3-b2a0-4635-8dad-49b6fc515fc5 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 270 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/5d92d9de-adf3-4dea-93b5-580e9a88e696 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 257 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/54f69767-5712-47aa-bdb7-39c31aa8295e null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 250 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/3db02638-598e-44a3-aafa-cbae77533ee1 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 248 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/7c62ecb4-544c-4c26-8765-f6f6d34031a0 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 248 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/e04bea27-813b-4765-9ba1-e98e0fca7101 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 249 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/50a6d58a-cea2-42a1-8c57-0c6fde225c93 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 249 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/8fbe6e92-87c9-4eff-b736-88cd02571465 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 244 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/398a0a2f-752d-4496-8737-e6df7c29aaa7 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/fcfc0b86-b083-4ab8-8a75-75a66638ed2e null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 253 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/1f20d444-79f6-497a-ae0d-98a92e504c58 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 267 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/66bfc19c-eeb0-4167-bd8d-448311aab929 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 252 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/754edaff-07bb-45eb-88bf-10a8b6842c38 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 248 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/5c132335-8ad0-47bf-a4d1-6dda0a3a2654 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 249 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/0ad74d5d-03b9-49bb-b9df-d692945ca66e null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 259 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/361f4bfd-a87d-463c-84d8-69346c3082f6 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 244 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/2129a478-c55c-4f71-9cd1-584cbbb381d4 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 248 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/245cfa8e-8709-4f1f-969b-894b94bc029f null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 251 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/c96df2ce-7b00-498a-bf37-3011f3ef1229 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 253 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/7e5b0859-80c1-4e78-a5e7-61979862c1fa null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 250 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/c04ff362-c80a-4543-88cf-fc6e49e7d201 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 249 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/44eaf0db-85dd-4888-ac8d-a5976dd483a6 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 257 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/1ce93f32-3e10-46e2-943f-77f3c8a41d7d null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 250 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/593862b4-a655-47c3-92b9-2b305b14cce7 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 252 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/1b51068c-506a-4b85-a815-175c17932448 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 245 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/f90c67e8-d1fa-4fe9-b98b-cbc3f019c65f null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 245 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/a986c8f2-b36a-400d-b09f-9250a753563c null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 255 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/3c1508ab-fbcc-4500-b319-10885570fe2f null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 258 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/21430354-f17a-4ac1-8545-1a5907cd15e5 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/d30f5556-6d79-4980-9528-c48ef60f3b31 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 249 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/e38a0c64-f1d3-4b03-a364-34d6b402841c null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 249 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/901d01e5-66b1-48f0-99f9-b5e92e3d2d15 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/9e7651f8-a4f0-4d02-81b4-578ef9303d1b null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 251 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/003e8b5e-426c-4d33-b940-233b1b89dfbd null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/af09f37e-12f5-46db-a532-ccd6a8877f2d null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 258 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/94b839e8-cabe-4d58-8918-8a5058fe5501 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 259 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/c5988fb2-cd21-469c-b35e-37e443c01adc null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 257 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/36b921fe-6c34-45c8-908b-5701f0763e1b null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 253 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/b7000ced-c847-4b43-8f29-c5325e6279a8 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 253 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/eecb30c5-a061-4790-8fa5-cf24d0fa472b null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 250 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/319cb290-a549-4ae8-a0ed-a65fe155cac8 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 252 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/b76cb226-50f9-4d34-a3d0-48b475f83c80 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 260 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/99f6b0b7-c22f-460d-afe0-ee0877bc66d1 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/e8423d78-7b08-4f81-8f34-4871d5e2b7af null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 258 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/8ddb69bb-cd69-4898-a62d-b71649089e4a null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 259 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/3add6049-0b63-4fec-9892-e3867e7358e2 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 250 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/ae8bc401-47da-4853-9b0b-c7c2c3ec324d null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/fec9ae68-6b55-4dd6-9637-3a694fb6a82b null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 255 2 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/515caf91-3dde-4769-b784-50c9e23400d5 null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 246 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/e0dc043c-0a4d-499b-a8a8-4cc9b0869cf3 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 250 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/d67decd7-3dbe-4ac7-8072-ef18f5cd3e09 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 246 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/2d046e17-742b-4d99-8e25-836cc141fee9 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 258 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/d791c3b9-993a-4203-ac81-3fb3f14793ae null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 243 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/7156fd73-b8ca-4e09-a002-bb2afaaf259a null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 258 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/2cb49b06-5aeb-4e84-8160-79d13c6357ed null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 252 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/8f9d96f5-32ad-43d7-8122-18063a617fc8 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 250 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/6e09d47d-95e2-4d8a-831b-f777b8ef6d81 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 245 1 tid=test_tenant Created 09:33:22 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:22 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/206246b1-8e17-4588-bad8-78c82e3e6d54 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:22 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 254 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/bf1a8165-54bf-411c-a5ea-b6bbbb9c55df null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 265 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/a79f874f-319e-4bc8-a2e1-f8b15fa186fe null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 248 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/539872f1-f4a1-4e83-9d87-da235f64c520 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 249 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/e79ca231-af4c-4724-8fe1-eabafd2e0bec null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 248 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/7d60c4bf-5ddc-483a-b179-af6f1a76efbe null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 256 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/cbceda25-1f4d-43b7-96a5-f2911026a154 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 249 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/85962960-ef07-499d-bf49-63f137204f9a null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/b13f6a89-d2e3-4264-8418-07ad4de6a626 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 259 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/32021771-311e-497b-9bf2-672492f322c7 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 249 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/7aac64ab-7f2a-4019-9705-e07133e3ad1a null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 246 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/ee04a129-f2e4-4fd7-8342-7a73a0700665 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 255 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/396f4b4d-5b0a-4fb4-941b-993ebf63db2e null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 246 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/369783f6-78c8-4cd7-97ab-5029444e0c85 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 272 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/81c01802-f61b-4548-954a-22aab027f6e5 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/e038262b-25f8-471b-93ea-2afe287b00a3 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 250 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/6847c9ab-e2f8-4c9e-8dc6-1a97c6836c1c null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 245 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/9deb29d1-3e71-4951-9413-a80adac703d0 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 245 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/756fcbfc-ef95-4bd0-99cc-1cc364c7b0cd null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 245 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/036b6349-27c8-4b68-8875-79cb8e0fd459 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 250 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/d5e6972c-9e2f-4788-8dd6-10e859e20945 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 257 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/b47d8841-112e-43be-b992-eccb5747eb50 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 249 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/3ed655b0-505b-43fe-a4c6-397789449a5b null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 258 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/c0c46b4f-fd18-4d8a-96ac-aff91662206c null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 253 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/c7345998-fd17-406b-bce0-e08cb7b2671f null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 249 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/22f8ea20-b4f0-4498-8125-7962f0037c2d null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 250 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/c86fc16d-61d8-4471-8089-76550daa04f0 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 258 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/630142eb-6b68-4cf7-8296-bdaba03b5760 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 255 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/b388c02a-19dc-4948-916d-3688007b9a2c null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 248 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/3179eb17-275e-44f8-8cad-3a9514799bd0 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 245 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/ac0baeb5-71e2-435f-aaf1-14b64e2ba700 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 246 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/0683aecf-42a8-432d-adb2-a8abaf2f15d5 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 256 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/8af7e981-65f9-4407-80ae-1bacd11315d5 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 253 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/6a983219-b6cd-4dd7-bfa4-bcb0b43590d4 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 259 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/3322b734-ce38-4cd4-815d-8983352837cc null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 249 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/201a378e-23dd-4aab-bfe0-e5bc3c855f9c null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 251 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/ac64c865-4f29-4d51-8b43-7816a5217f04 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/df7daf2f-7ab4-4c7b-a24d-d46695fa9072 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 248 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/2c9cd812-7b00-47e8-81e5-1711f3b6fe38 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 256 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/61c9f06f-620a-4423-8c78-c698b9bb555f null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 246 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/8999f7cb-6d9a-4be7-aeed-4cc6aae35a8c null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 251 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/b318e49c-f2ad-498c-8106-57b5544f9bb0 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 257 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/b1e95783-5308-46b2-9853-bd7015c1774b null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 266 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/b38c4e20-9aa0-43f4-a1a0-f547e54873f7 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/3cbd0832-328e-48f5-96c4-6f7bcf341461 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 257 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/abfa3014-7349-444b-aace-9d28efa5ede4 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 243 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/9d81737c-ec6c-49d8-9771-50e1ab4d7ad7 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 251 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/5b2de939-879c-45b4-817d-c29fd16b78a0 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 250 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/3bd0b539-4440-4971-988c-5330daa14e3a null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 245 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/d2df2901-fac7-45e1-a9ad-7a67b70ea65b null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 246 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/f3aa0070-71bd-4c39-9a9b-ec2fd03ac26d null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 257 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/f26858bc-4468-47be-8e30-d5db4c0b1e88 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 249 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/bd13d6d3-e604-4b80-9c5f-4d68115ba616 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 253 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/563bcaa7-7fe1-4206-8fc9-5ef8c7fbf998 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 257 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/e4f2fd1c-ee79-4cf7-bc1a-fbaac616f804 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 245 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/2576c328-61f1-4684-83cf-4376a66f7731 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 253 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/3555bf7f-a6cc-4890-b050-9c428eabf579 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 245 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/d04782ec-b969-4eac-9428-0eb52d97c644 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 248 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/097adac4-6576-4152-ace8-08fc59cb0218 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 255 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/acad26a9-e288-4385-bea1-0560bb884b7a null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 258 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/97082157-5900-4c4c-a6d8-2e6c13f22ef1 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 251 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/a21a56ea-5136-439a-a513-0bffa53402de null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/cf04404a-d628-432b-b190-6694c5a3dc4b null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 253 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/27aeee86-4099-466d-ba10-6d876e6f293b null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/2fba7b2e-26bc-4ac5-93cb-73e31e554377 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 251 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/e7e8fc17-7c97-4a37-8c12-f832ddca7a71 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 250 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/b998a229-68e7-4a3d-8cfd-b73c10844e96 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/316cd382-a4fe-4939-b06e-e7199bfdbc7a null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 267 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/8210b9d7-8fe7-41b7-8c5f-6e0485b50725 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 258 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/255be0dd-54d0-4161-9c6c-4d1f58310303 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 256 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/e1edbaae-5365-4fcb-bb6a-7aae38bbed9c null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 255 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/35a3feaf-1c13-4221-8cfa-d6879faf714c null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 246 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/ec0959b3-becc-4abd-87b0-3e02cf2665cc null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 245 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/a5c024f1-3c81-492c-ab5e-73d2bc5dcad7 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 256 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/4b41e752-3646-4097-ae80-21fd02e913f7 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 255 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/86890f8f-2273-44e2-aa86-927c7f649b32 null HTTP_1_1 404 46 5 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 260 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/13361ce8-7664-46c0-860d-ffbcc01414e0 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 249 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/86b9292d-4dce-401d-861e-2df2cfaacb83 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/3ebe73f4-0895-4979-a5e3-2b3e9c63acd6 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 257 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/9fc0bffb-6dd9-4218-9a44-81be4a5059d4 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 248 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/33aa4117-95d1-4eb5-986b-dfba809871f6 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 248 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/4f7c335d-a9d9-4f38-87ef-9a5846b63e7f null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 248 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/e2a1a9dc-4aec-4bb5-ae43-99bb0383516a null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 251 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/5c1e0a9e-1fdc-47a5-8d06-c12af63cbc5a null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 246 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/de1ea2dc-8d9d-4dfa-b86e-8ce9d8b0c2f2 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 252 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/2230246a-1fdb-4f06-a08a-004fd4b929bf null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 248 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/6901fbf1-c038-42eb-a03e-cd65bf91f660 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 266 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/40fe62fb-4319-4313-ac88-ac4912b1e1fa null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 251 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/ab7a95da-590c-4955-b03b-9d8fbc6c1fe6 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 257 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/52c08141-307f-4997-9799-db97076a2eb3 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 257 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/0efdaf72-6126-430a-8256-69c42ff6866f null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 257 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/06b2cbd8-66bf-4956-9d90-97c9776365a4 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 248 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/28f7eb9e-f923-4a77-9755-7571381b2a47 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 249 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/2b45c004-805d-4e7f-864d-8664a23488dc null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 251 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/3b4709f1-5286-4c42-9423-4620fff78141 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/223da16e-5a03-4f5c-b8c3-0eb79f662bcb null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/f74dfba3-ea20-471b-8c4f-5d9b7895d3b5 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 258 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/60d3f16f-958a-45c2-bb39-69cc9eb3835e null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 255 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/02c1c664-1d71-4f7b-a656-1abf1209848f null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 246 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/12b7418a-0c90-4337-90b7-16d2d3157b68 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 248 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/d32885eb-b82c-4391-abb2-4582c8ee02b3 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/300171aa-95e1-45b0-86c6-2855fcaf9ef4 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/ca3b9559-f178-41e8-aa88-6b2c367025f9 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 248 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/0d2580f5-fe16-4d64-a5eb-f0247cccb129 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 248 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/764c208a-493f-43af-8db7-3dd48efca45c null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 245 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/a2c9e8b5-edb4-49dc-98ba-27f0b8b5cebf null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 252 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/2c345cb7-0420-4a7d-93ce-b51fb636cce6 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/ad9b7785-53a2-4bf4-8a01-572858e82941 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/002c0eef-eb77-4c0b-a38e-117a09773d59 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 251 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/5ee1e598-72b8-44d5-8edd-173e7bc4cf8c null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 254 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/7b21bffb-91e1-45bf-980a-40dd89cc26e4 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 250 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/f0061c4b-df42-432f-9d1a-3873bb27c8e6 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 247 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/6358626f-aa02-4c40-8e73-fb202fa5fb4d null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 259 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/1aae8ca3-4ddd-4549-a769-116b75f3c773 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 251 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/fec4d84b-0421-4d15-b53f-d5104f39b3ca null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 249 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/d836488a-8d0e-42ad-9091-b63fe885fe03 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 254 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/6d5779a3-e692-4a24-a5ee-d1ce8a6eae47 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 249 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/53f075e1-53c0-423f-95ae-676df3d8c7a2 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 261 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/68dcc037-901e-46a9-9b4e-028548cd750f null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 258 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/a60314d4-c3c6-4e29-92fa-86cc6ace4d56 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 248 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/54fd209c-d552-43eb-850f-d31f557170b9 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 259 2 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/f6bd4f15-4715-4b0e-9258-61dac047f106 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 248 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorTypesByContributorTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-types/21dda3dc-cebd-4018-8db2-4f6d50ce3d02 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-types null HTTP_1_1 201 244 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putServicePointsByServicepointId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /service-points/c4c90014-c8c9-4ade-8f24-b5e313319f4b null HTTP_1_1 404 9 11 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postServicePoints 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /service-points null HTTP_1_1 201 416 3 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putServicePointsByServicepointId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /service-points/7c5abc9f-f3d7-4856-b8d7-6712462ca007 null HTTP_1_1 404 9 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postServicePoints 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /service-points null HTTP_1_1 201 332 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putServicePointsByServicepointId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /service-points/3a40852d-49fd-4df2-a1f9-6e2641a6e91f null HTTP_1_1 404 9 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postServicePoints 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /service-points null HTTP_1_1 201 411 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceRelationshipTypesByRelationshipTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-relationship-types/758f13db-ffb4-440e-bb10-8a364aa6cb4a null HTTP_1_1 404 46 14 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceRelationshipTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-relationship-types null HTTP_1_1 201 203 3 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceRelationshipTypesByRelationshipTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-relationship-types/a17daf0a-f057-43b3-9997-13d0724cdf51 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceRelationshipTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-relationship-types null HTTP_1_1 201 212 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceRelationshipTypesByRelationshipTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-relationship-types/30773a27-b485-4dab-aeb6-b8c04fa3cb17 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceRelationshipTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-relationship-types null HTTP_1_1 201 211 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorNameTypesByContributorNameTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-name-types/2e48e713-17f3-4c13-a9f8-23845bb210aa null HTTP_1_1 404 46 13 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorNameTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-name-types null HTTP_1_1 201 227 3 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorNameTypesByContributorNameTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-name-types/e8b311a6-3b21-43f2-a269-dd9310cb2d0a null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorNameTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-name-types null HTTP_1_1 201 225 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putContributorNameTypesByContributorNameTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /contributor-name-types/2b94c631-fca9-4892-a730-03ee529ffe2a null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postContributorNameTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /contributor-name-types null HTTP_1_1 201 226 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceTypesByInstanceTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-types/e5136fa2-1f19-4581-b005-6e007a940ca8 null HTTP_1_1 404 46 13 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-types null HTTP_1_1 201 281 3 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceTypesByInstanceTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-types/6312d172-f0cf-40f6-b27d-9fa8feaf332f null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-types null HTTP_1_1 201 242 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceTypesByInstanceTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-types/497b5090-3da2-486c-b57f-de5bb3c2e26d null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-types null HTTP_1_1 201 251 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceTypesByInstanceTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-types/535e3160-763a-42f9-b0c0-d8ed7df6e2a2 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-types null HTTP_1_1 201 249 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceTypesByInstanceTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-types/c208544b-9e28-44fa-a13c-f4093d72f798 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-types null HTTP_1_1 201 254 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceTypesByInstanceTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-types/a67e00fd-dcce-42a9-9e75-fd654ec31e89 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-types null HTTP_1_1 201 259 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceTypesByInstanceTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-types/e6a278fb-565a-4296-a7c5-8eb63d259522 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-types null HTTP_1_1 201 262 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceTypesByInstanceTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-types/3be24c14-3551-4180-9292-26a786649c8b null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-types null HTTP_1_1 201 253 2 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceTypesByInstanceTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-types/df5dddff-9c30-4507-8b82-119ff972d4d7 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-types null HTTP_1_1 201 254 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceTypesByInstanceTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-types/225faa14-f9bf-4ecd-990d-69433c912434 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-types null HTTP_1_1 201 266 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceTypesByInstanceTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-types/2022aa2e-bdde-4dc4-90bc-115e8894b8b3 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-types null HTTP_1_1 201 273 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceTypesByInstanceTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-types/526aa04d-9289-4511-8866-349299592c18 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-types null HTTP_1_1 201 256 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceTypesByInstanceTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-types/c1e95c2b-4efc-48cf-9e71-edb622cf0c22 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-types null HTTP_1_1 201 260 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceTypesByInstanceTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-types/efe2e89b-0525-4535-aa9b-3ff1a131189e null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-types null HTTP_1_1 201 251 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceTypesByInstanceTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-types/8105bd44-e7bd-487e-a8f2-b804a361d92f null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-types null HTTP_1_1 201 250 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceTypesByInstanceTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-types/30fffe0e-e985-4144-b2e2-1e8179bdb41f null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-types null HTTP_1_1 201 249 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceTypesByInstanceTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-types/82689e16-629d-47f7-94b5-d89736cf11f2 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-types null HTTP_1_1 201 268 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceTypesByInstanceTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-types/80c0c134-0240-4b63-99d0-6ca755d5f433 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-types null HTTP_1_1 201 263 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceTypesByInstanceTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-types/408f82f0-e612-4977-96a1-02076229e312 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-types null HTTP_1_1 201 264 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceTypesByInstanceTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-types/fbe264b5-69aa-4b7c-a230-3b53337f6440 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-types null HTTP_1_1 201 254 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceTypesByInstanceTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-types/3363cdb1-e644-446c-82a4-dc3a1d4395b9 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-types null HTTP_1_1 201 258 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceTypesByInstanceTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-types/c7f7446f-4642-4d97-88c9-55bae2ad6c7f null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-types null HTTP_1_1 201 249 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceTypesByInstanceTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-types/9bce18bd-45bf-4949-8fa8-63163e4b7d7f null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-types null HTTP_1_1 201 244 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceTypesByInstanceTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-types/3e3039b7-fda0-4ac4-885a-022d457cb99c null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-types null HTTP_1_1 201 268 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceTypesByInstanceTypeId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-types/a2c91e87-6bab-44d6-8adb-1fd02481fc4f null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceTypes 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-types null HTTP_1_1 201 243 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/affd5809-2897-42ca-b958-b311f3e0dcfb null HTTP_1_1 404 46 14 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 260 2 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/6bf2154b-df6e-4f11-97d0-6541231ac2be null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 270 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/5cb91d15-96b1-4b8a-bf60-ec310538da66 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 256 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/68e7e339-f35c-4be2-b161-0b94d7569b7b null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 255 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/b71e5ec6-a15d-4261-baf9-aea6be7af15b null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 268 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/8e04d356-2645-4f97-8de8-9721cf11ccef null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 265 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/7fde4e21-00b5-4de4-a90a-08a84a601aeb null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 256 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/0d9b1c3d-2d13-4f18-9472-cc1b91bf1752 null HTTP_1_1 204 0 1 tid=test_tenant No Content 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/c3f41d5e-e192-4828-805c-6df3270c1910 null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 270 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/a3549b8c-3282-4a14-9ec3-c1cf294043b9 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 251 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/2802b285-9f27-4c86-a9d7-d2ac08b26a79 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 256 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/788aa9a6-5f0b-4c52-957b-998266ee3bd3 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 261 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/7612aa96-61a6-41bd-8ed2-ff1688e794e1 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 260 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/e05f2613-05df-4b4d-9292-2ee9aa778ecc null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 272 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/e62f4860-b3b0-462e-92b6-e032336ab663 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 270 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/132d70db-53b3-4999-bd79-0fac3b8b9b98 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 261 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/926662e9-2486-4bb9-ba3b-59bd2e7f2a0c null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 257 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/5642320a-2ab9-475c-8ca2-4af7551cf296 null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 282 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/ba0d7429-7ccf-419d-8bfb-e6a1200a8d20 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 260 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/7c9b361d-66b6-4e4c-ae4b-2c01f655612c null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 259 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/98f0caa9-d38e-427b-9ec4-454de81a94d7 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 263 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/f0e689e8-e62d-4aac-b1c1-198ac9114aca null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 265 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/b72e66e2-d946-4b01-a696-8fab07051ff8 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 269 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/fe1b9adb-e0cf-4e05-905f-ce9986279404 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 254 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/55d3b8aa-304e-4967-8b78-55926d7809ac null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 257 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/431cc9a0-4572-4613-b267-befb0f3d457f null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 259 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/549e3381-7d49-44f6-8232-37af1cb5ecf3 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 262 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/9166e7c9-7edb-4180-b57e-e495f551297f null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 261 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/f7107ab3-9c09-4bcb-a637-368f39e0b140 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 275 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/88f58dc0-4243-4c6b-8321-70244ff34a83 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 272 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/6a679992-b37e-4b57-b6ea-96be6b51d2b4 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 261 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/b2b39d2f-856b-4419-93d3-ed1851f91b9f null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 261 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/cb3004a3-2a85-4ed4-8084-409f93d6d8ba null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 263 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/6d749f00-97bd-4eab-9828-57167558f514 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 259 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/33009ba2-b742-4aab-b592-68b27451e94f null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 264 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/a0f2612b-f24f-4dc8-a139-89c3da5a38f1 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 255 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/e3179f91-3032-43ee-be97-f0464f359d9c null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 251 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/55a66581-3921-4b50-9981-4fe53bf35e7f null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 265 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/ac9de2b9-0914-4a54-8805-463686a5489e null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 262 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/7f857834-b2e2-48b1-8528-6a1fe89bf979 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 255 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/d16b19d1-507f-4a22-bb8a-b3f713a73221 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 267 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/5913bb96-e881-4087-9e71-33a43f68e12e null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 256 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/5fa3e09f-2192-41a9-b4bf-9eb8aef0af0a null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 255 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/f5e8210f-7640-459b-a71f-552567f92369 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 264 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/47b226c0-853c-40f4-ba2e-2bd5ba82b665 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 269 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/eb860cea-b842-4a8b-ab8d-0739856f0c2c null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 277 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/b1c69d78-4afb-4d8b-9624-8b3cfa5288ad null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 268 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/fc9bfed9-2cb0-465f-8758-33af5bba750b null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 269 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/485e3e1d-9f46-42b6-8c65-6bb7bd4b37f8 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 260 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/e5aeb29a-cf0a-4d97-8c39-7756c10d423c null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 271 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/8d511d33-5e85-4c5d-9bce-6e3c9cd0c324 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 257 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/7bfe7e83-d4aa-46d1-b2a9-f612b18d11f4 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 264 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/f4f30334-568b-4dd2-88b5-db8401607daf null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 272 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/53f44ae4-167b-4cc2-9a63-4375c0ad9f58 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 264 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/cb96199a-21fb-4f11-b003-99291d8c9752 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 264 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/5bfb7b4f-9cd5-4577-a364-f95352146a56 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 262 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putInstanceFormatsByInstanceFormatId 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-formats/fc3e32a0-9c85-4454-a42e-39fca788a7dc null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postInstanceFormats 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-formats null HTTP_1_1 201 260 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putNatureOfContentTermsById 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /nature-of-content-terms/b29d4dc1-f78b-48fe-b3e5-df6c37cdc58d null HTTP_1_1 404 46 5 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postNatureOfContentTerms 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /nature-of-content-terms null HTTP_1_1 201 226 2 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putNatureOfContentTermsById 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /nature-of-content-terms/0abeee3d-8ad2-4b04-92ff-221b4fce1075 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postNatureOfContentTerms 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /nature-of-content-terms null HTTP_1_1 201 222 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putNatureOfContentTermsById 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /nature-of-content-terms/44cd89f3-2e76-469f-a955-cc57cb9e0395 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postNatureOfContentTerms 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /nature-of-content-terms null HTTP_1_1 201 223 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putNatureOfContentTermsById 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /nature-of-content-terms/073f7f2f-9212-4395-b039-6f9825b11d54 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postNatureOfContentTerms 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /nature-of-content-terms null HTTP_1_1 201 226 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putNatureOfContentTermsById 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /nature-of-content-terms/04a6a8d2-f902-4774-b15f-d8bd885dc804 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postNatureOfContentTerms 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /nature-of-content-terms null HTTP_1_1 201 228 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putNatureOfContentTermsById 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /nature-of-content-terms/ebbbdef1-00e1-428b-bc11-314dc0705074 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postNatureOfContentTerms 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /nature-of-content-terms null HTTP_1_1 201 224 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putNatureOfContentTermsById 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /nature-of-content-terms/4570a93e-ddb6-4200-8e8b-283c8f5c9bfa null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postNatureOfContentTerms 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /nature-of-content-terms null HTTP_1_1 201 230 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putNatureOfContentTermsById 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /nature-of-content-terms/c0d52f31-aabb-4c55-bf81-fea7fdda94a4 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postNatureOfContentTerms 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /nature-of-content-terms null HTTP_1_1 201 232 2 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putNatureOfContentTermsById 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /nature-of-content-terms/2fbc8a7b-b432-45df-ba37-46031b1f6545 null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postNatureOfContentTerms 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /nature-of-content-terms null HTTP_1_1 201 222 2 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putNatureOfContentTermsById 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /nature-of-content-terms/536da7c1-9c35-45df-8ea1-c3545448df92 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postNatureOfContentTerms 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /nature-of-content-terms null HTTP_1_1 201 233 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putNatureOfContentTermsById 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /nature-of-content-terms/96879b60-098b-453b-bf9a-c47866f1ab2a null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postNatureOfContentTerms 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /nature-of-content-terms null HTTP_1_1 201 224 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putNatureOfContentTermsById 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /nature-of-content-terms/acceb2d6-4f05-408f-9a88-a92de26441ce null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:23 [] [] [] [] INFO RestRouting invoking postNatureOfContentTerms 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /nature-of-content-terms null HTTP_1_1 201 227 1 tid=test_tenant Created 09:33:23 [] [] [] [] INFO RestRouting invoking putNatureOfContentTermsById 09:33:23 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /nature-of-content-terms/b82b3a0d-00fa-4811-96da-04f531da8ea8 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postNatureOfContentTerms 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /nature-of-content-terms null HTTP_1_1 201 235 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putNatureOfContentTermsById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /nature-of-content-terms/b6e214bd-82f5-467f-af5b-4592456dc4ab null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postNatureOfContentTerms 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /nature-of-content-terms null HTTP_1_1 201 224 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putNatureOfContentTermsById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /nature-of-content-terms/9419a20e-6c8f-4ae1-85a7-8c184a1f4762 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postNatureOfContentTerms 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /nature-of-content-terms null HTTP_1_1 201 228 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putNatureOfContentTermsById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /nature-of-content-terms/94f6d06a-61e0-47c1-bbcb-6186989e6040 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postNatureOfContentTerms 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /nature-of-content-terms null HTTP_1_1 201 221 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putNatureOfContentTermsById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /nature-of-content-terms/631893b6-5d8a-4e1a-9e6b-5344e2945c74 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postNatureOfContentTerms 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /nature-of-content-terms null HTTP_1_1 201 246 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putNatureOfContentTermsById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /nature-of-content-terms/71b43e3a-8cdd-4d22-9751-020f34fb6ef8 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postNatureOfContentTerms 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /nature-of-content-terms null HTTP_1_1 201 221 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putNatureOfContentTermsById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /nature-of-content-terms/f5908d05-b16a-49cf-b192-96d55a94a0d1 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postNatureOfContentTerms 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /nature-of-content-terms null HTTP_1_1 201 227 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putNatureOfContentTermsById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /nature-of-content-terms/31572023-f4c9-4cf3-80a2-0543c9eda884 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postNatureOfContentTerms 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /nature-of-content-terms null HTTP_1_1 201 232 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putNatureOfContentTermsById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /nature-of-content-terms/85657646-6b6f-4e71-b54c-d47f3b95a5ed null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postNatureOfContentTerms 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /nature-of-content-terms null HTTP_1_1 201 229 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putClassificationTypesByClassificationTypeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /classification-types/e8662436-75a8-4984-bebc-531e38c774a0 null HTTP_1_1 404 46 12 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postClassificationTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /classification-types null HTTP_1_1 201 218 3 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putClassificationTypesByClassificationTypeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /classification-types/ad615f6e-e28c-4343-b4a0-457397c5be3e null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postClassificationTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /classification-types null HTTP_1_1 201 238 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putClassificationTypesByClassificationTypeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /classification-types/42471af9-7d25-4f3a-bf78-60d29dcf463b null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postClassificationTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /classification-types null HTTP_1_1 201 220 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putClassificationTypesByClassificationTypeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /classification-types/9a60012a-0fcf-4da9-a1d1-148e818c27ad null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postClassificationTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /classification-types null HTTP_1_1 201 244 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putClassificationTypesByClassificationTypeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /classification-types/74c08086-81a4-4466-93d8-d117ce8646db null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postClassificationTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /classification-types null HTTP_1_1 201 231 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putClassificationTypesByClassificationTypeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /classification-types/fb12264c-ff3b-47e0-8e09-b0aa074361f1 null HTTP_1_1 404 46 2 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postClassificationTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /classification-types null HTTP_1_1 201 218 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putClassificationTypesByClassificationTypeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /classification-types/ce176ace-a53e-4b4d-aa89-725ed7b2edac null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postClassificationTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /classification-types null HTTP_1_1 201 217 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putClassificationTypesByClassificationTypeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /classification-types/a83699eb-cc23-4307-8043-5a38a8dce335 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postClassificationTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /classification-types null HTTP_1_1 201 225 2 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putClassificationTypesByClassificationTypeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /classification-types/a7f4d03f-b0d8-496c-aebf-4e9cdb678200 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postClassificationTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /classification-types null HTTP_1_1 201 218 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putClassificationTypesByClassificationTypeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /classification-types/9075b5f8-7d97-49e1-a431-73fdd468d476 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postClassificationTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /classification-types null HTTP_1_1 201 220 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceStatusesByInstanceStatusId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-statuses/f5cc2ab6-bb92-4cab-b83f-5a3d09261a41 null HTTP_1_1 404 46 7 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceStatuses 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-statuses null HTTP_1_1 201 250 3 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceStatusesByInstanceStatusId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-statuses/26f5208e-110a-4394-be29-1569a8c84a65 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceStatuses 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-statuses null HTTP_1_1 201 246 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceStatusesByInstanceStatusId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-statuses/52a2ff34-2a12-420d-8539-21aa8d3cf5d8 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceStatuses 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-statuses null HTTP_1_1 201 247 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceStatusesByInstanceStatusId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-statuses/daf2681c-25af-4202-a3fa-e58fdf806183 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceStatuses 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-statuses null HTTP_1_1 201 243 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceStatusesByInstanceStatusId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-statuses/2a340d34-6b70-443a-bb1b-1b8d1c65d862 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceStatuses 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-statuses null HTTP_1_1 201 240 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceStatusesByInstanceStatusId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-statuses/9634a5ab-9228-4703-baf2-4d12ebc77d56 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceStatuses 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-statuses null HTTP_1_1 201 242 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodeTypesByStatisticalCodeTypeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-code-types/3abd6fc2-b3e4-4879-b1e1-78be41769fe3 null HTTP_1_1 404 46 7 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodeTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-code-types null HTTP_1_1 201 237 3 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodeTypesByStatisticalCodeTypeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-code-types/e2ab27f9-a726-4e5e-9963-fff9e6128680 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodeTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-code-types null HTTP_1_1 201 239 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodeTypesByStatisticalCodeTypeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-code-types/0d3ec58e-dc3c-4aa1-9eba-180fca95c544 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodeTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-code-types null HTTP_1_1 201 239 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodeTypesByStatisticalCodeTypeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-code-types/d816175b-578f-4056-af61-689f449c3c45 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodeTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-code-types null HTTP_1_1 201 231 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodesByStatisticalCodeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-codes/c7a32c50-ea7c-43b7-87ab-d134c8371330 null HTTP_1_1 404 46 6 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-codes null HTTP_1_1 201 312 3 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodesByStatisticalCodeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-codes/e10796e0-a594-47b7-b748-3a81b69b3d9b null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-codes null HTTP_1_1 201 331 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodesByStatisticalCodeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-codes/d82c025e-436d-4006-a677-bd2b4cdb7692 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-codes null HTTP_1_1 201 315 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodesByStatisticalCodeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-codes/16f2d65e-eb68-4ab1-93e3-03af50cb7370 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-codes null HTTP_1_1 201 320 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodesByStatisticalCodeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-codes/0e516e54-bf36-4fc2-a0f7-3fe89a61c9c0 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-codes null HTTP_1_1 201 314 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodesByStatisticalCodeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-codes/950d3370-9a3c-421e-b116-76e7511af9e9 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-codes null HTTP_1_1 201 324 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodesByStatisticalCodeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-codes/a5ccf92e-7b1f-4990-ac03-780a6a767f37 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-codes null HTTP_1_1 201 333 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodesByStatisticalCodeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-codes/1c622d0f-2e91-4c30-ba43-2750f9735f51 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-codes null HTTP_1_1 201 317 2 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodesByStatisticalCodeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-codes/b76a3088-8de6-46c8-a130-c8e74b8d2c5b null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-codes null HTTP_1_1 201 324 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodesByStatisticalCodeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-codes/b2c0e100-0485-43f2-b161-3c60aac9f68a null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-codes null HTTP_1_1 201 328 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodesByStatisticalCodeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-codes/30b5400d-0b9e-4757-a3d0-db0d30a49e72 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-codes null HTTP_1_1 201 327 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodesByStatisticalCodeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-codes/ecab577d-a050-4ea2-8a86-ea5a234283ea null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-codes null HTTP_1_1 201 325 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodesByStatisticalCodeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-codes/b6b46869-f3c1-4370-b603-29774a1e42b1 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-codes null HTTP_1_1 201 314 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodesByStatisticalCodeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-codes/c4073462-6144-4b69-a543-dd131e241799 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-codes null HTTP_1_1 201 325 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodesByStatisticalCodeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-codes/97e91f57-fad7-41ea-a660-4031bf8d4ea8 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-codes null HTTP_1_1 201 317 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodesByStatisticalCodeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-codes/91b8f0b4-0e13-4270-9fd6-e39203d0f449 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-codes null HTTP_1_1 201 342 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodesByStatisticalCodeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-codes/972f81d5-9f8f-4b56-a10e-5c05419718e6 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-codes null HTTP_1_1 201 338 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodesByStatisticalCodeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-codes/6d584d0e-3dbc-46c4-a1bd-e9238dd9a6be null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-codes null HTTP_1_1 201 334 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodesByStatisticalCodeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-codes/264c4f94-1538-43a3-8b40-bed68384b31b null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-codes null HTTP_1_1 201 325 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodesByStatisticalCodeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-codes/6899291a-1fb9-4130-98ce-b40368556818 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-codes null HTTP_1_1 201 323 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodesByStatisticalCodeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-codes/775b6ad4-9c35-4d29-bf78-8775a9b42226 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-codes null HTTP_1_1 201 326 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodesByStatisticalCodeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-codes/b5968c9e-cddc-4576-99e3-8e60aed8b0dd null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-codes null HTTP_1_1 201 319 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodesByStatisticalCodeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-codes/9d8abbe2-1a94-4866-8731-4d12ac09f7a8 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-codes null HTTP_1_1 201 327 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodesByStatisticalCodeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-codes/bb76b1c1-c9df-445c-8deb-68bb3580edc2 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-codes null HTTP_1_1 201 340 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodesByStatisticalCodeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-codes/f47b773a-bd5f-4246-ac1e-fa4adcd0dcdf null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-codes null HTTP_1_1 201 337 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodesByStatisticalCodeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-codes/38249f9e-13f8-48bc-a010-8023cd194af5 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-codes null HTTP_1_1 201 335 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodesByStatisticalCodeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-codes/0868921a-4407-47c9-9b3e-db94644dbae7 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-codes null HTTP_1_1 201 313 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putStatisticalCodesByStatisticalCodeId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /statistical-codes/2850630b-cd12-4379-af57-5c51491a6873 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postStatisticalCodes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /statistical-codes null HTTP_1_1 201 321 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putModesOfIssuanceByModeOfIssuanceId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /modes-of-issuance/f5cc2ab6-bb92-4cab-b83f-5a3d09261a41 null HTTP_1_1 404 46 6 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postModesOfIssuance 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /modes-of-issuance null HTTP_1_1 201 241 3 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putModesOfIssuanceByModeOfIssuanceId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /modes-of-issuance/4fc0f4fe-06fd-490a-a078-c4da1754e03a null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postModesOfIssuance 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /modes-of-issuance null HTTP_1_1 201 242 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putModesOfIssuanceByModeOfIssuanceId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /modes-of-issuance/9d18a02f-5897-4c31-9106-c9abb5c7ae8b null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postModesOfIssuance 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /modes-of-issuance null HTTP_1_1 201 233 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putModesOfIssuanceByModeOfIssuanceId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /modes-of-issuance/068b5344-e2a6-40df-9186-1829e13cd344 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postModesOfIssuance 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /modes-of-issuance null HTTP_1_1 201 228 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putModesOfIssuanceByModeOfIssuanceId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /modes-of-issuance/612bbd3d-c16b-4bfb-8517-2afafc60204a null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postModesOfIssuance 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /modes-of-issuance null HTTP_1_1 201 226 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putAlternativeTitleTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /alternative-title-types/781c04a4-f41e-4ab0-9118-6836e93de3c8 null HTTP_1_1 404 46 11 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postAlternativeTitleTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /alternative-title-types null HTTP_1_1 201 232 3 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putAlternativeTitleTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /alternative-title-types/4bb300a4-04c9-414b-bfbc-9c032f74b7b2 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postAlternativeTitleTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /alternative-title-types null HTTP_1_1 201 229 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putAlternativeTitleTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /alternative-title-types/09964ad1-7aed-49b8-8223-a4c105e3ef87 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postAlternativeTitleTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /alternative-title-types null HTTP_1_1 201 228 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putAlternativeTitleTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /alternative-title-types/2ca8538d-a2fd-4e60-b967-1cb220101e22 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postAlternativeTitleTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /alternative-title-types null HTTP_1_1 201 237 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putAlternativeTitleTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /alternative-title-types/432ca81a-fe4d-4249-bfd3-53388725647d null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postAlternativeTitleTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /alternative-title-types null HTTP_1_1 201 228 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putAlternativeTitleTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /alternative-title-types/30512027-cdc9-4c79-af75-1565b3bd888d null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postAlternativeTitleTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /alternative-title-types null HTTP_1_1 201 228 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putAlternativeTitleTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /alternative-title-types/5c364ce4-c8fd-4891-a28d-bb91c9bcdbfb null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postAlternativeTitleTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /alternative-title-types null HTTP_1_1 201 226 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putAlternativeTitleTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /alternative-title-types/0fe58901-183e-4678-a3aa-0b4751174ba8 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postAlternativeTitleTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /alternative-title-types null HTTP_1_1 201 232 2 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putAlternativeTitleTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /alternative-title-types/a8b45056-2223-43ca-8514-4dd88ece984b null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postAlternativeTitleTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /alternative-title-types null HTTP_1_1 201 231 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putAlternativeTitleTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /alternative-title-types/dae08d04-8c4e-4ab2-b6bb-99edbf252231 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postAlternativeTitleTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /alternative-title-types null HTTP_1_1 201 226 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putAlternativeTitleTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /alternative-title-types/2584943f-36ad-4037-a7fa-3bdebb09f452 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postAlternativeTitleTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /alternative-title-types null HTTP_1_1 201 226 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putElectronicAccessRelationshipsByElectronicAccessRelationshipId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /electronic-access-relationships/3b430592-2e09-4b48-9a0c-0636d66b9fb3 null HTTP_1_1 404 46 5 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postElectronicAccessRelationships 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /electronic-access-relationships null HTTP_1_1 201 234 2 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putElectronicAccessRelationshipsByElectronicAccessRelationshipId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /electronic-access-relationships/5bfe1b7b-f151-4501-8cfa-23b321d5cd1e null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postElectronicAccessRelationships 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /electronic-access-relationships null HTTP_1_1 201 231 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putElectronicAccessRelationshipsByElectronicAccessRelationshipId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /electronic-access-relationships/f50c90c9-bae0-4add-9cd0-db9092dbc9dd null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postElectronicAccessRelationships 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /electronic-access-relationships null HTTP_1_1 201 238 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putElectronicAccessRelationshipsByElectronicAccessRelationshipId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /electronic-access-relationships/f5d0068e-6272-458e-8a81-b85e7b9a14aa null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postElectronicAccessRelationships 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /electronic-access-relationships null HTTP_1_1 201 223 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putElectronicAccessRelationshipsByElectronicAccessRelationshipId 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /electronic-access-relationships/ef03d582-219c-4221-8635-bc92f1107021 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postElectronicAccessRelationships 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /electronic-access-relationships null HTTP_1_1 201 244 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putIllPoliciesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /ill-policies/9e49924b-f649-4b36-ab57-e66e639a9b0e null HTTP_1_1 404 46 5 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postIllPolicies 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /ill-policies null HTTP_1_1 201 237 2 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putIllPoliciesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /ill-policies/37fc2702-7ec9-482a-a4e3-5ed9a122ece1 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postIllPolicies 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /ill-policies null HTTP_1_1 201 237 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putIllPoliciesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /ill-policies/c51f7aa9-9997-45e6-94d6-b502445aae9d null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postIllPolicies 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /ill-policies null HTTP_1_1 201 242 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putIllPoliciesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /ill-policies/46970b40-918e-47a4-a45d-b1677a2d3d46 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postIllPolicies 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /ill-policies null HTTP_1_1 201 224 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putIllPoliciesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /ill-policies/6bc6a71f-d6e2-4693-87f1-f495afddff00 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postIllPolicies 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /ill-policies null HTTP_1_1 201 233 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putIllPoliciesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /ill-policies/2b870182-a23d-48e8-917d-9421e5c3ce13 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postIllPolicies 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /ill-policies null HTTP_1_1 201 239 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putIllPoliciesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /ill-policies/2a572e7b-dfe5-4dee-8a62-b98d26a802e6 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postIllPolicies 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /ill-policies null HTTP_1_1 201 229 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putIllPoliciesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /ill-policies/b0f97013-87f5-4bab-87f2-ac4a5191b489 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postIllPolicies 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /ill-policies null HTTP_1_1 201 228 2 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putHoldingsTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /holdings-types/03c9c400-b9e3-4a07-ac0e-05ab470233ed null HTTP_1_1 404 46 6 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postHoldingsTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /holdings-types null HTTP_1_1 201 224 3 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putHoldingsTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /holdings-types/e6da6c98-6dd0-41bc-8b4b-cfd4bbd9c3ae null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postHoldingsTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /holdings-types null HTTP_1_1 201 221 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putHoldingsTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /holdings-types/dc35d0ae-e877-488b-8e97-6e41444e6d0a null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postHoldingsTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /holdings-types null HTTP_1_1 201 235 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putHoldingsTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /holdings-types/0c422f92-0f4d-4d32-8cbe-390ebc33a3e5 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postHoldingsTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /holdings-types null HTTP_1_1 201 223 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putHoldingsTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /holdings-types/996f93e2-5b5e-4cf2-9168-33ced1f95eed null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postHoldingsTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /holdings-types null HTTP_1_1 201 225 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putCallNumberTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /call-number-types/054d460d-d6b9-4469-9e37-7a78a2266655 null HTTP_1_1 404 46 10 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postCallNumberTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /call-number-types null HTTP_1_1 201 258 3 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putCallNumberTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /call-number-types/28927d76-e097-4f63-8510-e56f2b7a3ad0 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postCallNumberTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /call-number-types null HTTP_1_1 201 238 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putCallNumberTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /call-number-types/fc388041-6cd0-4806-8a74-ebe3b9ab4c6e null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postCallNumberTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /call-number-types null HTTP_1_1 201 257 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putCallNumberTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /call-number-types/828ae637-dfa3-4265-a1af-5279c436edff null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postCallNumberTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /call-number-types null HTTP_1_1 201 219 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putCallNumberTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /call-number-types/d644be8f-deb5-4c4d-8c9e-2291b7c0f46f null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postCallNumberTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /call-number-types null HTTP_1_1 201 218 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putCallNumberTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /call-number-types/5ba6b62e-6858-490a-8102-5b1369873835 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postCallNumberTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /call-number-types null HTTP_1_1 201 220 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putCallNumberTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /call-number-types/95467209-6d7b-468b-94df-0f5d7ad2747d null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postCallNumberTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /call-number-types null HTTP_1_1 201 249 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putCallNumberTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /call-number-types/cd70562c-dd0b-42f6-aa80-ce803d24d4a1 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postCallNumberTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /call-number-types null HTTP_1_1 201 233 2 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putCallNumberTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /call-number-types/6caca63e-5651-4db6-9247-3205156e9699 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postCallNumberTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /call-number-types null HTTP_1_1 201 227 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putCallNumberTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /call-number-types/512173a7-bd09-490e-b773-17d83f2b63fe null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postCallNumberTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /call-number-types null HTTP_1_1 201 226 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putCallNumberTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /call-number-types/827a2b64-cbf5-4296-8545-130876e4dfc0 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postCallNumberTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /call-number-types null HTTP_1_1 201 246 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putCallNumberTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /call-number-types/03dd64d0-5626-4ecd-8ece-4531e0069f35 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postCallNumberTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /call-number-types null HTTP_1_1 201 243 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putAuthorityNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /authority-note-types/76c74801-afec-45a0-aad7-3ff23591e147 null HTTP_1_1 404 9 9 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postAuthorityNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /authority-note-types null HTTP_1_1 201 237 5 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/e8cdc2fe-c53c-478a-a7f3-47f2fc79c6d4 null HTTP_1_1 404 46 5 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 226 3 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/5ba8e385-0e27-462e-a571-ffa1fa34ea54 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 238 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/f939b820-4a23-43d1-84ba-101add6e1456 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 253 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/b73cc9c2-c9fa-49aa-964f-5ae1aa754ecd null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 232 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/7356cde5-ec6b-4961-9cb0-961c48a37af4 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 228 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/806cb024-80d2-47c2-8bbf-b91091c85f68 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 243 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/86b6e817-e1bc-42fb-bab0-70e7547de6c1 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 232 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/d548fdff-b71c-4359-8055-f1c008c30f01 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 232 2 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/6a2533a7-4de2-4e64-8466-074c2fa9308c null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 227 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/1d51e8b2-dee7-43f5-983c-a40757b9cdfa null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 254 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/9b56b954-7f3b-4e4b-8ed0-cf40aef13975 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 244 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/66ea8f28-d5da-426a-a7c9-739a5d676347 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 241 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/e814a32e-02da-4773-8f3a-6629cdb7ecdf null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 242 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/265c4910-3997-4242-9269-6a4a2e91392b null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 226 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/43295b78-3bfa-4c28-bc7f-8d924f63493f null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 253 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/06489647-c7b7-4b6c-878a-cb7c1178e9ca null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 245 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/ec9f8285-6bf9-4e6c-a3cb-38ef17f0317f null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 251 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/95f62ca7-5df5-4a51-9890-d0ec3a34665f null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 234 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/49475f04-35ef-4f8a-aa7f-92773594ca76 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 232 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/6f76f4e7-9c0b-4138-9371-09b36136372d null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 245 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/cf635f41-29e7-4dd0-8598-33f230157074 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 243 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/06b44741-888e-4b15-a75e-cb29e27752d1 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 224 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/922fdcde-952d-45c2-b9ea-5fc8959ad116 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 235 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/13047c94-7d2c-4c41-9658-abacfa97a5c8 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 251 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/f677d908-69c6-4450-94a6-abbcf94a1ee5 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 256 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/7929eee7-6822-4199-8df4-bb2ae773e4cd null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 232 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/42be8949-6f69-4c55-874b-60b744ac1103 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 236 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/fda2f2e3-965f-4220-8a2b-93d35ce6d582 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 253 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/654be0fd-bba2-4791-afa3-ae60300d7043 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 254 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/09812302-92f7-497e-9120-ed25de458ea5 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 261 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/02b5b0c6-3375-4912-ac75-ad9f552362b2 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 231 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/1c017b8d-c783-4f63-b620-079f7a5b9c07 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 226 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/56cf513e-a738-40c5-a3ab-b0c60ba07e15 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 251 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/1cb8ac76-01fa-49be-8b9c-fcdaf17458a5 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 252 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/72c611ab-f353-4c09-a0cc-33ff96cc3bef null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 246 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/794f19f1-d00b-4b4b-97e9-0de5a34495a0 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 245 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/28e12ad3-4a8d-48cc-b56c-a5ded22fc844 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 239 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/c6340b85-d048-426a-89aa-163cfb801a56 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 254 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/3d931c23-6ae8-4e5a-8802-dc8c2e21ea19 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 249 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/1c7acba3-523d-4237-acd2-e88549bfc660 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 253 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/9f08c9b7-500a-43e0-b00f-ba02396b198f null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 249 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/779c22a2-311c-4ebb-b71e-b246c7ee574d null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 244 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/aecfda7a-e8aa-46d6-9046-9b0b8c231b85 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 230 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/86c4bd09-16de-45ee-89d3-b6d32fae6de9 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 251 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/f289c02b-9515-4c3f-b242-ffd071e82135 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 239 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/6ca9df3f-454d-4b5b-9d41-feb5d5030b99 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 241 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/a6a5550f-4981-4b48-b821-a57d5c8ca3b3 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 233 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/9a4b39f4-a7d5-4c4d-abc6-5ccf1fc1d78c null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 256 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/c636881b-8927-4480-ad1b-8d7b27b4bbfe null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 246 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/0ed2da88-3f81-42f5-b688-91b70919d9bb null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 231 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/10e2e11b-450f-45c8-b09b-0f819999966e null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 222 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/e0ea861c-959f-4912-8579-5e9ea8a69454 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 258 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putInstanceNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /instance-note-types/0dc69a30-6d2b-40df-a50e-e4982bda86f4 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postInstanceNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /instance-note-types null HTTP_1_1 201 239 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putHoldingsNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /holdings-note-types/db9b4787-95f0-4e78-becf-26748ce6bdeb null HTTP_1_1 404 46 4 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postHoldingsNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /holdings-note-types null HTTP_1_1 201 225 2 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putHoldingsNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /holdings-note-types/88914775-f677-4759-b57b-1a33b90b24e0 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postHoldingsNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /holdings-note-types null HTTP_1_1 201 235 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putHoldingsNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /holdings-note-types/e19eabab-a85c-4aef-a7b2-33bd9acef24e null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postHoldingsNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /holdings-note-types null HTTP_1_1 201 222 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putHoldingsNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /holdings-note-types/6a41b714-8574-4084-8d64-a9373c3fbb59 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postHoldingsNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /holdings-note-types null HTTP_1_1 201 227 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putHoldingsNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /holdings-note-types/c4407cc7-d79f-4609-95bd-1cefb2e2b5c5 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postHoldingsNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /holdings-note-types null HTTP_1_1 201 224 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putHoldingsNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /holdings-note-types/d6510242-5ec3-42ed-b593-3585d2e48fd6 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postHoldingsNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /holdings-note-types null HTTP_1_1 201 226 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putHoldingsNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /holdings-note-types/b160f13a-ddba-4053-b9c4-60ec5ea45d56 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postHoldingsNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /holdings-note-types null HTTP_1_1 201 219 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putItemNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /item-note-types/c3a539b9-9576-4e3a-b6de-d910200b2919 null HTTP_1_1 404 46 4 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postItemNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /item-note-types null HTTP_1_1 201 225 2 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putItemNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /item-note-types/f3ae3823-d096-4c65-8734-0c1efd2ffea8 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postItemNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /item-note-types null HTTP_1_1 201 235 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putItemNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /item-note-types/87c450be-2033-41fb-80ba-dd2409883681 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postItemNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /item-note-types null HTTP_1_1 201 222 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putItemNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /item-note-types/acb3a58f-1d72-461d-97c3-0e7119e8d544 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postItemNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /item-note-types null HTTP_1_1 201 227 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putItemNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /item-note-types/1dde7141-ec8a-4dae-9825-49ce14c728e7 null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postItemNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /item-note-types null HTTP_1_1 201 224 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putItemNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /item-note-types/0e40884c-3523-4c6d-8187-d578e3d2794e null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postItemNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /item-note-types null HTTP_1_1 201 226 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putItemNoteTypesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /item-note-types/8d0a5eca-25de-4391-81a9-236eeefdd20b null HTTP_1_1 404 46 0 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postItemNoteTypes 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /item-note-types null HTTP_1_1 201 219 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putItemDamagedStatusesById 09:33:24 [] [] [] [] ERROR ItemDamagedStatusAPI No records match the query, no records updated 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /item-damaged-statuses/54d1dd76-ea33-4bcb-955b-6b29df4f7930 null HTTP_1_1 404 46 5 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postItemDamagedStatuses 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /item-damaged-statuses null HTTP_1_1 201 222 3 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putItemDamagedStatusesById 09:33:24 [] [] [] [] ERROR ItemDamagedStatusAPI No records match the query, no records updated 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /item-damaged-statuses/516b82eb-1f19-4a63-8c48-8f1a3e9ff311 null HTTP_1_1 404 46 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postItemDamagedStatuses 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /item-damaged-statuses null HTTP_1_1 201 226 1 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putHoldingsSourcesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /holdings-sources/f32d531e-df79-46b3-8932-cdd35f7a2264 null HTTP_1_1 404 9 5 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postHoldingsSources 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /holdings-sources null HTTP_1_1 201 220 2 tid=test_tenant Created 09:33:24 [] [] [] [] INFO RestRouting invoking putHoldingsSourcesById 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 PUT /holdings-sources/036ee84a-6afd-4c3c-9ad3-4a12ab875f59 null HTTP_1_1 404 9 1 tid=test_tenant Not Found 09:33:24 [] [] [] [] INFO RestRouting invoking postHoldingsSources 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57338 POST /holdings-sources null HTTP_1_1 201 219 1 tid=test_tenant Created 09:33:24 [] [] [] [] WARN TenantLoading loadData getURLsFromClassPathDir returns empty list for path=ref-data/bound-with/instances 09:33:24 [] [] [] [] WARN TenantLoading loadData getURLsFromClassPathDir returns empty list for path=ref-data/bound-with/holdingsrecords 09:33:24 [] [] [] [] WARN TenantLoading loadData getURLsFromClassPathDir returns empty list for path=ref-data/bound-with/items 09:33:24 [] [] [] [] WARN TenantLoading loadData getURLsFromClassPathDir returns empty list for path=ref-data/bound-with/bound-with-parts 09:33:24 [] [] [] [] INFO TenantRefAPI About to start java migrations... 09:33:24 [] [] [] [] INFO TenantRefAPI Java migrations has been completed 09:33:24 [] [] [] [] INFO TenantAPI job 6b8f1ee5-ada9-4e7e-a5d9-d259bba8497b completed 09:33:24 [] [] [] [] INFO StorageTestSuite finished @BeforeClass before() 09:33:24 [] [] [] [] INFO LogUtil 127.0.0.1:57298 GET /_/tenant/6b8f1ee5-ada9-4e7e-a5d9-d259bba8497b wait=60000 HTTP_1_1 200 345 12116 tid=test_tenant OK 09:33:24 [] [] [] [] INFO TestBase finishing @BeforeClass testBaseBeforeClass() 09:33:24 [] [] [] [] INFO HttpClient POST http://localhost:49391/_/tenant, Request: { "purge" : true } 09:33:24 [] [] [] [] INFO RestRouting invoking postTenant 09:33:40 [] [] [] [] INFO kaAdminClientService Topics deleted successfully 09:33:40 [] [] [] [] INFO PostgresClient Executing multiple statements with id 40817440 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP SCHEMA IF EXISTS test_tenant_mod_inventory_storage CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='drop cascades to 188 other objects', detail='drop cascades to table test_tenant_mod_inventory_storage.rmb_internal drop cascades to table test_tenant_mod_inventory_storage.rmb_job drop cascades to table test_tenant_mod_inventory_storage.rmb_internal_index drop cascades to table test_tenant_mod_inventory_storage.rmb_internal_analyze drop cascades to function test_tenant_mod_inventory_storage.uuid_smaller(uuid,uuid) drop cascades to function test_tenant_mod_inventory_storage.uuid_larger(uuid,uuid) drop cascades to function test_tenant_mod_inventory_storage.next_uuid(uuid) drop cascades to function test_tenant_mod_inventory_storage.max(uuid) drop cascades to function test_tenant_mod_inventory_storage.min(uuid) drop cascades to function test_tenant_mod_inventory_storage.count_estimate_smart2(bigint,bigint,text) drop cascades to function test_tenant_mod_inventory_storage.count_estimate_default(text) drop cascades to function test_tenant_mod_inventory_storage.count_estimate(text) drop cascades to function test_tenant_mod_inventory_storage.upsert(text,uuid,anyelement) drop cascades to function test_tenant_mod_inventory_storage.f_unaccent(text) drop cascades to function test_tenant_mod_inventory_storage.get_tsvector(text) drop cascades to function test_tenant_mod_inventory_storage.tsquery_and(text) drop cascades to function test_tenant_mod_inventory_storage.tsquery_or(text) drop cascades to function test_tenant_mod_inventory_storage.tsquery_phrase(text) drop cascades to function test_tenant_mod_inventory_storage.normalize_digits(text) drop cascades to function test_tenant_mod_inventory_storage.set_id_in_jsonb() drop cascades to function test_tenant_mod_inventory_storage.concat_space_sql(text[]) drop cascades to function test_tenant_mod_inventory_storage.concat_array_object_values(jsonb,text) drop cascades to function test_tenant_mod_inventory_storage.concat_array_object_values(jsonb,text,text,text) drop cascades to function test_tenant_mod_inventory_storage.first_array_object_value(jsonb,text,text,text) drop cascades to function test_tenant_mod_inventory_storage.concat_array_object(jsonb) drop cascades to function test_tenant_mod_inventory_storage.rmb_internal_index(text,text,text,text) drop cascades to function test_tenant_mod_inventory_storage.normalize_isbns(jsonb) drop cascades to function test_tenant_mod_inventory_storage.normalize_invalid_isbns(jsonb) drop cascades to function test_tenant_mod_inventory_storage.normalize_call_number_string(text) drop cascades to function test_tenant_mod_inventory_storage.normalize_holdings_full_call_number(jsonb) drop cascades to function test_tenant_mod_inventory_storage.normalize_holdings_call_number_and_suffix(jsonb) drop cascades to function test_tenant_mod_inventory_storage.normalize_item_full_call_number(jsonb) drop cascades to function test_tenant_mod_inventory_storage.normalize_item_call_number_and_suffix(jsonb) drop cascades to table test_tenant_mod_inventory_storage.authority drop cascades to function test_tenant_mod_inventory_storage.authority_set_md() drop cascades to function test_tenant_mod_inventory_storage.set_authority_md_json() drop cascades to function test_tenant_mod_inventory_storage.authority_set_ol_version() drop cascades to table test_tenant_mod_inventory_storage.loan_type drop cascades to function test_tenant_mod_inventory_storage.loan_type_set_md() drop cascades to function test_tenant_mod_inventory_storage.set_loan_type_md_json() drop cascades to table test_tenant_mod_inventory_storage.material_type drop cascades to function test_tenant_mod_inventory_storage.material_type_set_md() drop cascades to function test_tenant_mod_inventory_storage.set_material_type_md_json() drop cascades to table test_tenant_mod_inventory_storage.locinstitution drop cascades to function test_tenant_mod_inventory_storage.locinstitution_set_md() drop cascades to function test_tenant_mod_inventory_storage.set_locinstitution_md_json() drop cascades to table test_tenant_mod_inventory_storage.loccampus drop cascades to function test_tenant_mod_inventory_storage.update_loccampus_references() drop cascades to function test_tenant_mod_inventory_storage.loccampus_set_md() drop cascades to function test_tenant_mod_inventory_storage.set_loccampus_md_json() drop cascades to table test_tenant_mod_inventory_storage.loclibrary drop cascades to function test_tenant_mod_inventory_storage.update_loclibrary_references() drop cascades to function test_tenant_mod_inventory_storage.loclibrary_set_md() drop cascades to function test_tenant_mod_inventory_storage.set_loclibrary_md_json() drop cascades to table test_tenant_mod_inventory_storage.location drop cascades to function test_tenant_mod_inventory_storage.update_location_references() drop cascades to function test_tenant_mod_inventory_storage.location_set_md() drop cascades to function test_tenant_mod_inventory_storage.set_location_md_json() drop cascades to table test_tenant_mod_inventory_storage.service_point drop cascades to function test_tenant_mod_inventory_storage.service_point_set_md() drop cascades to function test_tenant_mod_inventory_storage.set_service_point_md_json() drop cascades to table test_tenant_mod_inventory_storage.service_point_user drop cascades to function test_tenant_mod_inventory_storage.update_service_point_user_references() drop cascades to function test_tenant_mod_inventory_storage.service_point_user_set_md() drop cascades to function test_tenant_mod_inventory_storage.set_service_point_user_md_json() drop cascades to table test_tenant_mod_inventory_storage.identifier_type drop cascades to function test_tenant_mod_inventory_storage.identifier_type_set_md() drop cascades to function test_tenant_mod_inventory_storage.set_identifier_type_md_json() drop cascades to table test_tenant_mod_inventory_storage.instance_relationship_type drop cascades to function test_tenant_mod_inventory_storage.instance_relationship_type_set_md() drop cascades to function test_tenant_mod_inventory_storage.set_instance_relationship_type_md_json() drop cascades to table test_tenant_mod_inventory_storage.contributor_type drop cascades to table test_tenant_mod_inventory_storage.contributor_name_type drop cascades to function test_tenant_mod_inventory_storage.contributor_name_type_set_md() drop cascades to function test_tenant_mod_inventory_storage.set_contributor_name_type_md_json() drop cascades to table test_tenant_mod_inventory_storage.instance_type drop cascades to table test_tenant_mod_inventory_storage.instance_format drop cascades to table test_tenant_mod_inventory_storage.nature_of_content_term drop cascades to function test_tenant_mod_inventory_storage.nature_of_content_term_set_md() drop cascades to function test_tenant_mod_inventory_storage.set_nature_of_content_term_md_json() drop cascades to table test_tenant_mod_inventory_storage.classification_type drop cascades to function test_tenant_mod_inventory_storage.classification_type_set_md() drop cascades to function test_tenant_mod_inventory_storage.set_classification_type_md_json() drop cascades to table test_tenant_mod_inventory_storage.electronic_access_relationship drop cascades to function test_tenant_mod_inventory_storage.electronic_access_relationship_set_md() drop cascades to function test_tenant_mod_inventory_storage.set_electronic_access_relationship_md_json() drop cascades to table test_tenant_mod_inventory_storage.statistical_code_type drop cascades to function test_tenant_mod_inventory_storage.statistical_code_type_set_md() drop cascades to function test_tenant_mod_inventory_storage.set_statistical_code_type_md_json() drop cascades to table test_tenant_mod_inventory_storage.statistical_code drop cascades to function test_tenant_mod_inventory_storage.update_statistical_code_references() drop cascades to function test_tenant_mod_inventory_storage.statistical_code_set_md() drop cascades to function test_tenant_mod_inventory_storage.set_statistical_code_md_json() drop cascades to table test_tenant_mod_inventory_storage.instance_status drop cascades to function test_tenant_mod_inventory_storage.instance_status_set_md() drop cascades to function test_tenant_mod_inventory_storage.set_instance_status_md_json() drop cascades to table test_tenant_mod_inventory_storage.mode_of_issuance drop cascades to function test_tenant_mod_inventory_storage.mode_of_issuance_set_md() drop cascades to function test_tenant_mod_inventory_storage.set_mode_of_issuance_md_json() drop cascades to table test_tenant_mod_inventory_storage.alternative_title_type and 88 other objects (see server log for list)', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dependency.c', line='1205', routine='reportDependentObjects', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP SCHEMA IF EXISTS test_tenant_mod_inventory_storage CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP ROLE IF EXISTS test_tenant_mod_inventory_storage; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP ROLE IF EXISTS test_tenant_mod_inventory_storage; 09:33:40 [] [] [] [] INFO HttpClient POST http://localhost:49391/_/tenant, Request: { "parameters" : [ { "key" : "loadReference", "value" : "true" }, { "key" : "loadSample", "value" : "true" } ], "module_to" : "mod-inventory-storage-1.0.0" } 09:33:40 [] [] [] [] INFO LogUtil 127.0.0.1:57356 POST /_/tenant null HTTP_1_1 204 0 15296 tid=test_tenant No Content 09:33:40 [] [] [] [] INFO RestRouting invoking postTenant 09:33:40 [] [] [] [] INFO PostgresClient Executing multiple statements with id 1779899756 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE ROLE test_tenant_mod_inventory_storage PASSWORD 'test_tenant' NOSUPERUSER NOCREATEDB INHERIT LOGIN; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE ROLE test_tenant_mod_inventory_storage PASSWORD 'test_tenant' NOSUPERUSER NOCREATEDB INHERIT LOGIN; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} GRANT test_tenant_mod_inventory_storage TO CURRENT_USER; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed GRANT test_tenant_mod_inventory_storage TO CURRENT_USER; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE SCHEMA test_tenant_mod_inventory_storage AUTHORIZATION test_tenant_mod_inventory_storage; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE SCHEMA test_tenant_mod_inventory_storage AUTHORIZATION test_tenant_mod_inventory_storage; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER ROLE test_tenant_mod_inventory_storage SET search_path = "$user"; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed ALTER ROLE test_tenant_mod_inventory_storage SET search_path = "$user"; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN -- This only succeeds if show_trgm, a pg_trgm function, -- has been loaded into public schema. PERFORM public.show_trgm('a'); EXCEPTION WHEN undefined_function THEN BEGIN ALTER EXTENSION pg_trgm SET SCHEMA public; EXCEPTION WHEN undefined_object THEN NULL; END; END; END $$; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN -- This only succeeds if show_trgm, a pg_trgm function, -- has been loaded into public schema. PERFORM public.show_trgm('a'); EXCEPTION WHEN undefined_function THEN BEGIN ALTER EXTENSION pg_trgm SET SCHEMA public; EXCEPTION WHEN undefined_object THEN NULL; END; END; END $$; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE EXTENSION IF NOT EXISTS unaccent WITH SCHEMA public; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='42710', message='extension "unaccent" already exists, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='extension.c', line='1669', routine='CreateExtension', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE EXTENSION IF NOT EXISTS unaccent WITH SCHEMA public; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE EXTENSION IF NOT EXISTS pg_trgm WITH SCHEMA public; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='42710', message='extension "pg_trgm" already exists, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='extension.c', line='1669', routine='CreateExtension', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE EXTENSION IF NOT EXISTS pg_trgm WITH SCHEMA public; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.rmb_internal ( id SERIAL PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.rmb_internal ( id SERIAL PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} insert into test_tenant_mod_inventory_storage.rmb_internal (jsonb) values ('{"rmbVersion": "33.1.1", "moduleVersion": "mod-inventory-storage-1.0.0"}'::jsonb); 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed insert into test_tenant_mod_inventory_storage.rmb_internal (jsonb) values ('{"rmbVersion": "33.1.1", "moduleVersion": "mod-inventory-storage-1.0.0"}'::jsonb); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.rmb_job ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.rmb_job ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:40 [] [] [] [] INFO LogUtil 127.0.0.1:57378 POST /_/tenant null HTTP_1_1 201 345 99 tid=test_tenant Created 09:33:40 [] [] [] [] INFO PostgresClient Executing multiple statements with id -294782510 09:33:40 [] [] [] [] INFO RestRouting invoking getTenantByOperationId 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} SET search_path TO test_tenant_mod_inventory_storage; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed SET search_path TO test_tenant_mod_inventory_storage; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.rmb_internal_index ( name text PRIMARY KEY, def text NOT NULL, remove boolean NOT NULL ); 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.rmb_internal_index ( name text PRIMARY KEY, def text NOT NULL, remove boolean NOT NULL ); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.rmb_internal_index SET remove = TRUE; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.rmb_internal_index SET remove = TRUE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS rmb_internal_analyze ( tablename text ); 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS rmb_internal_analyze ( tablename text ); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.uuid_smaller(uuid, uuid) RETURNS uuid AS $$ BEGIN IF $1 IS NULL THEN RETURN $2; END IF; IF $2 IS NULL THEN RETURN $1; END IF; IF $1 < $2 THEN RETURN $1; ELSE RETURN $2; END IF; END; $$ LANGUAGE plpgsql; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.uuid_smaller(uuid, uuid) RETURNS uuid AS $$ BEGIN IF $1 IS NULL THEN RETURN $2; END IF; IF $2 IS NULL THEN RETURN $1; END IF; IF $1 < $2 THEN RETURN $1; ELSE RETURN $2; END IF; END; $$ LANGUAGE plpgsql; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.uuid_larger(uuid, uuid) RETURNS uuid AS $$ BEGIN IF $1 IS NULL THEN RETURN $2; END IF; IF $2 IS NULL THEN RETURN $1; END IF; IF $1 > $2 THEN RETURN $1; ELSE RETURN $2; END IF; END; $$ LANGUAGE plpgsql; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.uuid_larger(uuid, uuid) RETURNS uuid AS $$ BEGIN IF $1 IS NULL THEN RETURN $2; END IF; IF $2 IS NULL THEN RETURN $1; END IF; IF $1 > $2 THEN RETURN $1; ELSE RETURN $2; END IF; END; $$ LANGUAGE plpgsql; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.next_uuid(uuid) RETURNS uuid AS $$ DECLARE uuid text; digit text; BEGIN uuid = $1; FOR i IN REVERSE 36..1 LOOP digit := substring(uuid from i for 1); -- skip minus, version byte M and variant byte N CONTINUE WHEN digit = '-' OR i = 15 OR i = 20; CASE digit WHEN '0' THEN digit := '1'; WHEN '1' THEN digit := '2'; WHEN '2' THEN digit := '3'; WHEN '3' THEN digit := '4'; WHEN '4' THEN digit := '5'; WHEN '5' THEN digit := '6'; WHEN '6' THEN digit := '7'; WHEN '7' THEN digit := '8'; WHEN '8' THEN digit := '9'; WHEN '9' THEN digit := 'a'; WHEN 'a' THEN digit := 'b'; WHEN 'b' THEN digit := 'c'; WHEN 'c' THEN digit := 'd'; WHEN 'd' THEN digit := 'e'; WHEN 'e' THEN digit := 'f'; WHEN 'f' THEN digit := '0'; ELSE NULL; END CASE; uuid = overlay(uuid placing digit from i); EXIT WHEN digit <> '0'; END LOOP; RETURN uuid; END; $$ LANGUAGE plpgsql; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.next_uuid(uuid) RETURNS uuid AS $$ DECLARE uuid text; digit text; BEGIN uuid = $1; FOR i IN REVERSE 36..1 LOOP digit := substring(uuid from i for 1); -- skip minus, version byte M and variant byte N CONTINUE WHEN digit = '-' OR i = 15 OR i = 20; CASE digit WHEN '0' THEN digit := '1'; WHEN '1' THEN digit := '2'; WHEN '2' THEN digit := '3'; WHEN '3' THEN digit := '4'; WHEN '4' THEN digit := '5'; WHEN '5' THEN digit := '6'; WHEN '6' THEN digit := '7'; WHEN '7' THEN digit := '8'; WHEN '8' THEN digit := '9'; WHEN '9' THEN digit := 'a'; WHEN 'a' THEN digit := 'b'; WHEN 'b' THEN digit := 'c'; WHEN 'c' THEN digit := 'd'; WHEN 'd' THEN digit := 'e'; WHEN 'e' THEN digit := 'f'; WHEN 'f' THEN digit := '0'; ELSE NULL; END CASE; uuid = overlay(uuid placing digit from i); EXIT WHEN digit <> '0'; END LOOP; RETURN uuid; END; $$ LANGUAGE plpgsql; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE AGGREGATE test_tenant_mod_inventory_storage.max(uuid) ( stype = uuid, sfunc = test_tenant_mod_inventory_storage.uuid_larger, combinefunc = test_tenant_mod_inventory_storage.uuid_larger, parallel = safe, sortop = operator (>) ); 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE AGGREGATE test_tenant_mod_inventory_storage.max(uuid) ( stype = uuid, sfunc = test_tenant_mod_inventory_storage.uuid_larger, combinefunc = test_tenant_mod_inventory_storage.uuid_larger, parallel = safe, sortop = operator (>) ); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE AGGREGATE test_tenant_mod_inventory_storage.min(uuid) ( stype = uuid, sfunc = test_tenant_mod_inventory_storage.uuid_smaller, combinefunc = test_tenant_mod_inventory_storage.uuid_smaller, parallel = safe, sortop = operator (<) ); 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE AGGREGATE test_tenant_mod_inventory_storage.min(uuid) ( stype = uuid, sfunc = test_tenant_mod_inventory_storage.uuid_smaller, combinefunc = test_tenant_mod_inventory_storage.uuid_smaller, parallel = safe, sortop = operator (<) ); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.count_estimate_smart2(bigint,bigint,text); 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.count_estimate_smart2(pg_catalog.int8,pg_catalog.int8,text) does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.count_estimate_smart2(bigint,bigint,text); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE FUNCTION test_tenant_mod_inventory_storage.count_estimate_smart2(rows bigint, lim bigint, query text) RETURNS bigint AS $$ DECLARE rec record; cnt bigint; BEGIN IF rows = lim THEN FOR rec IN EXECUTE 'EXPLAIN ' || query LOOP cnt := substring(rec."QUERY PLAN" FROM ' rows=([[:digit:]]+)'); EXIT WHEN cnt IS NOT NULL; END LOOP; RETURN cnt; END IF; RETURN rows; END; $$ LANGUAGE plpgsql VOLATILE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE FUNCTION test_tenant_mod_inventory_storage.count_estimate_smart2(rows bigint, lim bigint, query text) RETURNS bigint AS $$ DECLARE rec record; cnt bigint; BEGIN IF rows = lim THEN FOR rec IN EXECUTE 'EXPLAIN ' || query LOOP cnt := substring(rec."QUERY PLAN" FROM ' rows=([[:digit:]]+)'); EXIT WHEN cnt IS NOT NULL; END LOOP; RETURN cnt; END IF; RETURN rows; END; $$ LANGUAGE plpgsql VOLATILE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.count_estimate_default(query text) RETURNS bigint AS $$ DECLARE rows bigint; q text; BEGIN q = 'SELECT COUNT(*) FROM (' || query || ' LIMIT 1000) x'; EXECUTE q INTO rows; IF rows < 1000 THEN return rows; END IF; rows = test_tenant_mod_inventory_storage.count_estimate_smart2(1000, 1000, query); IF rows < 1000 THEN return 1000; END IF; RETURN rows; END; $$ LANGUAGE plpgsql IMMUTABLE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.count_estimate_default(query text) RETURNS bigint AS $$ DECLARE rows bigint; q text; BEGIN q = 'SELECT COUNT(*) FROM (' || query || ' LIMIT 1000) x'; EXECUTE q INTO rows; IF rows < 1000 THEN return rows; END IF; rows = test_tenant_mod_inventory_storage.count_estimate_smart2(1000, 1000, query); IF rows < 1000 THEN return 1000; END IF; RETURN rows; END; $$ LANGUAGE plpgsql IMMUTABLE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.count_estimate(query text) RETURNS bigint AS $$ DECLARE count bigint; est_count bigint; q text; BEGIN est_count = test_tenant_mod_inventory_storage.count_estimate_smart2(1000, 1000, query); IF est_count > 4*1000 THEN RETURN est_count; END IF; q = 'SELECT COUNT(*) FROM (' || query || ' LIMIT 1000) x'; EXECUTE q INTO count; IF count < 1000 THEN RETURN count; END IF; IF est_count < 1000 THEN RETURN 1000; END IF; RETURN est_count; END; $$ LANGUAGE plpgsql STABLE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.count_estimate(query text) RETURNS bigint AS $$ DECLARE count bigint; est_count bigint; q text; BEGIN est_count = test_tenant_mod_inventory_storage.count_estimate_smart2(1000, 1000, query); IF est_count > 4*1000 THEN RETURN est_count; END IF; q = 'SELECT COUNT(*) FROM (' || query || ' LIMIT 1000) x'; EXECUTE q INTO count; IF count < 1000 THEN RETURN count; END IF; IF est_count < 1000 THEN RETURN 1000; END IF; RETURN est_count; END; $$ LANGUAGE plpgsql STABLE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.upsert(text, uuid, anyelement) RETURNS uuid AS $$ DECLARE ret uuid; BEGIN EXECUTE format('UPDATE test_tenant_mod_inventory_storage.%I SET jsonb=$3 WHERE id=$2 RETURNING id', $1) USING $1, $2, $3 INTO ret; IF ret IS NOT NULL THEN RETURN ret; END IF; EXECUTE format('INSERT INTO test_tenant_mod_inventory_storage.%I (id, jsonb) VALUES ($2, $3) RETURNING id', $1) USING $1, $2, $3 INTO STRICT ret; RETURN ret; END; $$ LANGUAGE plpgsql; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.upsert(text, uuid, anyelement) RETURNS uuid AS $$ DECLARE ret uuid; BEGIN EXECUTE format('UPDATE test_tenant_mod_inventory_storage.%I SET jsonb=$3 WHERE id=$2 RETURNING id', $1) USING $1, $2, $3 INTO ret; IF ret IS NOT NULL THEN RETURN ret; END IF; EXECUTE format('INSERT INTO test_tenant_mod_inventory_storage.%I (id, jsonb) VALUES ($2, $3) RETURNING id', $1) USING $1, $2, $3 INTO STRICT ret; RETURN ret; END; $$ LANGUAGE plpgsql; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE ver integer; BEGIN SELECT current_setting('server_version_num') INTO ver; IF (ver >= 120000) THEN CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.f_unaccent(text) RETURNS text AS $f_unaccent$ SELECT public.unaccent('public.unaccent', $1) -- schema-qualify function and dictionary $f_unaccent$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; ELSE CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.f_unaccent(text) RETURNS text AS $f_unaccent$ SELECT regexp_replace(public.unaccent('public.unaccent', $1), E'[\u0300\u0301\u0302\u0303\u0304\u0305\u0306\u0307\u0308\u0309\u030a\u030b\u030c\u030d\u030e\u030f' || E'\u0310\u0311\u0312\u0313\u0314\u0315\u0316\u0317\u0318\u0319\u031a\u031b\u031c\u031d\u031e\u031f' || E'\u0320\u0321\u0322\u0323\u0324\u0325\u0326\u0327\u0328\u0329\u032a\u032b\u032c\u032d\u032e\u032f' || E'\u0330\u0331\u0332\u0333\u0334\u0335\u0336\u0337\u0338\u0339\u033a\u033b\u033c\u033d\u033e\u033f' || E'\u0340\u0341\u0342\u0343\u0344\u0345\u0346\u0347\u0348\u0349\u034a\u034b\u034c\u034d\u034e\u034f' || E'\u0350\u0351\u0352\u0353\u0354\u0355\u0356\u0357\u0358\u0359\u035a\u035b\u035c\u035d\u035e\u035f' || E'\u0360\u0361\u0362' || E'\u20dd\u20de\u20df\u20e0' || E'\u20e2\u20e3\u20e4]', '', 'g') $f_unaccent$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; END IF; END $$; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE ver integer; BEGIN SELECT current_setting('server_version_num') INTO ver; IF (ver >= 120000) THEN CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.f_unaccent(text) RETURNS text AS $f_unaccent$ SELECT public.unaccent('public.unaccent', $1) -- schema-qualify function and dictionary $f_unaccent$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; ELSE CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.f_unaccent(text) RETURNS text AS $f_unaccent$ SELECT regexp_replace(public.unaccent('public.unaccent', $1), E'[\u0300\u0301\u0302\u0303\u0304\u0305\u0306\u0307\u0308\u0309\u030a\u030b\u030c\u030d\u030e\u030f' || E'\u0310\u0311\u0312\u0313\u0314\u0315\u0316\u0317\u0318\u0319\u031a\u031b\u031c\u031d\u031e\u031f' || E'\u0320\u0321\u0322\u0323\u0324\u0325\u0326\u0327\u0328\u0329\u032a\u032b\u032c\u032d\u032e\u032f' || E'\u0330\u0331\u0332\u0333\u0334\u0335\u0336\u0337\u0338\u0339\u033a\u033b\u033c\u033d\u033e\u033f' || E'\u0340\u0341\u0342\u0343\u0344\u0345\u0346\u0347\u0348\u0349\u034a\u034b\u034c\u034d\u034e\u034f' || E'\u0350\u0351\u0352\u0353\u0354\u0355\u0356\u0357\u0358\u0359\u035a\u035b\u035c\u035d\u035e\u035f' || E'\u0360\u0361\u0362' || E'\u20dd\u20de\u20df\u20e0' || E'\u20e2\u20e3\u20e4]', '', 'g') $f_unaccent$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; END IF; END $$; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.get_tsvector(text) RETURNS tsvector AS $$ SELECT to_tsvector('simple', translate($1, '&', ',')); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.get_tsvector(text) RETURNS tsvector AS $$ SELECT to_tsvector('simple', translate($1, '&', ',')); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.tsquery_and(text) RETURNS tsquery AS $$ SELECT to_tsquery('simple', string_agg(CASE WHEN length(v) = 0 OR v = '*' THEN '' WHEN right(v, 1) = '*' THEN '''' || left(v, -1) || ''':*' ELSE '''' || v || '''' END, '&')) FROM (SELECT regexp_split_to_table(translate($1, '&''', ',,'), ' +')) AS x(v); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.tsquery_and(text) RETURNS tsquery AS $$ SELECT to_tsquery('simple', string_agg(CASE WHEN length(v) = 0 OR v = '*' THEN '' WHEN right(v, 1) = '*' THEN '''' || left(v, -1) || ''':*' ELSE '''' || v || '''' END, '&')) FROM (SELECT regexp_split_to_table(translate($1, '&''', ',,'), ' +')) AS x(v); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.tsquery_or(text) RETURNS tsquery AS $$ SELECT replace(test_tenant_mod_inventory_storage.tsquery_and($1)::text, '&', '|')::tsquery; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.tsquery_or(text) RETURNS tsquery AS $$ SELECT replace(test_tenant_mod_inventory_storage.tsquery_and($1)::text, '&', '|')::tsquery; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.tsquery_phrase(text) RETURNS tsquery AS $$ SELECT replace(test_tenant_mod_inventory_storage.tsquery_and($1)::text, '&', '<->')::tsquery; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.tsquery_phrase(text) RETURNS tsquery AS $$ SELECT replace(test_tenant_mod_inventory_storage.tsquery_and($1)::text, '&', '<->')::tsquery; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_digits(text) RETURNS text AS $$ SELECT translate((regexp_match($1, '^([0-9 \t-]*(?:\*[ \t]*)?)(.*)'))[1], E' \t-', '') || CASE WHEN (regexp_match($1, '^([0-9 \t-]*(?:\*[ \t]*)?)(.*)'))[1] = '' THEN '' WHEN (regexp_match($1, '^([0-9 \t-]*(?:\*[ \t]*)?)(.*)'))[2] = '' THEN '' ELSE ' ' END || (regexp_match($1, '^([0-9 \t-]*(?:\*[ \t]*)?)(.*)'))[2]; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_digits(text) RETURNS text AS $$ SELECT translate((regexp_match($1, '^([0-9 \t-]*(?:\*[ \t]*)?)(.*)'))[1], E' \t-', '') || CASE WHEN (regexp_match($1, '^([0-9 \t-]*(?:\*[ \t]*)?)(.*)'))[1] = '' THEN '' WHEN (regexp_match($1, '^([0-9 \t-]*(?:\*[ \t]*)?)(.*)'))[2] = '' THEN '' ELSE ' ' END || (regexp_match($1, '^([0-9 \t-]*(?:\*[ \t]*)?)(.*)'))[2]; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_id_in_jsonb() RETURNS TRIGGER AS $$ BEGIN NEW.jsonb = jsonb_set(NEW.jsonb, '{id}', to_jsonb(NEW.id)); RETURN NEW; END; $$ language 'plpgsql'; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_id_in_jsonb() RETURNS TRIGGER AS $$ BEGIN NEW.jsonb = jsonb_set(NEW.jsonb, '{id}', to_jsonb(NEW.id)); RETURN NEW; END; $$ language 'plpgsql'; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.concat_space_sql(VARIADIC text[]) RETURNS text AS $$ select concat_ws(' ', VARIADIC $1); $$ LANGUAGE SQL IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.concat_space_sql(VARIADIC text[]) RETURNS text AS $$ select concat_ws(' ', VARIADIC $1); $$ LANGUAGE SQL IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.concat_array_object_values(jsonb_array jsonb, field text) RETURNS text AS $$ SELECT string_agg(value->>$2, ' ') FROM jsonb_array_elements($1); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.concat_array_object_values(jsonb_array jsonb, field text) RETURNS text AS $$ SELECT string_agg(value->>$2, ' ') FROM jsonb_array_elements($1); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.concat_array_object_values( jsonb_array jsonb, field text, filterkey text, filtervalue text) RETURNS text AS $$ SELECT string_agg(value->>$2, ' ') FROM jsonb_array_elements($1) WHERE value->>$3 = $4; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.concat_array_object_values( jsonb_array jsonb, field text, filterkey text, filtervalue text) RETURNS text AS $$ SELECT string_agg(value->>$2, ' ') FROM jsonb_array_elements($1) WHERE value->>$3 = $4; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.first_array_object_value( jsonb_array jsonb, field text, filterkey text, filtervalue text) RETURNS text AS $$ SELECT value->>$2 FROM jsonb_array_elements($1) WHERE value->>$3 = $4 LIMIT 1; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.first_array_object_value( jsonb_array jsonb, field text, filterkey text, filtervalue text) RETURNS text AS $$ SELECT value->>$2 FROM jsonb_array_elements($1) WHERE value->>$3 = $4 LIMIT 1; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.concat_array_object(jsonb_array jsonb) RETURNS text AS $$ SELECT string_agg(value::text, ' ') FROM jsonb_array_elements_text($1); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.concat_array_object(jsonb_array jsonb) RETURNS text AS $$ SELECT string_agg(value::text, ' ') FROM jsonb_array_elements_text($1); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS rmb_internal_index(aname text, tops text, newdef text); 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function rmb_internal_index(text,text,text) does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS rmb_internal_index(aname text, tops text, newdef text); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION rmb_internal_index( atable text, aname text, tops text, newdef text) RETURNS void AS $$ DECLARE olddef text; namep CONSTANT text = concat(aname, '_p'); prepareddef text; BEGIN IF tops = 'DELETE' THEN -- use case insensitive %s, not case sensitive %I -- no SQL injection because the names are hard-coded in schema.json EXECUTE format('DROP INDEX IF EXISTS %s', aname); EXECUTE 'DELETE FROM test_tenant_mod_inventory_storage.rmb_internal_index WHERE name = $1' USING aname; RETURN; END IF; SELECT def INTO olddef FROM test_tenant_mod_inventory_storage.rmb_internal_index WHERE name = aname; SELECT def INTO prepareddef FROM test_tenant_mod_inventory_storage.rmb_internal_index WHERE name = namep; prepareddef = replace(prepareddef, concat(' ', namep, ' ON '), concat(' ', aname, ' ON ')); IF prepareddef = newdef THEN EXECUTE format('DROP INDEX IF EXISTS %s', aname); EXECUTE format('ALTER INDEX IF EXISTS %s RENAME TO %s', namep, aname); EXECUTE 'DELETE FROM rmb_internal_index WHERE name = $1' USING namep; EXECUTE 'INSERT INTO rmb_internal_analyze VALUES ($1)' USING atable; ELSIF olddef IS DISTINCT FROM newdef THEN EXECUTE format('DROP INDEX IF EXISTS %s', aname); EXECUTE newdef; EXECUTE 'INSERT INTO rmb_internal_analyze VALUES ($1)' USING atable; END IF; EXECUTE 'INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ($1, $2, FALSE) ' 'ON CONFLICT (name) DO UPDATE SET def = EXCLUDED.def, remove = EXCLUDED.remove' USING aname, newdef; END $$ LANGUAGE plpgsql; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION rmb_internal_index( atable text, aname text, tops text, newdef text) RETURNS void AS $$ DECLARE olddef text; namep CONSTANT text = concat(aname, '_p'); prepareddef text; BEGIN IF tops = 'DELETE' THEN -- use case insensitive %s, not case sensitive %I -- no SQL injection because the names are hard-coded in schema.json EXECUTE format('DROP INDEX IF EXISTS %s', aname); EXECUTE 'DELETE FROM test_tenant_mod_inventory_storage.rmb_internal_index WHERE name = $1' USING aname; RETURN; END IF; SELECT def INTO olddef FROM test_tenant_mod_inventory_storage.rmb_internal_index WHERE name = aname; SELECT def INTO prepareddef FROM test_tenant_mod_inventory_storage.rmb_internal_index WHERE name = namep; prepareddef = replace(prepareddef, concat(' ', namep, ' ON '), concat(' ', aname, ' ON ')); IF prepareddef = newdef THEN EXECUTE format('DROP INDEX IF EXISTS %s', aname); EXECUTE format('ALTER INDEX IF EXISTS %s RENAME TO %s', namep, aname); EXECUTE 'DELETE FROM rmb_internal_index WHERE name = $1' USING namep; EXECUTE 'INSERT INTO rmb_internal_analyze VALUES ($1)' USING atable; ELSIF olddef IS DISTINCT FROM newdef THEN EXECUTE format('DROP INDEX IF EXISTS %s', aname); EXECUTE newdef; EXECUTE 'INSERT INTO rmb_internal_analyze VALUES ($1)' USING atable; END IF; EXECUTE 'INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ($1, $2, FALSE) ' 'ON CONFLICT (name) DO UPDATE SET def = EXCLUDED.def, remove = EXCLUDED.remove' USING aname, newdef; END $$ LANGUAGE plpgsql; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE n INT; BEGIN -- Only populate if table is empty SELECT count(*) INTO n FROM test_tenant_mod_inventory_storage.rmb_internal_index; IF n > 0 THEN RETURN; END IF; CASE '0.0' -- previous module version taken from the /_/tenant POST module_from variable WHEN '18.2.3', 'mod-inventory-storage-18.2.3', '18.2.2', 'mod-inventory-storage-18.2.2', '18.2.1', 'mod-inventory-storage-18.2.1' THEN -- Edelweiss versions 18.2.1 - 18.2.3; earlier versions don't have left(..., 600) index truncation INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('alternative_title_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS alternative_title_type_name_idx_unique ON test_tenant_mod_inventory_storage.alternative_title_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('call_number_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS call_number_type_name_idx_unique ON test_tenant_mod_inventory_storage.call_number_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('classification_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS classification_type_name_idx_unique ON test_tenant_mod_inventory_storage.classification_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('contributor_name_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_name_type_name_idx_unique ON test_tenant_mod_inventory_storage.contributor_name_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('contributor_type_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_type_code_idx_unique ON test_tenant_mod_inventory_storage.contributor_type (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('contributor_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_type_name_idx_unique ON test_tenant_mod_inventory_storage.contributor_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('electronic_access_relationship_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS electronic_access_relationship_name_idx_unique ON test_tenant_mod_inventory_storage.electronic_access_relationship (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('holdings_note_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_note_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('holdings_record_hrid_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_record_hrid_idx_unique ON test_tenant_mod_inventory_storage.holdings_record (lower(f_unaccent(jsonb->>''hrid'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('holdings_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_type_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('identifier_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS identifier_type_name_idx_unique ON test_tenant_mod_inventory_storage.identifier_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('ill_policy_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS ill_policy_name_idx_unique ON test_tenant_mod_inventory_storage.ill_policy (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_classifications_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_classifications_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''classifications''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_contributors_idx', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''contributors'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_contributors_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''contributors'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_contributors_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''contributors''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_format_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_format_code_idx_unique ON test_tenant_mod_inventory_storage.instance_format (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_format_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_format_name_idx_unique ON test_tenant_mod_inventory_storage.instance_format (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_hrid_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_hrid_idx_unique ON test_tenant_mod_inventory_storage.instance (lower(f_unaccent(jsonb->>''hrid'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_identifiers_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_identifiers_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''identifiers'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_identifiers_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_identifiers_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''identifiers''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_indexTitle_idx', 'CREATE INDEX IF NOT EXISTS instance_indexTitle_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''indexTitle'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_indexTitle_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_indexTitle_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''indexTitle''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_keyword_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_keyword_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(concat_space_sql(instance.jsonb->>''title'' , concat_array_object_values(instance.jsonb->''contributors'',''name'') , concat_array_object_values(instance.jsonb->''identifiers'',''value'')))) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_languages_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_languages_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''languages'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_note_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_note_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_publication_idx', 'CREATE INDEX IF NOT EXISTS instance_publication_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''publication'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_relationship_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_relationship_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_relationship_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_source_idx', 'CREATE INDEX IF NOT EXISTS instance_source_idx ON test_tenant_mod_inventory_storage.instance (left(lower(jsonb->>''source''),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_statisticalCodeIds_idx', 'CREATE INDEX IF NOT EXISTS instance_statisticalCodeIds_idx ON test_tenant_mod_inventory_storage.instance (left(lower(jsonb->>''statisticalCodeIds''),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_status_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_status_code_idx_unique ON test_tenant_mod_inventory_storage.instance_status (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_status_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_status_name_idx_unique ON test_tenant_mod_inventory_storage.instance_status (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_subjects_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_subjects_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''subjects''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_title_idx', 'CREATE INDEX IF NOT EXISTS instance_title_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''title'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_title_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_title_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''title'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_title_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_title_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''title''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_type_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_type_code_idx_unique ON test_tenant_mod_inventory_storage.instance_type (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_barcode_idx', 'CREATE INDEX IF NOT EXISTS item_barcode_idx ON test_tenant_mod_inventory_storage.item (left(lower(f_unaccent(jsonb->>''barcode'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_barcode_idx_ft', 'CREATE INDEX IF NOT EXISTS item_barcode_idx_ft ON test_tenant_mod_inventory_storage.item USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''barcode'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_barcode_idx_gin', 'CREATE INDEX IF NOT EXISTS item_barcode_idx_gin ON test_tenant_mod_inventory_storage.item USING GIN ((lower(f_unaccent(jsonb->>''barcode''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_damaged_status_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS item_damaged_status_name_idx_unique ON test_tenant_mod_inventory_storage.item_damaged_status (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_hrid_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS item_hrid_idx_unique ON test_tenant_mod_inventory_storage.item (lower(f_unaccent(jsonb->>''hrid'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_note_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS item_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.item_note_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_status_name_idx', 'CREATE INDEX IF NOT EXISTS item_status_name_idx ON test_tenant_mod_inventory_storage.item (left(lower(f_unaccent(jsonb->''status''->>''name'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_status_name_idx_gin', 'CREATE INDEX IF NOT EXISTS item_status_name_idx_gin ON test_tenant_mod_inventory_storage.item USING GIN ((lower(f_unaccent(jsonb->''status''->>''name''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('loan_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS loan_type_name_idx_unique ON test_tenant_mod_inventory_storage.loan_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('location_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS location_code_idx_unique ON test_tenant_mod_inventory_storage.location (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('location_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS location_name_idx_unique ON test_tenant_mod_inventory_storage.location (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('loccampus_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS loccampus_name_idx_unique ON test_tenant_mod_inventory_storage.loccampus (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('locinstitution_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS locinstitution_name_idx_unique ON test_tenant_mod_inventory_storage.locinstitution (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('loclibrary_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS loclibrary_name_idx_unique ON test_tenant_mod_inventory_storage.loclibrary (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('material_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS material_type_name_idx_unique ON test_tenant_mod_inventory_storage.material_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('mode_of_issuance_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS mode_of_issuance_name_idx_unique ON test_tenant_mod_inventory_storage.mode_of_issuance (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('nature_of_content_term_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS nature_of_content_term_name_idx_unique ON test_tenant_mod_inventory_storage.nature_of_content_term (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('service_point_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_code_idx_unique ON test_tenant_mod_inventory_storage.service_point (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('service_point_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_name_idx_unique ON test_tenant_mod_inventory_storage.service_point (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('service_point_user_userId_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_user_userId_idx_unique ON test_tenant_mod_inventory_storage.service_point_user (lower(f_unaccent(jsonb->>''userId'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('statistical_code_code_statisticalCodeTypeId_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_code_statisticalCodeTypeId_idx_unique ON test_tenant_mod_inventory_storage.statistical_code (lower(f_unaccent(jsonb->>''code'')) , lower(f_unaccent(jsonb->>''statisticalCodeTypeId'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('statistical_code_type_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_type_code_idx_unique ON test_tenant_mod_inventory_storage.statistical_code_type (lower(f_unaccent(jsonb->>''code'')))', false); WHEN '19.0.0', 'mod-inventory-storage-19.0.0', '19.1.0', 'mod-inventory-storage-19.1.0' THEN INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('alternative_title_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS alternative_title_type_name_idx_unique ON test_tenant_mod_inventory_storage.alternative_title_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('call_number_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS call_number_type_name_idx_unique ON test_tenant_mod_inventory_storage.call_number_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('classification_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS classification_type_name_idx_unique ON test_tenant_mod_inventory_storage.classification_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('contributor_name_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_name_type_name_idx_unique ON test_tenant_mod_inventory_storage.contributor_name_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('contributor_type_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_type_code_idx_unique ON test_tenant_mod_inventory_storage.contributor_type (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('contributor_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_type_name_idx_unique ON test_tenant_mod_inventory_storage.contributor_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('electronic_access_relationship_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS electronic_access_relationship_name_idx_unique ON test_tenant_mod_inventory_storage.electronic_access_relationship (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('holdings_note_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_note_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('holdings_record_callNumber_idx', 'CREATE INDEX IF NOT EXISTS holdings_record_callNumber_idx ON test_tenant_mod_inventory_storage.holdings_record (left(lower(jsonb->>''callNumber''),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('holdings_record_hrid_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_record_hrid_idx_unique ON test_tenant_mod_inventory_storage.holdings_record (lower(f_unaccent(jsonb->>''hrid'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('holdings_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_type_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('identifier_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS identifier_type_name_idx_unique ON test_tenant_mod_inventory_storage.identifier_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('ill_policy_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS ill_policy_name_idx_unique ON test_tenant_mod_inventory_storage.ill_policy (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_classifications_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_classifications_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''classifications''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_contributors_idx', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''contributors'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_contributors_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''contributors'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_contributors_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''contributors''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_format_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_format_code_idx_unique ON test_tenant_mod_inventory_storage.instance_format (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_format_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_format_name_idx_unique ON test_tenant_mod_inventory_storage.instance_format (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_hrid_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_hrid_idx_unique ON test_tenant_mod_inventory_storage.instance (lower(f_unaccent(jsonb->>''hrid'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_identifiers_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_identifiers_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''identifiers'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_identifiers_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_identifiers_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''identifiers''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_indexTitle_idx', 'CREATE INDEX IF NOT EXISTS instance_indexTitle_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''indexTitle'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_indexTitle_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_indexTitle_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''indexTitle''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_languages_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_languages_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''languages'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_note_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_note_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_publication_idx', 'CREATE INDEX IF NOT EXISTS instance_publication_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''publication'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_relationship_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_relationship_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_relationship_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_source_idx', 'CREATE INDEX IF NOT EXISTS instance_source_idx ON test_tenant_mod_inventory_storage.instance (left(lower(jsonb->>''source''),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_statisticalCodeIds_idx', 'CREATE INDEX IF NOT EXISTS instance_statisticalCodeIds_idx ON test_tenant_mod_inventory_storage.instance (left(lower(jsonb->>''statisticalCodeIds''),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_status_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_status_code_idx_unique ON test_tenant_mod_inventory_storage.instance_status (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_status_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_status_name_idx_unique ON test_tenant_mod_inventory_storage.instance_status (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_subjects_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_subjects_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''subjects''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_title_idx', 'CREATE INDEX IF NOT EXISTS instance_title_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''title'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_title_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_title_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''title'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_title_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_title_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''title''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_type_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_type_code_idx_unique ON test_tenant_mod_inventory_storage.instance_type (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_accessionNumber_idx', 'CREATE INDEX IF NOT EXISTS item_accessionNumber_idx ON test_tenant_mod_inventory_storage.item (left(lower(jsonb->>''accessionNumber''),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_barcode_idx', 'CREATE INDEX IF NOT EXISTS item_barcode_idx ON test_tenant_mod_inventory_storage.item (left(lower(f_unaccent(jsonb->>''barcode'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_barcode_idx_ft', 'CREATE INDEX IF NOT EXISTS item_barcode_idx_ft ON test_tenant_mod_inventory_storage.item USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''barcode'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_barcode_idx_gin', 'CREATE INDEX IF NOT EXISTS item_barcode_idx_gin ON test_tenant_mod_inventory_storage.item USING GIN ((lower(f_unaccent(jsonb->>''barcode''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_damaged_status_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS item_damaged_status_name_idx_unique ON test_tenant_mod_inventory_storage.item_damaged_status (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_hrid_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS item_hrid_idx_unique ON test_tenant_mod_inventory_storage.item (lower(f_unaccent(jsonb->>''hrid'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_note_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS item_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.item_note_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_status_name_idx', 'CREATE INDEX IF NOT EXISTS item_status_name_idx ON test_tenant_mod_inventory_storage.item (left(lower(f_unaccent(jsonb->''status''->>''name'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_status_name_idx_gin', 'CREATE INDEX IF NOT EXISTS item_status_name_idx_gin ON test_tenant_mod_inventory_storage.item USING GIN ((lower(f_unaccent(jsonb->''status''->>''name''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('loan_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS loan_type_name_idx_unique ON test_tenant_mod_inventory_storage.loan_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('location_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS location_code_idx_unique ON test_tenant_mod_inventory_storage.location (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('location_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS location_name_idx_unique ON test_tenant_mod_inventory_storage.location (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('loccampus_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS loccampus_name_idx_unique ON test_tenant_mod_inventory_storage.loccampus (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('locinstitution_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS locinstitution_name_idx_unique ON test_tenant_mod_inventory_storage.locinstitution (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('loclibrary_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS loclibrary_name_idx_unique ON test_tenant_mod_inventory_storage.loclibrary (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('material_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS material_type_name_idx_unique ON test_tenant_mod_inventory_storage.material_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('mode_of_issuance_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS mode_of_issuance_name_idx_unique ON test_tenant_mod_inventory_storage.mode_of_issuance (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('nature_of_content_term_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS nature_of_content_term_name_idx_unique ON test_tenant_mod_inventory_storage.nature_of_content_term (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('service_point_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_code_idx_unique ON test_tenant_mod_inventory_storage.service_point (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('service_point_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_name_idx_unique ON test_tenant_mod_inventory_storage.service_point (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('service_point_user_userId_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_user_userId_idx_unique ON test_tenant_mod_inventory_storage.service_point_user (lower(f_unaccent(jsonb->>''userId'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('statistical_code_code_statisticalCodeTypeId_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_code_statisticalCodeTypeId_idx_unique ON test_tenant_mod_inventory_storage.statistical_code (lower(f_unaccent(jsonb->>''code'')) , lower(f_unaccent(jsonb->>''statisticalCodeTypeId'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('statistical_code_type_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_type_code_idx_unique ON test_tenant_mod_inventory_storage.statistical_code_type (lower(f_unaccent(jsonb->>''code'')))', false); ELSE -- nothing to do, this results in rebuilding all indexes because we haven't investigated which indexes are exactly the same END CASE; END $$; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE n INT; BEGIN -- Only populate if table is empty SELECT count(*) INTO n FROM test_tenant_mod_inventory_storage.rmb_internal_index; IF n > 0 THEN RETURN; END IF; CASE '0.0' -- previous module version taken from the /_/tenant POST module_from variable WHEN '18.2.3', 'mod-inventory-storage-18.2.3', '18.2.2', 'mod-inventory-storage-18.2.2', '18.2.1', 'mod-inventory-storage-18.2.1' THEN -- Edelweiss versions 18.2.1 - 18.2.3; earlier versions don't have left(..., 600) index truncation INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('alternative_title_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS alternative_title_type_name_idx_unique ON test_tenant_mod_inventory_storage.alternative_title_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('call_number_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS call_number_type_name_idx_unique ON test_tenant_mod_inventory_storage.call_number_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('classification_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS classification_type_name_idx_unique ON test_tenant_mod_inventory_storage.classification_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('contributor_name_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_name_type_name_idx_unique ON test_tenant_mod_inventory_storage.contributor_name_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('contributor_type_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_type_code_idx_unique ON test_tenant_mod_inventory_storage.contributor_type (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('contributor_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_type_name_idx_unique ON test_tenant_mod_inventory_storage.contributor_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('electronic_access_relationship_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS electronic_access_relationship_name_idx_unique ON test_tenant_mod_inventory_storage.electronic_access_relationship (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('holdings_note_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_note_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('holdings_record_hrid_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_record_hrid_idx_unique ON test_tenant_mod_inventory_storage.holdings_record (lower(f_unaccent(jsonb->>''hrid'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('holdings_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_type_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('identifier_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS identifier_type_name_idx_unique ON test_tenant_mod_inventory_storage.identifier_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('ill_policy_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS ill_policy_name_idx_unique ON test_tenant_mod_inventory_storage.ill_policy (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_classifications_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_classifications_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''classifications''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_contributors_idx', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''contributors'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_contributors_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''contributors'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_contributors_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''contributors''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_format_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_format_code_idx_unique ON test_tenant_mod_inventory_storage.instance_format (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_format_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_format_name_idx_unique ON test_tenant_mod_inventory_storage.instance_format (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_hrid_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_hrid_idx_unique ON test_tenant_mod_inventory_storage.instance (lower(f_unaccent(jsonb->>''hrid'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_identifiers_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_identifiers_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''identifiers'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_identifiers_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_identifiers_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''identifiers''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_indexTitle_idx', 'CREATE INDEX IF NOT EXISTS instance_indexTitle_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''indexTitle'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_indexTitle_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_indexTitle_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''indexTitle''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_keyword_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_keyword_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(concat_space_sql(instance.jsonb->>''title'' , concat_array_object_values(instance.jsonb->''contributors'',''name'') , concat_array_object_values(instance.jsonb->''identifiers'',''value'')))) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_languages_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_languages_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''languages'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_note_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_note_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_publication_idx', 'CREATE INDEX IF NOT EXISTS instance_publication_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''publication'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_relationship_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_relationship_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_relationship_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_source_idx', 'CREATE INDEX IF NOT EXISTS instance_source_idx ON test_tenant_mod_inventory_storage.instance (left(lower(jsonb->>''source''),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_statisticalCodeIds_idx', 'CREATE INDEX IF NOT EXISTS instance_statisticalCodeIds_idx ON test_tenant_mod_inventory_storage.instance (left(lower(jsonb->>''statisticalCodeIds''),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_status_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_status_code_idx_unique ON test_tenant_mod_inventory_storage.instance_status (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_status_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_status_name_idx_unique ON test_tenant_mod_inventory_storage.instance_status (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_subjects_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_subjects_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''subjects''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_title_idx', 'CREATE INDEX IF NOT EXISTS instance_title_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''title'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_title_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_title_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''title'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_title_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_title_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''title''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_type_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_type_code_idx_unique ON test_tenant_mod_inventory_storage.instance_type (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_barcode_idx', 'CREATE INDEX IF NOT EXISTS item_barcode_idx ON test_tenant_mod_inventory_storage.item (left(lower(f_unaccent(jsonb->>''barcode'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_barcode_idx_ft', 'CREATE INDEX IF NOT EXISTS item_barcode_idx_ft ON test_tenant_mod_inventory_storage.item USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''barcode'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_barcode_idx_gin', 'CREATE INDEX IF NOT EXISTS item_barcode_idx_gin ON test_tenant_mod_inventory_storage.item USING GIN ((lower(f_unaccent(jsonb->>''barcode''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_damaged_status_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS item_damaged_status_name_idx_unique ON test_tenant_mod_inventory_storage.item_damaged_status (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_hrid_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS item_hrid_idx_unique ON test_tenant_mod_inventory_storage.item (lower(f_unaccent(jsonb->>''hrid'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_note_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS item_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.item_note_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_status_name_idx', 'CREATE INDEX IF NOT EXISTS item_status_name_idx ON test_tenant_mod_inventory_storage.item (left(lower(f_unaccent(jsonb->''status''->>''name'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_status_name_idx_gin', 'CREATE INDEX IF NOT EXISTS item_status_name_idx_gin ON test_tenant_mod_inventory_storage.item USING GIN ((lower(f_unaccent(jsonb->''status''->>''name''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('loan_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS loan_type_name_idx_unique ON test_tenant_mod_inventory_storage.loan_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('location_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS location_code_idx_unique ON test_tenant_mod_inventory_storage.location (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('location_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS location_name_idx_unique ON test_tenant_mod_inventory_storage.location (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('loccampus_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS loccampus_name_idx_unique ON test_tenant_mod_inventory_storage.loccampus (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('locinstitution_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS locinstitution_name_idx_unique ON test_tenant_mod_inventory_storage.locinstitution (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('loclibrary_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS loclibrary_name_idx_unique ON test_tenant_mod_inventory_storage.loclibrary (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('material_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS material_type_name_idx_unique ON test_tenant_mod_inventory_storage.material_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('mode_of_issuance_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS mode_of_issuance_name_idx_unique ON test_tenant_mod_inventory_storage.mode_of_issuance (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('nature_of_content_term_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS nature_of_content_term_name_idx_unique ON test_tenant_mod_inventory_storage.nature_of_content_term (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('service_point_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_code_idx_unique ON test_tenant_mod_inventory_storage.service_point (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('service_point_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_name_idx_unique ON test_tenant_mod_inventory_storage.service_point (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('service_point_user_userId_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_user_userId_idx_unique ON test_tenant_mod_inventory_storage.service_point_user (lower(f_unaccent(jsonb->>''userId'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('statistical_code_code_statisticalCodeTypeId_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_code_statisticalCodeTypeId_idx_unique ON test_tenant_mod_inventory_storage.statistical_code (lower(f_unaccent(jsonb->>''code'')) , lower(f_unaccent(jsonb->>''statisticalCodeTypeId'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('statistical_code_type_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_type_code_idx_unique ON test_tenant_mod_inventory_storage.statistical_code_type (lower(f_unaccent(jsonb->>''code'')))', false); WHEN '19.0.0', 'mod-inventory-storage-19.0.0', '19.1.0', 'mod-inventory-storage-19.1.0' THEN INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('alternative_title_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS alternative_title_type_name_idx_unique ON test_tenant_mod_inventory_storage.alternative_title_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('call_number_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS call_number_type_name_idx_unique ON test_tenant_mod_inventory_storage.call_number_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('classification_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS classification_type_name_idx_unique ON test_tenant_mod_inventory_storage.classification_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('contributor_name_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_name_type_name_idx_unique ON test_tenant_mod_inventory_storage.contributor_name_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('contributor_type_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_type_code_idx_unique ON test_tenant_mod_inventory_storage.contributor_type (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('contributor_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_type_name_idx_unique ON test_tenant_mod_inventory_storage.contributor_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('electronic_access_relationship_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS electronic_access_relationship_name_idx_unique ON test_tenant_mod_inventory_storage.electronic_access_relationship (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('holdings_note_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_note_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('holdings_record_callNumber_idx', 'CREATE INDEX IF NOT EXISTS holdings_record_callNumber_idx ON test_tenant_mod_inventory_storage.holdings_record (left(lower(jsonb->>''callNumber''),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('holdings_record_hrid_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_record_hrid_idx_unique ON test_tenant_mod_inventory_storage.holdings_record (lower(f_unaccent(jsonb->>''hrid'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('holdings_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_type_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('identifier_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS identifier_type_name_idx_unique ON test_tenant_mod_inventory_storage.identifier_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('ill_policy_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS ill_policy_name_idx_unique ON test_tenant_mod_inventory_storage.ill_policy (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_classifications_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_classifications_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''classifications''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_contributors_idx', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''contributors'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_contributors_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''contributors'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_contributors_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''contributors''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_format_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_format_code_idx_unique ON test_tenant_mod_inventory_storage.instance_format (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_format_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_format_name_idx_unique ON test_tenant_mod_inventory_storage.instance_format (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_hrid_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_hrid_idx_unique ON test_tenant_mod_inventory_storage.instance (lower(f_unaccent(jsonb->>''hrid'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_identifiers_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_identifiers_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''identifiers'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_identifiers_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_identifiers_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''identifiers''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_indexTitle_idx', 'CREATE INDEX IF NOT EXISTS instance_indexTitle_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''indexTitle'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_indexTitle_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_indexTitle_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''indexTitle''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_languages_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_languages_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''languages'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_note_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_note_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_publication_idx', 'CREATE INDEX IF NOT EXISTS instance_publication_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''publication'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_relationship_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_relationship_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_relationship_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_source_idx', 'CREATE INDEX IF NOT EXISTS instance_source_idx ON test_tenant_mod_inventory_storage.instance (left(lower(jsonb->>''source''),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_statisticalCodeIds_idx', 'CREATE INDEX IF NOT EXISTS instance_statisticalCodeIds_idx ON test_tenant_mod_inventory_storage.instance (left(lower(jsonb->>''statisticalCodeIds''),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_status_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_status_code_idx_unique ON test_tenant_mod_inventory_storage.instance_status (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_status_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_status_name_idx_unique ON test_tenant_mod_inventory_storage.instance_status (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_subjects_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_subjects_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''subjects''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_title_idx', 'CREATE INDEX IF NOT EXISTS instance_title_idx ON test_tenant_mod_inventory_storage.instance (left(lower(f_unaccent(jsonb->>''title'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_title_idx_ft', 'CREATE INDEX IF NOT EXISTS instance_title_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''title'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_title_idx_gin', 'CREATE INDEX IF NOT EXISTS instance_title_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ((lower(f_unaccent(jsonb->>''title''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_type_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_type_code_idx_unique ON test_tenant_mod_inventory_storage.instance_type (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('instance_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_accessionNumber_idx', 'CREATE INDEX IF NOT EXISTS item_accessionNumber_idx ON test_tenant_mod_inventory_storage.item (left(lower(jsonb->>''accessionNumber''),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_barcode_idx', 'CREATE INDEX IF NOT EXISTS item_barcode_idx ON test_tenant_mod_inventory_storage.item (left(lower(f_unaccent(jsonb->>''barcode'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_barcode_idx_ft', 'CREATE INDEX IF NOT EXISTS item_barcode_idx_ft ON test_tenant_mod_inventory_storage.item USING GIN ( to_tsvector(''simple'', f_unaccent(jsonb->>''barcode'')) )', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_barcode_idx_gin', 'CREATE INDEX IF NOT EXISTS item_barcode_idx_gin ON test_tenant_mod_inventory_storage.item USING GIN ((lower(f_unaccent(jsonb->>''barcode''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_damaged_status_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS item_damaged_status_name_idx_unique ON test_tenant_mod_inventory_storage.item_damaged_status (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_hrid_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS item_hrid_idx_unique ON test_tenant_mod_inventory_storage.item (lower(f_unaccent(jsonb->>''hrid'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_note_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS item_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.item_note_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_status_name_idx', 'CREATE INDEX IF NOT EXISTS item_status_name_idx ON test_tenant_mod_inventory_storage.item (left(lower(f_unaccent(jsonb->''status''->>''name'')),600))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('item_status_name_idx_gin', 'CREATE INDEX IF NOT EXISTS item_status_name_idx_gin ON test_tenant_mod_inventory_storage.item USING GIN ((lower(f_unaccent(jsonb->''status''->>''name''))) gin_trgm_ops)', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('loan_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS loan_type_name_idx_unique ON test_tenant_mod_inventory_storage.loan_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('location_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS location_code_idx_unique ON test_tenant_mod_inventory_storage.location (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('location_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS location_name_idx_unique ON test_tenant_mod_inventory_storage.location (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('loccampus_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS loccampus_name_idx_unique ON test_tenant_mod_inventory_storage.loccampus (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('locinstitution_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS locinstitution_name_idx_unique ON test_tenant_mod_inventory_storage.locinstitution (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('loclibrary_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS loclibrary_name_idx_unique ON test_tenant_mod_inventory_storage.loclibrary (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('material_type_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS material_type_name_idx_unique ON test_tenant_mod_inventory_storage.material_type (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('mode_of_issuance_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS mode_of_issuance_name_idx_unique ON test_tenant_mod_inventory_storage.mode_of_issuance (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('nature_of_content_term_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS nature_of_content_term_name_idx_unique ON test_tenant_mod_inventory_storage.nature_of_content_term (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('service_point_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_code_idx_unique ON test_tenant_mod_inventory_storage.service_point (lower(f_unaccent(jsonb->>''code'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('service_point_name_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_name_idx_unique ON test_tenant_mod_inventory_storage.service_point (lower(f_unaccent(jsonb->>''name'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('service_point_user_userId_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_user_userId_idx_unique ON test_tenant_mod_inventory_storage.service_point_user (lower(f_unaccent(jsonb->>''userId'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('statistical_code_code_statisticalCodeTypeId_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_code_statisticalCodeTypeId_idx_unique ON test_tenant_mod_inventory_storage.statistical_code (lower(f_unaccent(jsonb->>''code'')) , lower(f_unaccent(jsonb->>''statisticalCodeTypeId'')))', false); INSERT INTO test_tenant_mod_inventory_storage.rmb_internal_index VALUES ('statistical_code_type_code_idx_unique', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_type_code_idx_unique ON test_tenant_mod_inventory_storage.statistical_code_type (lower(f_unaccent(jsonb->>''code'')))', false); ELSE -- nothing to do, this results in rebuilding all indexes because we haven't investigated which indexes are exactly the same END CASE; END $$; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_isbns(jsonb_array jsonb) RETURNS text AS $$ SELECT string_agg(test_tenant_mod_inventory_storage.normalize_digits(identifier->>'value'), ' ') FROM jsonb_array_elements($1) as identifier WHERE identifier->>'identifierTypeId' = '8261054f-be78-422d-bd51-4ed9f33c3422'; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_isbns(jsonb_array jsonb) RETURNS text AS $$ SELECT string_agg(test_tenant_mod_inventory_storage.normalize_digits(identifier->>'value'), ' ') FROM jsonb_array_elements($1) as identifier WHERE identifier->>'identifierTypeId' = '8261054f-be78-422d-bd51-4ed9f33c3422'; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_invalid_isbns(jsonb_array jsonb) RETURNS text AS $$ SELECT string_agg(test_tenant_mod_inventory_storage.normalize_digits(identifier->>'value'), ' ') FROM jsonb_array_elements($1) as identifier WHERE identifier->>'identifierTypeId' = 'fcca2643-406a-482a-b760-7a7f8aec640e'; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_invalid_isbns(jsonb_array jsonb) RETURNS text AS $$ SELECT string_agg(test_tenant_mod_inventory_storage.normalize_digits(identifier->>'value'), ' ') FROM jsonb_array_elements($1) as identifier WHERE identifier->>'identifierTypeId' = 'fcca2643-406a-482a-b760-7a7f8aec640e'; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_call_number_string(callNumberString text) RETURNS text AS $$ SELECT regexp_replace(lower(callNumberString), '[^a-z0-9]', '', 'g'); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_call_number_string(callNumberString text) RETURNS text AS $$ SELECT regexp_replace(lower(callNumberString), '[^a-z0-9]', '', 'g'); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_holdings_full_call_number(holdingsRecord jsonb) RETURNS text AS $$ SELECT test_tenant_mod_inventory_storage.normalize_call_number_string( concat_ws('', holdingsRecord->>'callNumberPrefix', holdingsRecord->>'callNumber', holdingsRecord->>'callNumberSuffix' )); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_holdings_full_call_number(holdingsRecord jsonb) RETURNS text AS $$ SELECT test_tenant_mod_inventory_storage.normalize_call_number_string( concat_ws('', holdingsRecord->>'callNumberPrefix', holdingsRecord->>'callNumber', holdingsRecord->>'callNumberSuffix' )); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_holdings_call_number_and_suffix(holdingsRecord jsonb) RETURNS text AS $$ SELECT test_tenant_mod_inventory_storage.normalize_call_number_string( concat_ws('', holdingsRecord->>'callNumber', holdingsRecord->>'callNumberSuffix' )); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_holdings_call_number_and_suffix(holdingsRecord jsonb) RETURNS text AS $$ SELECT test_tenant_mod_inventory_storage.normalize_call_number_string( concat_ws('', holdingsRecord->>'callNumber', holdingsRecord->>'callNumberSuffix' )); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_item_full_call_number(item jsonb) RETURNS text AS $$ SELECT test_tenant_mod_inventory_storage.normalize_call_number_string( concat_ws('', item->'effectiveCallNumberComponents'->>'prefix', item->'effectiveCallNumberComponents'->>'callNumber', item->'effectiveCallNumberComponents'->>'suffix' )); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_item_full_call_number(item jsonb) RETURNS text AS $$ SELECT test_tenant_mod_inventory_storage.normalize_call_number_string( concat_ws('', item->'effectiveCallNumberComponents'->>'prefix', item->'effectiveCallNumberComponents'->>'callNumber', item->'effectiveCallNumberComponents'->>'suffix' )); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_item_call_number_and_suffix(item jsonb) RETURNS text AS $$ SELECT test_tenant_mod_inventory_storage.normalize_call_number_string( concat_ws('', item->'effectiveCallNumberComponents'->>'callNumber', item->'effectiveCallNumberComponents'->>'suffix' )); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.normalize_item_call_number_and_suffix(item jsonb) RETURNS text AS $$ SELECT test_tenant_mod_inventory_storage.normalize_call_number_string( concat_ws('', item->'effectiveCallNumberComponents'->>'callNumber', item->'effectiveCallNumberComponents'->>'suffix' )); $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN -- use advisory lock to prevent "tuple concurrently updated" -- https://issues.folio.org/browse/RMB-744 PERFORM pg_advisory_xact_lock(20201101, 1234567890); REVOKE ALL PRIVILEGES ON SCHEMA public FROM test_tenant_mod_inventory_storage; REVOKE CREATE ON SCHEMA public FROM PUBLIC; END $$; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN -- use advisory lock to prevent "tuple concurrently updated" -- https://issues.folio.org/browse/RMB-744 PERFORM pg_advisory_xact_lock(20201101, 1234567890); REVOKE ALL PRIVILEGES ON SCHEMA public FROM test_tenant_mod_inventory_storage; REVOKE CREATE ON SCHEMA public FROM PUBLIC; END $$; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.authority ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.authority ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_authority ON test_tenant_mod_inventory_storage.authority CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_authority" for relation "test_tenant_mod_inventory_storage.authority" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_authority ON test_tenant_mod_inventory_storage.authority CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.authority CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.authority" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.authority CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.authority FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.authority FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.authority ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.authority ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_authority_references ON test_tenant_mod_inventory_storage.authority CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_authority_references" for relation "test_tenant_mod_inventory_storage.authority" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_authority_references ON test_tenant_mod_inventory_storage.authority CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_authority_references(); 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_authority_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_authority_references(); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.authority_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.authority_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_authority_md_trigger ON test_tenant_mod_inventory_storage.authority CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_authority_md_trigger" for relation "test_tenant_mod_inventory_storage.authority" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_authority_md_trigger ON test_tenant_mod_inventory_storage.authority CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_authority_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.authority FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.authority_set_md(); 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_authority_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.authority FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.authority_set_md(); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_authority_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_authority_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_authority_md_json_trigger ON test_tenant_mod_inventory_storage.authority CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_authority_md_json_trigger" for relation "test_tenant_mod_inventory_storage.authority" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_authority_md_json_trigger ON test_tenant_mod_inventory_storage.authority CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_authority_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.authority FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_authority_md_json(); 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_authority_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.authority FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_authority_md_json(); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.authority_set_ol_version() RETURNS trigger AS $$ BEGIN CASE TG_OP WHEN 'INSERT' THEN NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(1)); WHEN 'UPDATE' THEN IF NEW.jsonb->'_version' IS DISTINCT FROM OLD.jsonb->'_version' THEN RAISE NOTICE 'Ignoring optimistic locking conflict while overwriting changed record %: ' 'Stored _version is %, _version of request is %', OLD.id, OLD.jsonb->'_version', NEW.jsonb->'_version' USING ERRCODE = '23F09', TABLE = 'authority', SCHEMA = 'test_tenant_mod_inventory_storage'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(COALESCE((OLD.jsonb->>'_version')::numeric + 1, 1))); END CASE; RETURN NEW; END; $$ LANGUAGE plpgsql; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.authority_set_ol_version() RETURNS trigger AS $$ BEGIN CASE TG_OP WHEN 'INSERT' THEN NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(1)); WHEN 'UPDATE' THEN IF NEW.jsonb->'_version' IS DISTINCT FROM OLD.jsonb->'_version' THEN RAISE NOTICE 'Ignoring optimistic locking conflict while overwriting changed record %: ' 'Stored _version is %, _version of request is %', OLD.id, OLD.jsonb->'_version', NEW.jsonb->'_version' USING ERRCODE = '23F09', TABLE = 'authority', SCHEMA = 'test_tenant_mod_inventory_storage'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(COALESCE((OLD.jsonb->>'_version')::numeric + 1, 1))); END CASE; RETURN NEW; END; $$ LANGUAGE plpgsql; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_authority_ol_version_trigger ON test_tenant_mod_inventory_storage.authority CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_authority_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.authority" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_authority_ol_version_trigger ON test_tenant_mod_inventory_storage.authority CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_authority_ol_version_trigger BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.authority FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.authority_set_ol_version(); 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_authority_ol_version_trigger BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.authority FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.authority_set_ol_version(); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.loan_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.loan_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_loan_type ON test_tenant_mod_inventory_storage.loan_type CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_loan_type" for relation "test_tenant_mod_inventory_storage.loan_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_loan_type ON test_tenant_mod_inventory_storage.loan_type CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.loan_type CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.loan_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.loan_type CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.loan_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.loan_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.loan_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.loan_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'loan_type', 'loan_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS loan_type_name_idx_unique ON test_tenant_mod_inventory_storage.loan_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "loan_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS loan_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'loan_type', 'loan_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS loan_type_name_idx_unique ON test_tenant_mod_inventory_storage.loan_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'loan_type', 'loan_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS loan_type_name_idx_unique ON test_tenant_mod_inventory_storage.loan_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_loan_type_references ON test_tenant_mod_inventory_storage.loan_type CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_loan_type_references" for relation "test_tenant_mod_inventory_storage.loan_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_loan_type_references ON test_tenant_mod_inventory_storage.loan_type CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_loan_type_references(); 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_loan_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_loan_type_references(); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.loan_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.loan_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_loan_type_md_trigger ON test_tenant_mod_inventory_storage.loan_type CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_loan_type_md_trigger" for relation "test_tenant_mod_inventory_storage.loan_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_loan_type_md_trigger ON test_tenant_mod_inventory_storage.loan_type CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_loan_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.loan_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.loan_type_set_md(); 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_loan_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.loan_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.loan_type_set_md(); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_loan_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_loan_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_loan_type_md_json_trigger ON test_tenant_mod_inventory_storage.loan_type CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_loan_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.loan_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_loan_type_md_json_trigger ON test_tenant_mod_inventory_storage.loan_type CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_loan_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.loan_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_loan_type_md_json(); 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_loan_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.loan_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_loan_type_md_json(); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_loan_type_ol_version_trigger ON test_tenant_mod_inventory_storage.loan_type CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_loan_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.loan_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_loan_type_ol_version_trigger ON test_tenant_mod_inventory_storage.loan_type CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.loan_type_set_ol_version() CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.loan_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.loan_type_set_ol_version() CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.material_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.material_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_material_type ON test_tenant_mod_inventory_storage.material_type CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_material_type" for relation "test_tenant_mod_inventory_storage.material_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_material_type ON test_tenant_mod_inventory_storage.material_type CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.material_type CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.material_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.material_type CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.material_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.material_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.material_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.material_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'material_type', 'material_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS material_type_name_idx_unique ON test_tenant_mod_inventory_storage.material_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "material_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS material_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'material_type', 'material_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS material_type_name_idx_unique ON test_tenant_mod_inventory_storage.material_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'material_type', 'material_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS material_type_name_idx_unique ON test_tenant_mod_inventory_storage.material_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_material_type_references ON test_tenant_mod_inventory_storage.material_type CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_material_type_references" for relation "test_tenant_mod_inventory_storage.material_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_material_type_references ON test_tenant_mod_inventory_storage.material_type CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_material_type_references(); 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_material_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_material_type_references(); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.material_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.material_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_material_type_md_trigger ON test_tenant_mod_inventory_storage.material_type CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_material_type_md_trigger" for relation "test_tenant_mod_inventory_storage.material_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_material_type_md_trigger ON test_tenant_mod_inventory_storage.material_type CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_material_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.material_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.material_type_set_md(); 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_material_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.material_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.material_type_set_md(); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_material_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_material_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_material_type_md_json_trigger ON test_tenant_mod_inventory_storage.material_type CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_material_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.material_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_material_type_md_json_trigger ON test_tenant_mod_inventory_storage.material_type CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_material_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.material_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_material_type_md_json(); 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_material_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.material_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_material_type_md_json(); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_material_type_ol_version_trigger ON test_tenant_mod_inventory_storage.material_type CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_material_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.material_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_material_type_ol_version_trigger ON test_tenant_mod_inventory_storage.material_type CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.material_type_set_ol_version() CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.material_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.material_type_set_ol_version() CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.locinstitution ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.locinstitution ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_locinstitution ON test_tenant_mod_inventory_storage.locinstitution CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_locinstitution" for relation "test_tenant_mod_inventory_storage.locinstitution" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_locinstitution ON test_tenant_mod_inventory_storage.locinstitution CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.locinstitution CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.locinstitution" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.locinstitution CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.locinstitution FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.locinstitution FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.locinstitution ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.locinstitution ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'locinstitution', 'locinstitution_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS locinstitution_name_idx_unique ON test_tenant_mod_inventory_storage.locinstitution ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "locinstitution_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS locinstitution_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'locinstitution', 'locinstitution_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS locinstitution_name_idx_unique ON test_tenant_mod_inventory_storage.locinstitution ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'locinstitution', 'locinstitution_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS locinstitution_name_idx_unique ON test_tenant_mod_inventory_storage.locinstitution ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_locinstitution_references ON test_tenant_mod_inventory_storage.locinstitution CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_locinstitution_references" for relation "test_tenant_mod_inventory_storage.locinstitution" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_locinstitution_references ON test_tenant_mod_inventory_storage.locinstitution CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_locinstitution_references(); 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_locinstitution_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_locinstitution_references(); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.locinstitution_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.locinstitution_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_locinstitution_md_trigger ON test_tenant_mod_inventory_storage.locinstitution CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_locinstitution_md_trigger" for relation "test_tenant_mod_inventory_storage.locinstitution" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_locinstitution_md_trigger ON test_tenant_mod_inventory_storage.locinstitution CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_locinstitution_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.locinstitution FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.locinstitution_set_md(); 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_locinstitution_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.locinstitution FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.locinstitution_set_md(); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_locinstitution_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_locinstitution_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_locinstitution_md_json_trigger ON test_tenant_mod_inventory_storage.locinstitution CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_locinstitution_md_json_trigger" for relation "test_tenant_mod_inventory_storage.locinstitution" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_locinstitution_md_json_trigger ON test_tenant_mod_inventory_storage.locinstitution CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_locinstitution_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.locinstitution FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_locinstitution_md_json(); 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_locinstitution_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.locinstitution FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_locinstitution_md_json(); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_locinstitution_ol_version_trigger ON test_tenant_mod_inventory_storage.locinstitution CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_locinstitution_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.locinstitution" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_locinstitution_ol_version_trigger ON test_tenant_mod_inventory_storage.locinstitution CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.locinstitution_set_ol_version() CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.locinstitution_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.locinstitution_set_ol_version() CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.loccampus ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.loccampus ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_loccampus ON test_tenant_mod_inventory_storage.loccampus CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_loccampus" for relation "test_tenant_mod_inventory_storage.loccampus" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_loccampus ON test_tenant_mod_inventory_storage.loccampus CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.loccampus CASCADE; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.loccampus" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.loccampus CASCADE; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.loccampus FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.loccampus FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.loccampus ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.loccampus ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'loccampus', 'loccampus_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS loccampus_name_idx_unique ON test_tenant_mod_inventory_storage.loccampus ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:40 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "loccampus_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS loccampus_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'loccampus', 'loccampus_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS loccampus_name_idx_unique ON test_tenant_mod_inventory_storage.loccampus ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'loccampus', 'loccampus_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS loccampus_name_idx_unique ON test_tenant_mod_inventory_storage.loccampus ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.loccampus ADD COLUMN IF NOT EXISTS institutionId UUID; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.loccampus ADD COLUMN IF NOT EXISTS institutionId UUID; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE loccampus ADD CONSTRAINT institutionId_locinstitution_fkey FOREIGN KEY (institutionId) REFERENCES locinstitution; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:40 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE loccampus ADD CONSTRAINT institutionId_locinstitution_fkey FOREIGN KEY (institutionId) REFERENCES locinstitution; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:40 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS loccampus_institutionId_idx ON test_tenant_mod_inventory_storage.loccampus (institutionId); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS loccampus_institutionId_idx ON test_tenant_mod_inventory_storage.loccampus (institutionId); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('loccampus'); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('loccampus'); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_loccampus_references() RETURNS TRIGGER AS $$ BEGIN NEW.institutionId = (NEW.jsonb->>'institutionId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_loccampus_references() RETURNS TRIGGER AS $$ BEGIN NEW.institutionId = (NEW.jsonb->>'institutionId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_loccampus_references ON test_tenant_mod_inventory_storage.loccampus CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_loccampus_references" for relation "test_tenant_mod_inventory_storage.loccampus" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_loccampus_references ON test_tenant_mod_inventory_storage.loccampus CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER update_loccampus_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.loccampus FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_loccampus_references(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER update_loccampus_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.loccampus FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_loccampus_references(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE loccampus DROP CONSTRAINT IF EXISTS ' || 'institutionId_locinstitution_fkey' || i; END LOOP; END $$; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE loccampus DROP CONSTRAINT IF EXISTS ' || 'institutionId_locinstitution_fkey' || i; END LOOP; END $$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.loccampus_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.loccampus_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_loccampus_md_trigger ON test_tenant_mod_inventory_storage.loccampus CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_loccampus_md_trigger" for relation "test_tenant_mod_inventory_storage.loccampus" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_loccampus_md_trigger ON test_tenant_mod_inventory_storage.loccampus CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_loccampus_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.loccampus FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.loccampus_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_loccampus_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.loccampus FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.loccampus_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_loccampus_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_loccampus_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_loccampus_md_json_trigger ON test_tenant_mod_inventory_storage.loccampus CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_loccampus_md_json_trigger" for relation "test_tenant_mod_inventory_storage.loccampus" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_loccampus_md_json_trigger ON test_tenant_mod_inventory_storage.loccampus CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_loccampus_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.loccampus FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_loccampus_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_loccampus_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.loccampus FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_loccampus_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_loccampus_ol_version_trigger ON test_tenant_mod_inventory_storage.loccampus CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_loccampus_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.loccampus" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_loccampus_ol_version_trigger ON test_tenant_mod_inventory_storage.loccampus CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.loccampus_set_ol_version() CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.loccampus_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.loccampus_set_ol_version() CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.loclibrary ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.loclibrary ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_loclibrary ON test_tenant_mod_inventory_storage.loclibrary CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_loclibrary" for relation "test_tenant_mod_inventory_storage.loclibrary" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_loclibrary ON test_tenant_mod_inventory_storage.loclibrary CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.loclibrary CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.loclibrary" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.loclibrary CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.loclibrary FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.loclibrary FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.loclibrary ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.loclibrary ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'loclibrary', 'loclibrary_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS loclibrary_name_idx_unique ON test_tenant_mod_inventory_storage.loclibrary ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "loclibrary_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS loclibrary_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'loclibrary', 'loclibrary_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS loclibrary_name_idx_unique ON test_tenant_mod_inventory_storage.loclibrary ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'loclibrary', 'loclibrary_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS loclibrary_name_idx_unique ON test_tenant_mod_inventory_storage.loclibrary ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.loclibrary ADD COLUMN IF NOT EXISTS campusId UUID; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.loclibrary ADD COLUMN IF NOT EXISTS campusId UUID; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE loclibrary ADD CONSTRAINT campusId_loccampus_fkey FOREIGN KEY (campusId) REFERENCES loccampus; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE loclibrary ADD CONSTRAINT campusId_loccampus_fkey FOREIGN KEY (campusId) REFERENCES loccampus; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS loclibrary_campusId_idx ON test_tenant_mod_inventory_storage.loclibrary (campusId); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS loclibrary_campusId_idx ON test_tenant_mod_inventory_storage.loclibrary (campusId); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('loclibrary'); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('loclibrary'); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_loclibrary_references() RETURNS TRIGGER AS $$ BEGIN NEW.campusId = (NEW.jsonb->>'campusId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_loclibrary_references() RETURNS TRIGGER AS $$ BEGIN NEW.campusId = (NEW.jsonb->>'campusId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_loclibrary_references ON test_tenant_mod_inventory_storage.loclibrary CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_loclibrary_references" for relation "test_tenant_mod_inventory_storage.loclibrary" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_loclibrary_references ON test_tenant_mod_inventory_storage.loclibrary CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER update_loclibrary_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.loclibrary FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_loclibrary_references(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER update_loclibrary_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.loclibrary FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_loclibrary_references(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE loclibrary DROP CONSTRAINT IF EXISTS ' || 'campusId_loccampus_fkey' || i; END LOOP; END $$; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE loclibrary DROP CONSTRAINT IF EXISTS ' || 'campusId_loccampus_fkey' || i; END LOOP; END $$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.loclibrary_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.loclibrary_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_loclibrary_md_trigger ON test_tenant_mod_inventory_storage.loclibrary CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_loclibrary_md_trigger" for relation "test_tenant_mod_inventory_storage.loclibrary" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_loclibrary_md_trigger ON test_tenant_mod_inventory_storage.loclibrary CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_loclibrary_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.loclibrary FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.loclibrary_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_loclibrary_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.loclibrary FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.loclibrary_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_loclibrary_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_loclibrary_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_loclibrary_md_json_trigger ON test_tenant_mod_inventory_storage.loclibrary CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_loclibrary_md_json_trigger" for relation "test_tenant_mod_inventory_storage.loclibrary" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_loclibrary_md_json_trigger ON test_tenant_mod_inventory_storage.loclibrary CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_loclibrary_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.loclibrary FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_loclibrary_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_loclibrary_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.loclibrary FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_loclibrary_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_loclibrary_ol_version_trigger ON test_tenant_mod_inventory_storage.loclibrary CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_loclibrary_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.loclibrary" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_loclibrary_ol_version_trigger ON test_tenant_mod_inventory_storage.loclibrary CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.loclibrary_set_ol_version() CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.loclibrary_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.loclibrary_set_ol_version() CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.location ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.location ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_location ON test_tenant_mod_inventory_storage.location CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_location" for relation "test_tenant_mod_inventory_storage.location" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_location ON test_tenant_mod_inventory_storage.location CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.location CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.location" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.location CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.location FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.location FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.location ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.location ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'location', 'location_primaryServicePoint_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS location_primaryServicePoint_idx ON test_tenant_mod_inventory_storage.location ' || $rmb$(left(lower(jsonb->>'primaryServicePoint'),600))$rmb$ ); END $do$; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "location_primaryservicepoint_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS location_primaryServicePoint_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'location', 'location_primaryServicePoint_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS location_primaryServicePoint_idx ON test_tenant_mod_inventory_storage.location ' || $rmb$(left(lower(jsonb->>'primaryServicePoint'),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'location', 'location_primaryServicePoint_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS location_primaryServicePoint_idx ON test_tenant_mod_inventory_storage.location ' || $rmb$(left(lower(jsonb->>'primaryServicePoint'),600))$rmb$ ); END $do$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'location', 'location_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS location_name_idx_unique ON test_tenant_mod_inventory_storage.location ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "location_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS location_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'location', 'location_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS location_name_idx_unique ON test_tenant_mod_inventory_storage.location ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'location', 'location_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS location_name_idx_unique ON test_tenant_mod_inventory_storage.location ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'location', 'location_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS location_code_idx_unique ON test_tenant_mod_inventory_storage.location ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "location_code_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS location_code_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'location', 'location_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS location_code_idx_unique ON test_tenant_mod_inventory_storage.location ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'location', 'location_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS location_code_idx_unique ON test_tenant_mod_inventory_storage.location ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.location ADD COLUMN IF NOT EXISTS institutionId UUID; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.location ADD COLUMN IF NOT EXISTS institutionId UUID; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE location ADD CONSTRAINT institutionId_locinstitution_fkey FOREIGN KEY (institutionId) REFERENCES locinstitution; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE location ADD CONSTRAINT institutionId_locinstitution_fkey FOREIGN KEY (institutionId) REFERENCES locinstitution; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS location_institutionId_idx ON test_tenant_mod_inventory_storage.location (institutionId); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS location_institutionId_idx ON test_tenant_mod_inventory_storage.location (institutionId); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('location'); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('location'); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.location ADD COLUMN IF NOT EXISTS campusId UUID; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.location ADD COLUMN IF NOT EXISTS campusId UUID; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE location ADD CONSTRAINT campusId_loccampus_fkey FOREIGN KEY (campusId) REFERENCES loccampus; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE location ADD CONSTRAINT campusId_loccampus_fkey FOREIGN KEY (campusId) REFERENCES loccampus; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS location_campusId_idx ON test_tenant_mod_inventory_storage.location (campusId); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS location_campusId_idx ON test_tenant_mod_inventory_storage.location (campusId); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('location'); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('location'); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.location ADD COLUMN IF NOT EXISTS libraryId UUID; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.location ADD COLUMN IF NOT EXISTS libraryId UUID; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE location ADD CONSTRAINT libraryId_loclibrary_fkey FOREIGN KEY (libraryId) REFERENCES loclibrary; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE location ADD CONSTRAINT libraryId_loclibrary_fkey FOREIGN KEY (libraryId) REFERENCES loclibrary; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS location_libraryId_idx ON test_tenant_mod_inventory_storage.location (libraryId); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS location_libraryId_idx ON test_tenant_mod_inventory_storage.location (libraryId); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('location'); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('location'); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_location_references() RETURNS TRIGGER AS $$ BEGIN NEW.institutionId = (NEW.jsonb->>'institutionId'); NEW.campusId = (NEW.jsonb->>'campusId'); NEW.libraryId = (NEW.jsonb->>'libraryId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_location_references() RETURNS TRIGGER AS $$ BEGIN NEW.institutionId = (NEW.jsonb->>'institutionId'); NEW.campusId = (NEW.jsonb->>'campusId'); NEW.libraryId = (NEW.jsonb->>'libraryId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_location_references ON test_tenant_mod_inventory_storage.location CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_location_references" for relation "test_tenant_mod_inventory_storage.location" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_location_references ON test_tenant_mod_inventory_storage.location CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER update_location_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.location FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_location_references(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER update_location_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.location FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_location_references(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE location DROP CONSTRAINT IF EXISTS ' || 'institutionId_locinstitution_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE location DROP CONSTRAINT IF EXISTS ' || 'campusId_loccampus_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE location DROP CONSTRAINT IF EXISTS ' || 'libraryId_loclibrary_fkey' || i; END LOOP; END $$; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE location DROP CONSTRAINT IF EXISTS ' || 'institutionId_locinstitution_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE location DROP CONSTRAINT IF EXISTS ' || 'campusId_loccampus_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE location DROP CONSTRAINT IF EXISTS ' || 'libraryId_loclibrary_fkey' || i; END LOOP; END $$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.location_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.location_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_location_md_trigger ON test_tenant_mod_inventory_storage.location CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_location_md_trigger" for relation "test_tenant_mod_inventory_storage.location" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_location_md_trigger ON test_tenant_mod_inventory_storage.location CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_location_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.location FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.location_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_location_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.location FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.location_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_location_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_location_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_location_md_json_trigger ON test_tenant_mod_inventory_storage.location CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_location_md_json_trigger" for relation "test_tenant_mod_inventory_storage.location" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_location_md_json_trigger ON test_tenant_mod_inventory_storage.location CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_location_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.location FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_location_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_location_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.location FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_location_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_location_ol_version_trigger ON test_tenant_mod_inventory_storage.location CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_location_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.location" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_location_ol_version_trigger ON test_tenant_mod_inventory_storage.location CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.location_set_ol_version() CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.location_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.location_set_ol_version() CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.service_point ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.service_point ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_service_point ON test_tenant_mod_inventory_storage.service_point CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_service_point" for relation "test_tenant_mod_inventory_storage.service_point" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_service_point ON test_tenant_mod_inventory_storage.service_point CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.service_point CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.service_point" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.service_point CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.service_point FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.service_point FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.service_point ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.service_point ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'service_point', 'service_point_pickupLocation_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS service_point_pickupLocation_idx ON test_tenant_mod_inventory_storage.service_point ' || $rmb$(left(lower(jsonb->>'pickupLocation'),600))$rmb$ ); END $do$; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "service_point_pickuplocation_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS service_point_pickupLocation_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'service_point', 'service_point_pickupLocation_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS service_point_pickupLocation_idx ON test_tenant_mod_inventory_storage.service_point ' || $rmb$(left(lower(jsonb->>'pickupLocation'),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'service_point', 'service_point_pickupLocation_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS service_point_pickupLocation_idx ON test_tenant_mod_inventory_storage.service_point ' || $rmb$(left(lower(jsonb->>'pickupLocation'),600))$rmb$ ); END $do$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'service_point', 'service_point_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_name_idx_unique ON test_tenant_mod_inventory_storage.service_point ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "service_point_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS service_point_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'service_point', 'service_point_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_name_idx_unique ON test_tenant_mod_inventory_storage.service_point ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'service_point', 'service_point_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_name_idx_unique ON test_tenant_mod_inventory_storage.service_point ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'service_point', 'service_point_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_code_idx_unique ON test_tenant_mod_inventory_storage.service_point ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "service_point_code_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS service_point_code_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'service_point', 'service_point_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_code_idx_unique ON test_tenant_mod_inventory_storage.service_point ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'service_point', 'service_point_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_code_idx_unique ON test_tenant_mod_inventory_storage.service_point ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_service_point_references ON test_tenant_mod_inventory_storage.service_point CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_service_point_references" for relation "test_tenant_mod_inventory_storage.service_point" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_service_point_references ON test_tenant_mod_inventory_storage.service_point CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_service_point_references(); 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_service_point_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_service_point_references(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.service_point_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.service_point_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_service_point_md_trigger ON test_tenant_mod_inventory_storage.service_point CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_service_point_md_trigger" for relation "test_tenant_mod_inventory_storage.service_point" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_service_point_md_trigger ON test_tenant_mod_inventory_storage.service_point CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_service_point_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.service_point FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.service_point_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_service_point_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.service_point FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.service_point_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_service_point_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_service_point_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_service_point_md_json_trigger ON test_tenant_mod_inventory_storage.service_point CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_service_point_md_json_trigger" for relation "test_tenant_mod_inventory_storage.service_point" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_service_point_md_json_trigger ON test_tenant_mod_inventory_storage.service_point CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_service_point_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.service_point FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_service_point_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_service_point_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.service_point FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_service_point_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_service_point_ol_version_trigger ON test_tenant_mod_inventory_storage.service_point CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_service_point_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.service_point" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_service_point_ol_version_trigger ON test_tenant_mod_inventory_storage.service_point CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.service_point_set_ol_version() CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.service_point_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.service_point_set_ol_version() CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.service_point_user ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.service_point_user ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_service_point_user ON test_tenant_mod_inventory_storage.service_point_user CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_service_point_user" for relation "test_tenant_mod_inventory_storage.service_point_user" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_service_point_user ON test_tenant_mod_inventory_storage.service_point_user CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.service_point_user CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.service_point_user" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.service_point_user CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.service_point_user FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.service_point_user FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.service_point_user ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.service_point_user ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'service_point_user', 'service_point_user_userId_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_user_userId_idx_unique ON test_tenant_mod_inventory_storage.service_point_user ' || $rmb$(lower(f_unaccent(jsonb->>'userId')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "service_point_user_userid_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS service_point_user_userId_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'service_point_user', 'service_point_user_userId_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_user_userId_idx_unique ON test_tenant_mod_inventory_storage.service_point_user ' || $rmb$(lower(f_unaccent(jsonb->>'userId')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'service_point_user', 'service_point_user_userId_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS service_point_user_userId_idx_unique ON test_tenant_mod_inventory_storage.service_point_user ' || $rmb$(lower(f_unaccent(jsonb->>'userId')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.service_point_user ADD COLUMN IF NOT EXISTS defaultServicePointId UUID; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.service_point_user ADD COLUMN IF NOT EXISTS defaultServicePointId UUID; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE service_point_user ADD CONSTRAINT defaultServicePointId_service_point_fkey FOREIGN KEY (defaultServicePointId) REFERENCES service_point; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE service_point_user ADD CONSTRAINT defaultServicePointId_service_point_fkey FOREIGN KEY (defaultServicePointId) REFERENCES service_point; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS service_point_user_defaultServicePointId_idx ON test_tenant_mod_inventory_storage.service_point_user (defaultServicePointId); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS service_point_user_defaultServicePointId_idx ON test_tenant_mod_inventory_storage.service_point_user (defaultServicePointId); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('service_point_user'); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('service_point_user'); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_service_point_user_references() RETURNS TRIGGER AS $$ BEGIN NEW.defaultServicePointId = (NEW.jsonb->>'defaultServicePointId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_service_point_user_references() RETURNS TRIGGER AS $$ BEGIN NEW.defaultServicePointId = (NEW.jsonb->>'defaultServicePointId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_service_point_user_references ON test_tenant_mod_inventory_storage.service_point_user CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_service_point_user_references" for relation "test_tenant_mod_inventory_storage.service_point_user" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_service_point_user_references ON test_tenant_mod_inventory_storage.service_point_user CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER update_service_point_user_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.service_point_user FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_service_point_user_references(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER update_service_point_user_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.service_point_user FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_service_point_user_references(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE service_point_user DROP CONSTRAINT IF EXISTS ' || 'defaultServicePointId_service_point_fkey' || i; END LOOP; END $$; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE service_point_user DROP CONSTRAINT IF EXISTS ' || 'defaultServicePointId_service_point_fkey' || i; END LOOP; END $$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.service_point_user_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.service_point_user_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_service_point_user_md_trigger ON test_tenant_mod_inventory_storage.service_point_user CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_service_point_user_md_trigger" for relation "test_tenant_mod_inventory_storage.service_point_user" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_service_point_user_md_trigger ON test_tenant_mod_inventory_storage.service_point_user CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_service_point_user_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.service_point_user FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.service_point_user_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_service_point_user_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.service_point_user FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.service_point_user_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_service_point_user_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_service_point_user_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_service_point_user_md_json_trigger ON test_tenant_mod_inventory_storage.service_point_user CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_service_point_user_md_json_trigger" for relation "test_tenant_mod_inventory_storage.service_point_user" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_service_point_user_md_json_trigger ON test_tenant_mod_inventory_storage.service_point_user CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_service_point_user_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.service_point_user FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_service_point_user_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_service_point_user_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.service_point_user FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_service_point_user_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_service_point_user_ol_version_trigger ON test_tenant_mod_inventory_storage.service_point_user CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_service_point_user_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.service_point_user" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_service_point_user_ol_version_trigger ON test_tenant_mod_inventory_storage.service_point_user CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.service_point_user_set_ol_version() CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.service_point_user_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.service_point_user_set_ol_version() CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.identifier_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.identifier_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_identifier_type ON test_tenant_mod_inventory_storage.identifier_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_identifier_type" for relation "test_tenant_mod_inventory_storage.identifier_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_identifier_type ON test_tenant_mod_inventory_storage.identifier_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.identifier_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.identifier_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.identifier_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.identifier_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.identifier_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.identifier_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.identifier_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'identifier_type', 'identifier_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS identifier_type_name_idx_unique ON test_tenant_mod_inventory_storage.identifier_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "identifier_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS identifier_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'identifier_type', 'identifier_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS identifier_type_name_idx_unique ON test_tenant_mod_inventory_storage.identifier_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'identifier_type', 'identifier_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS identifier_type_name_idx_unique ON test_tenant_mod_inventory_storage.identifier_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_identifier_type_references ON test_tenant_mod_inventory_storage.identifier_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_identifier_type_references" for relation "test_tenant_mod_inventory_storage.identifier_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_identifier_type_references ON test_tenant_mod_inventory_storage.identifier_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_identifier_type_references(); 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_identifier_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_identifier_type_references(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.identifier_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.identifier_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_identifier_type_md_trigger ON test_tenant_mod_inventory_storage.identifier_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_identifier_type_md_trigger" for relation "test_tenant_mod_inventory_storage.identifier_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_identifier_type_md_trigger ON test_tenant_mod_inventory_storage.identifier_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_identifier_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.identifier_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.identifier_type_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_identifier_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.identifier_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.identifier_type_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_identifier_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_identifier_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_identifier_type_md_json_trigger ON test_tenant_mod_inventory_storage.identifier_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_identifier_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.identifier_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_identifier_type_md_json_trigger ON test_tenant_mod_inventory_storage.identifier_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_identifier_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.identifier_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_identifier_type_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_identifier_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.identifier_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_identifier_type_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_identifier_type_ol_version_trigger ON test_tenant_mod_inventory_storage.identifier_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_identifier_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.identifier_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_identifier_type_ol_version_trigger ON test_tenant_mod_inventory_storage.identifier_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.identifier_type_set_ol_version() CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.identifier_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.identifier_type_set_ol_version() CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance_relationship_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance_relationship_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_instance_relationship_type ON test_tenant_mod_inventory_storage.instance_relationship_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_instance_relationship_type" for relation "test_tenant_mod_inventory_storage.instance_relationship_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_instance_relationship_type ON test_tenant_mod_inventory_storage.instance_relationship_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance_relationship_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.instance_relationship_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance_relationship_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_relationship_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_relationship_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance_relationship_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance_relationship_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_relationship_type', 'instance_relationship_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_relationship_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_relationship_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_relationship_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_relationship_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance_relationship_type', 'instance_relationship_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_relationship_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_relationship_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_relationship_type', 'instance_relationship_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_relationship_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_relationship_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_instance_relationship_type_references ON test_tenant_mod_inventory_storage.instance_relationship_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_instance_relationship_type_references" for relation "test_tenant_mod_inventory_storage.instance_relationship_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_instance_relationship_type_references ON test_tenant_mod_inventory_storage.instance_relationship_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_instance_relationship_type_references(); 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_instance_relationship_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_instance_relationship_type_references(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.instance_relationship_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.instance_relationship_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_relationship_type_md_trigger ON test_tenant_mod_inventory_storage.instance_relationship_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_relationship_type_md_trigger" for relation "test_tenant_mod_inventory_storage.instance_relationship_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_relationship_type_md_trigger ON test_tenant_mod_inventory_storage.instance_relationship_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_relationship_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.instance_relationship_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.instance_relationship_type_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_relationship_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.instance_relationship_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.instance_relationship_type_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_relationship_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_relationship_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_relationship_type_md_json_trigger ON test_tenant_mod_inventory_storage.instance_relationship_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_relationship_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.instance_relationship_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_relationship_type_md_json_trigger ON test_tenant_mod_inventory_storage.instance_relationship_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_relationship_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.instance_relationship_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_relationship_type_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_relationship_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.instance_relationship_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_relationship_type_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_relationship_type_ol_version_trigger ON test_tenant_mod_inventory_storage.instance_relationship_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_relationship_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.instance_relationship_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_relationship_type_ol_version_trigger ON test_tenant_mod_inventory_storage.instance_relationship_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_relationship_type_set_ol_version() CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.instance_relationship_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_relationship_type_set_ol_version() CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.contributor_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.contributor_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_contributor_type ON test_tenant_mod_inventory_storage.contributor_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_contributor_type" for relation "test_tenant_mod_inventory_storage.contributor_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_contributor_type ON test_tenant_mod_inventory_storage.contributor_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.contributor_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.contributor_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.contributor_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.contributor_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.contributor_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.contributor_type DROP COLUMN IF EXISTS creation_date CASCADE, DROP COLUMN IF EXISTS created_by CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='column "creation_date" of relation "contributor_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='7356', routine='ATExecDropColumn', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='column "created_by" of relation "contributor_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='7356', routine='ATExecDropColumn', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.contributor_type DROP COLUMN IF EXISTS creation_date CASCADE, DROP COLUMN IF EXISTS created_by CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'contributor_type', 'contributor_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_type_name_idx_unique ON test_tenant_mod_inventory_storage.contributor_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "contributor_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS contributor_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'contributor_type', 'contributor_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_type_name_idx_unique ON test_tenant_mod_inventory_storage.contributor_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'contributor_type', 'contributor_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_type_name_idx_unique ON test_tenant_mod_inventory_storage.contributor_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'contributor_type', 'contributor_type_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_type_code_idx_unique ON test_tenant_mod_inventory_storage.contributor_type ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "contributor_type_code_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS contributor_type_code_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'contributor_type', 'contributor_type_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_type_code_idx_unique ON test_tenant_mod_inventory_storage.contributor_type ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'contributor_type', 'contributor_type_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_type_code_idx_unique ON test_tenant_mod_inventory_storage.contributor_type ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_contributor_type_references ON test_tenant_mod_inventory_storage.contributor_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_contributor_type_references" for relation "test_tenant_mod_inventory_storage.contributor_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_contributor_type_references ON test_tenant_mod_inventory_storage.contributor_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_contributor_type_references(); 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_contributor_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_contributor_type_references(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.contributor_type_set_md() CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.contributor_type_set_md() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.contributor_type_set_md() CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_contributor_type_md_trigger ON test_tenant_mod_inventory_storage.contributor_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_contributor_type_md_trigger" for relation "test_tenant_mod_inventory_storage.contributor_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_contributor_type_md_trigger ON test_tenant_mod_inventory_storage.contributor_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_contributor_type_md_json() CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.set_contributor_type_md_json() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_contributor_type_md_json() CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_contributor_type_md_json_trigger ON test_tenant_mod_inventory_storage.contributor_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_contributor_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.contributor_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_contributor_type_md_json_trigger ON test_tenant_mod_inventory_storage.contributor_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_contributor_type_ol_version_trigger ON test_tenant_mod_inventory_storage.contributor_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_contributor_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.contributor_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_contributor_type_ol_version_trigger ON test_tenant_mod_inventory_storage.contributor_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.contributor_type_set_ol_version() CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.contributor_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.contributor_type_set_ol_version() CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.contributor_name_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.contributor_name_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_contributor_name_type ON test_tenant_mod_inventory_storage.contributor_name_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_contributor_name_type" for relation "test_tenant_mod_inventory_storage.contributor_name_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_contributor_name_type ON test_tenant_mod_inventory_storage.contributor_name_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.contributor_name_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.contributor_name_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.contributor_name_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.contributor_name_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.contributor_name_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.contributor_name_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.contributor_name_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'contributor_name_type', 'contributor_name_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_name_type_name_idx_unique ON test_tenant_mod_inventory_storage.contributor_name_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "contributor_name_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS contributor_name_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'contributor_name_type', 'contributor_name_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_name_type_name_idx_unique ON test_tenant_mod_inventory_storage.contributor_name_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'contributor_name_type', 'contributor_name_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS contributor_name_type_name_idx_unique ON test_tenant_mod_inventory_storage.contributor_name_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_contributor_name_type_references ON test_tenant_mod_inventory_storage.contributor_name_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_contributor_name_type_references" for relation "test_tenant_mod_inventory_storage.contributor_name_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_contributor_name_type_references ON test_tenant_mod_inventory_storage.contributor_name_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_contributor_name_type_references(); 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_contributor_name_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_contributor_name_type_references(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.contributor_name_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.contributor_name_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_contributor_name_type_md_trigger ON test_tenant_mod_inventory_storage.contributor_name_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_contributor_name_type_md_trigger" for relation "test_tenant_mod_inventory_storage.contributor_name_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_contributor_name_type_md_trigger ON test_tenant_mod_inventory_storage.contributor_name_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_contributor_name_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.contributor_name_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.contributor_name_type_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_contributor_name_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.contributor_name_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.contributor_name_type_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_contributor_name_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_contributor_name_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_contributor_name_type_md_json_trigger ON test_tenant_mod_inventory_storage.contributor_name_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_contributor_name_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.contributor_name_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_contributor_name_type_md_json_trigger ON test_tenant_mod_inventory_storage.contributor_name_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_contributor_name_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.contributor_name_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_contributor_name_type_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_contributor_name_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.contributor_name_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_contributor_name_type_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_contributor_name_type_ol_version_trigger ON test_tenant_mod_inventory_storage.contributor_name_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_contributor_name_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.contributor_name_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_contributor_name_type_ol_version_trigger ON test_tenant_mod_inventory_storage.contributor_name_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.contributor_name_type_set_ol_version() CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.contributor_name_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.contributor_name_type_set_ol_version() CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_instance_type ON test_tenant_mod_inventory_storage.instance_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_instance_type" for relation "test_tenant_mod_inventory_storage.instance_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_instance_type ON test_tenant_mod_inventory_storage.instance_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.instance_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance_type DROP COLUMN IF EXISTS creation_date CASCADE, DROP COLUMN IF EXISTS created_by CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='column "creation_date" of relation "instance_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='7356', routine='ATExecDropColumn', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='column "created_by" of relation "instance_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='7356', routine='ATExecDropColumn', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance_type DROP COLUMN IF EXISTS creation_date CASCADE, DROP COLUMN IF EXISTS created_by CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_type', 'instance_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance_type', 'instance_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_type', 'instance_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_type', 'instance_type_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_type_code_idx_unique ON test_tenant_mod_inventory_storage.instance_type ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_type_code_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_type_code_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance_type', 'instance_type_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_type_code_idx_unique ON test_tenant_mod_inventory_storage.instance_type ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_type', 'instance_type_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_type_code_idx_unique ON test_tenant_mod_inventory_storage.instance_type ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_instance_type_references ON test_tenant_mod_inventory_storage.instance_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_instance_type_references" for relation "test_tenant_mod_inventory_storage.instance_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_instance_type_references ON test_tenant_mod_inventory_storage.instance_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_instance_type_references(); 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_instance_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_instance_type_references(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_type_set_md() CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.instance_type_set_md() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_type_set_md() CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_type_md_trigger ON test_tenant_mod_inventory_storage.instance_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_type_md_trigger" for relation "test_tenant_mod_inventory_storage.instance_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_type_md_trigger ON test_tenant_mod_inventory_storage.instance_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_instance_type_md_json() CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.set_instance_type_md_json() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_instance_type_md_json() CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_type_md_json_trigger ON test_tenant_mod_inventory_storage.instance_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.instance_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_type_md_json_trigger ON test_tenant_mod_inventory_storage.instance_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_type_ol_version_trigger ON test_tenant_mod_inventory_storage.instance_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.instance_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_type_ol_version_trigger ON test_tenant_mod_inventory_storage.instance_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_type_set_ol_version() CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.instance_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_type_set_ol_version() CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance_format ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance_format ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_instance_format ON test_tenant_mod_inventory_storage.instance_format CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_instance_format" for relation "test_tenant_mod_inventory_storage.instance_format" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_instance_format ON test_tenant_mod_inventory_storage.instance_format CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance_format CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.instance_format" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance_format CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_format FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_format FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance_format DROP COLUMN IF EXISTS creation_date CASCADE, DROP COLUMN IF EXISTS created_by CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='column "creation_date" of relation "instance_format" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='7356', routine='ATExecDropColumn', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='column "created_by" of relation "instance_format" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='7356', routine='ATExecDropColumn', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance_format DROP COLUMN IF EXISTS creation_date CASCADE, DROP COLUMN IF EXISTS created_by CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_format', 'instance_format_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_format_name_idx_unique ON test_tenant_mod_inventory_storage.instance_format ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_format_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_format_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance_format', 'instance_format_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_format_name_idx_unique ON test_tenant_mod_inventory_storage.instance_format ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_format', 'instance_format_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_format_name_idx_unique ON test_tenant_mod_inventory_storage.instance_format ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_format', 'instance_format_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_format_code_idx_unique ON test_tenant_mod_inventory_storage.instance_format ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_format_code_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_format_code_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance_format', 'instance_format_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_format_code_idx_unique ON test_tenant_mod_inventory_storage.instance_format ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_format', 'instance_format_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_format_code_idx_unique ON test_tenant_mod_inventory_storage.instance_format ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_instance_format_references ON test_tenant_mod_inventory_storage.instance_format CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_instance_format_references" for relation "test_tenant_mod_inventory_storage.instance_format" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_instance_format_references ON test_tenant_mod_inventory_storage.instance_format CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_instance_format_references(); 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_instance_format_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_instance_format_references(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_format_set_md() CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.instance_format_set_md() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_format_set_md() CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_format_md_trigger ON test_tenant_mod_inventory_storage.instance_format CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_format_md_trigger" for relation "test_tenant_mod_inventory_storage.instance_format" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_format_md_trigger ON test_tenant_mod_inventory_storage.instance_format CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_instance_format_md_json() CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.set_instance_format_md_json() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_instance_format_md_json() CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_format_md_json_trigger ON test_tenant_mod_inventory_storage.instance_format CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_format_md_json_trigger" for relation "test_tenant_mod_inventory_storage.instance_format" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_format_md_json_trigger ON test_tenant_mod_inventory_storage.instance_format CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_format_ol_version_trigger ON test_tenant_mod_inventory_storage.instance_format CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_format_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.instance_format" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_format_ol_version_trigger ON test_tenant_mod_inventory_storage.instance_format CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_format_set_ol_version() CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.instance_format_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_format_set_ol_version() CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.nature_of_content_term ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.nature_of_content_term ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_nature_of_content_term ON test_tenant_mod_inventory_storage.nature_of_content_term CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_nature_of_content_term" for relation "test_tenant_mod_inventory_storage.nature_of_content_term" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_nature_of_content_term ON test_tenant_mod_inventory_storage.nature_of_content_term CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.nature_of_content_term CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.nature_of_content_term" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.nature_of_content_term CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.nature_of_content_term FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.nature_of_content_term FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.nature_of_content_term ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.nature_of_content_term ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'nature_of_content_term', 'nature_of_content_term_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS nature_of_content_term_name_idx_unique ON test_tenant_mod_inventory_storage.nature_of_content_term ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "nature_of_content_term_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS nature_of_content_term_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'nature_of_content_term', 'nature_of_content_term_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS nature_of_content_term_name_idx_unique ON test_tenant_mod_inventory_storage.nature_of_content_term ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'nature_of_content_term', 'nature_of_content_term_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS nature_of_content_term_name_idx_unique ON test_tenant_mod_inventory_storage.nature_of_content_term ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_nature_of_content_term_references ON test_tenant_mod_inventory_storage.nature_of_content_term CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_nature_of_content_term_references" for relation "test_tenant_mod_inventory_storage.nature_of_content_term" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_nature_of_content_term_references ON test_tenant_mod_inventory_storage.nature_of_content_term CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_nature_of_content_term_references(); 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_nature_of_content_term_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_nature_of_content_term_references(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.nature_of_content_term_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.nature_of_content_term_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_nature_of_content_term_md_trigger ON test_tenant_mod_inventory_storage.nature_of_content_term CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_nature_of_content_term_md_trigger" for relation "test_tenant_mod_inventory_storage.nature_of_content_term" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_nature_of_content_term_md_trigger ON test_tenant_mod_inventory_storage.nature_of_content_term CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_nature_of_content_term_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.nature_of_content_term FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.nature_of_content_term_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_nature_of_content_term_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.nature_of_content_term FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.nature_of_content_term_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_nature_of_content_term_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_nature_of_content_term_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_nature_of_content_term_md_json_trigger ON test_tenant_mod_inventory_storage.nature_of_content_term CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_nature_of_content_term_md_json_trigger" for relation "test_tenant_mod_inventory_storage.nature_of_content_term" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_nature_of_content_term_md_json_trigger ON test_tenant_mod_inventory_storage.nature_of_content_term CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_nature_of_content_term_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.nature_of_content_term FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_nature_of_content_term_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_nature_of_content_term_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.nature_of_content_term FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_nature_of_content_term_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_nature_of_content_term_ol_version_trigger ON test_tenant_mod_inventory_storage.nature_of_content_term CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_nature_of_content_term_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.nature_of_content_term" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_nature_of_content_term_ol_version_trigger ON test_tenant_mod_inventory_storage.nature_of_content_term CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.nature_of_content_term_set_ol_version() CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.nature_of_content_term_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.nature_of_content_term_set_ol_version() CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.classification_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.classification_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_classification_type ON test_tenant_mod_inventory_storage.classification_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_classification_type" for relation "test_tenant_mod_inventory_storage.classification_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_classification_type ON test_tenant_mod_inventory_storage.classification_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.classification_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.classification_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.classification_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.classification_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.classification_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.classification_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.classification_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'classification_type', 'classification_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS classification_type_name_idx_unique ON test_tenant_mod_inventory_storage.classification_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "classification_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS classification_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'classification_type', 'classification_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS classification_type_name_idx_unique ON test_tenant_mod_inventory_storage.classification_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'classification_type', 'classification_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS classification_type_name_idx_unique ON test_tenant_mod_inventory_storage.classification_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_classification_type_references ON test_tenant_mod_inventory_storage.classification_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_classification_type_references" for relation "test_tenant_mod_inventory_storage.classification_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_classification_type_references ON test_tenant_mod_inventory_storage.classification_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_classification_type_references(); 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_classification_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_classification_type_references(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.classification_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.classification_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_classification_type_md_trigger ON test_tenant_mod_inventory_storage.classification_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_classification_type_md_trigger" for relation "test_tenant_mod_inventory_storage.classification_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_classification_type_md_trigger ON test_tenant_mod_inventory_storage.classification_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_classification_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.classification_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.classification_type_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_classification_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.classification_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.classification_type_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_classification_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_classification_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_classification_type_md_json_trigger ON test_tenant_mod_inventory_storage.classification_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_classification_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.classification_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_classification_type_md_json_trigger ON test_tenant_mod_inventory_storage.classification_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_classification_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.classification_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_classification_type_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_classification_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.classification_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_classification_type_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_classification_type_ol_version_trigger ON test_tenant_mod_inventory_storage.classification_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_classification_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.classification_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_classification_type_ol_version_trigger ON test_tenant_mod_inventory_storage.classification_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.classification_type_set_ol_version() CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.classification_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.classification_type_set_ol_version() CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.electronic_access_relationship ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.electronic_access_relationship ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_electronic_access_relationship ON test_tenant_mod_inventory_storage.electronic_access_relationship CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_electronic_access_relationship" for relation "test_tenant_mod_inventory_storage.electronic_access_relationship" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_electronic_access_relationship ON test_tenant_mod_inventory_storage.electronic_access_relationship CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.electronic_access_relationship CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.electronic_access_relationship" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.electronic_access_relationship CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.electronic_access_relationship FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.electronic_access_relationship FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.electronic_access_relationship ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.electronic_access_relationship ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'electronic_access_relationship', 'electronic_access_relationship_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS electronic_access_relationship_name_idx_unique ON test_tenant_mod_inventory_storage.electronic_access_relationship ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "electronic_access_relationship_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS electronic_access_relationship_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'electronic_access_relationship', 'electronic_access_relationship_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS electronic_access_relationship_name_idx_unique ON test_tenant_mod_inventory_storage.electronic_access_relationship ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'electronic_access_relationship', 'electronic_access_relationship_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS electronic_access_relationship_name_idx_unique ON test_tenant_mod_inventory_storage.electronic_access_relationship ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_electronic_access_relationship_references ON test_tenant_mod_inventory_storage.electronic_access_relationship CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_electronic_access_relationship_references" for relation "test_tenant_mod_inventory_storage.electronic_access_relationship" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_electronic_access_relationship_references ON test_tenant_mod_inventory_storage.electronic_access_relationship CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_electronic_access_relationship_references(); 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_electronic_access_relationship_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_electronic_access_relationship_references(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.electronic_access_relationship_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.electronic_access_relationship_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_electronic_access_relationship_md_trigger ON test_tenant_mod_inventory_storage.electronic_access_relationship CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_electronic_access_relationship_md_trigger" for relation "test_tenant_mod_inventory_storage.electronic_access_relationship" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_electronic_access_relationship_md_trigger ON test_tenant_mod_inventory_storage.electronic_access_relationship CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_electronic_access_relationship_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.electronic_access_relationship FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.electronic_access_relationship_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_electronic_access_relationship_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.electronic_access_relationship FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.electronic_access_relationship_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_electronic_access_relationship_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_electronic_access_relationship_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_electronic_access_relationship_md_json_trigger ON test_tenant_mod_inventory_storage.electronic_access_relationship CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_electronic_access_relationship_md_json_trigger" for relation "test_tenant_mod_inventory_storage.electronic_access_relationship" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_electronic_access_relationship_md_json_trigger ON test_tenant_mod_inventory_storage.electronic_access_relationship CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_electronic_access_relationship_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.electronic_access_relationship FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_electronic_access_relationship_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_electronic_access_relationship_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.electronic_access_relationship FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_electronic_access_relationship_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_electronic_access_relationship_ol_version_trigger ON test_tenant_mod_inventory_storage.electronic_access_relationship CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_electronic_access_relationship_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.electronic_access_relationship" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_electronic_access_relationship_ol_version_trigger ON test_tenant_mod_inventory_storage.electronic_access_relationship CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.electronic_access_relationship_set_ol_version() CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.electronic_access_relationship_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.electronic_access_relationship_set_ol_version() CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.statistical_code_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.statistical_code_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_statistical_code_type ON test_tenant_mod_inventory_storage.statistical_code_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_statistical_code_type" for relation "test_tenant_mod_inventory_storage.statistical_code_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_statistical_code_type ON test_tenant_mod_inventory_storage.statistical_code_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.statistical_code_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.statistical_code_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.statistical_code_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.statistical_code_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.statistical_code_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.statistical_code_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.statistical_code_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'statistical_code_type', 'statistical_code_type_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_type_code_idx_unique ON test_tenant_mod_inventory_storage.statistical_code_type ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "statistical_code_type_code_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS statistical_code_type_code_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'statistical_code_type', 'statistical_code_type_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_type_code_idx_unique ON test_tenant_mod_inventory_storage.statistical_code_type ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'statistical_code_type', 'statistical_code_type_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_type_code_idx_unique ON test_tenant_mod_inventory_storage.statistical_code_type ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_statistical_code_type_references ON test_tenant_mod_inventory_storage.statistical_code_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_statistical_code_type_references" for relation "test_tenant_mod_inventory_storage.statistical_code_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_statistical_code_type_references ON test_tenant_mod_inventory_storage.statistical_code_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_statistical_code_type_references(); 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_statistical_code_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_statistical_code_type_references(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.statistical_code_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.statistical_code_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_statistical_code_type_md_trigger ON test_tenant_mod_inventory_storage.statistical_code_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_statistical_code_type_md_trigger" for relation "test_tenant_mod_inventory_storage.statistical_code_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_statistical_code_type_md_trigger ON test_tenant_mod_inventory_storage.statistical_code_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_statistical_code_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.statistical_code_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.statistical_code_type_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_statistical_code_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.statistical_code_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.statistical_code_type_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_statistical_code_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_statistical_code_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_statistical_code_type_md_json_trigger ON test_tenant_mod_inventory_storage.statistical_code_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_statistical_code_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.statistical_code_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_statistical_code_type_md_json_trigger ON test_tenant_mod_inventory_storage.statistical_code_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_statistical_code_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.statistical_code_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_statistical_code_type_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_statistical_code_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.statistical_code_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_statistical_code_type_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_statistical_code_type_ol_version_trigger ON test_tenant_mod_inventory_storage.statistical_code_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_statistical_code_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.statistical_code_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_statistical_code_type_ol_version_trigger ON test_tenant_mod_inventory_storage.statistical_code_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.statistical_code_type_set_ol_version() CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.statistical_code_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.statistical_code_type_set_ol_version() CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.statistical_code ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.statistical_code ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_statistical_code ON test_tenant_mod_inventory_storage.statistical_code CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_statistical_code" for relation "test_tenant_mod_inventory_storage.statistical_code" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_statistical_code ON test_tenant_mod_inventory_storage.statistical_code CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.statistical_code CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.statistical_code" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.statistical_code CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.statistical_code FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.statistical_code FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.statistical_code ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.statistical_code ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'statistical_code', 'statistical_code_code_statisticalCodeTypeId_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_code_statisticalCodeTypeId_idx_unique ON test_tenant_mod_inventory_storage.statistical_code ' || $rmb$(lower(f_unaccent(jsonb->>'code')) , lower(f_unaccent(jsonb->>'statisticalCodeTypeId')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "statistical_code_code_statisticalcodetypeid_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS statistical_code_code_statisticalCodeTypeId_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'statistical_code', 'statistical_code_code_statisticalCodeTypeId_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_code_statisticalCodeTypeId_idx_unique ON test_tenant_mod_inventory_storage.statistical_code ' || $rmb$(lower(f_unaccent(jsonb->>'code')) , lower(f_unaccent(jsonb->>'statisticalCodeTypeId')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'statistical_code', 'statistical_code_code_statisticalCodeTypeId_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_code_statisticalCodeTypeId_idx_unique ON test_tenant_mod_inventory_storage.statistical_code ' || $rmb$(lower(f_unaccent(jsonb->>'code')) , lower(f_unaccent(jsonb->>'statisticalCodeTypeId')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'statistical_code', 'statistical_code_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_name_idx_unique ON test_tenant_mod_inventory_storage.statistical_code ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "statistical_code_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS statistical_code_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'statistical_code', 'statistical_code_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_name_idx_unique ON test_tenant_mod_inventory_storage.statistical_code ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'statistical_code', 'statistical_code_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS statistical_code_name_idx_unique ON test_tenant_mod_inventory_storage.statistical_code ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.statistical_code ADD COLUMN IF NOT EXISTS statisticalCodeTypeId UUID; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.statistical_code ADD COLUMN IF NOT EXISTS statisticalCodeTypeId UUID; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE statistical_code ADD CONSTRAINT statisticalCodeTypeId_statistical_code_type_fkey FOREIGN KEY (statisticalCodeTypeId) REFERENCES statistical_code_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE statistical_code ADD CONSTRAINT statisticalCodeTypeId_statistical_code_type_fkey FOREIGN KEY (statisticalCodeTypeId) REFERENCES statistical_code_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS statistical_code_statisticalCodeTypeId_idx ON test_tenant_mod_inventory_storage.statistical_code (statisticalCodeTypeId); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS statistical_code_statisticalCodeTypeId_idx ON test_tenant_mod_inventory_storage.statistical_code (statisticalCodeTypeId); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('statistical_code'); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('statistical_code'); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_statistical_code_references() RETURNS TRIGGER AS $$ BEGIN NEW.statisticalCodeTypeId = (NEW.jsonb->>'statisticalCodeTypeId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_statistical_code_references() RETURNS TRIGGER AS $$ BEGIN NEW.statisticalCodeTypeId = (NEW.jsonb->>'statisticalCodeTypeId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_statistical_code_references ON test_tenant_mod_inventory_storage.statistical_code CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_statistical_code_references" for relation "test_tenant_mod_inventory_storage.statistical_code" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_statistical_code_references ON test_tenant_mod_inventory_storage.statistical_code CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER update_statistical_code_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.statistical_code FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_statistical_code_references(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER update_statistical_code_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.statistical_code FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_statistical_code_references(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE statistical_code DROP CONSTRAINT IF EXISTS ' || 'statisticalCodeTypeId_statistical_code_type_fkey' || i; END LOOP; END $$; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE statistical_code DROP CONSTRAINT IF EXISTS ' || 'statisticalCodeTypeId_statistical_code_type_fkey' || i; END LOOP; END $$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.statistical_code_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.statistical_code_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_statistical_code_md_trigger ON test_tenant_mod_inventory_storage.statistical_code CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_statistical_code_md_trigger" for relation "test_tenant_mod_inventory_storage.statistical_code" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_statistical_code_md_trigger ON test_tenant_mod_inventory_storage.statistical_code CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_statistical_code_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.statistical_code FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.statistical_code_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_statistical_code_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.statistical_code FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.statistical_code_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_statistical_code_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_statistical_code_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_statistical_code_md_json_trigger ON test_tenant_mod_inventory_storage.statistical_code CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_statistical_code_md_json_trigger" for relation "test_tenant_mod_inventory_storage.statistical_code" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_statistical_code_md_json_trigger ON test_tenant_mod_inventory_storage.statistical_code CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_statistical_code_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.statistical_code FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_statistical_code_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_statistical_code_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.statistical_code FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_statistical_code_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_statistical_code_ol_version_trigger ON test_tenant_mod_inventory_storage.statistical_code CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_statistical_code_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.statistical_code" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_statistical_code_ol_version_trigger ON test_tenant_mod_inventory_storage.statistical_code CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.statistical_code_set_ol_version() CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.statistical_code_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.statistical_code_set_ol_version() CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance_status ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance_status ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_instance_status ON test_tenant_mod_inventory_storage.instance_status CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_instance_status" for relation "test_tenant_mod_inventory_storage.instance_status" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_instance_status ON test_tenant_mod_inventory_storage.instance_status CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance_status CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.instance_status" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance_status CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_status FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_status FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance_status ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance_status ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_status', 'instance_status_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_status_name_idx_unique ON test_tenant_mod_inventory_storage.instance_status ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_status_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_status_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance_status', 'instance_status_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_status_name_idx_unique ON test_tenant_mod_inventory_storage.instance_status ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_status', 'instance_status_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_status_name_idx_unique ON test_tenant_mod_inventory_storage.instance_status ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_status', 'instance_status_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_status_code_idx_unique ON test_tenant_mod_inventory_storage.instance_status ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_status_code_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_status_code_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance_status', 'instance_status_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_status_code_idx_unique ON test_tenant_mod_inventory_storage.instance_status ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_status', 'instance_status_code_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_status_code_idx_unique ON test_tenant_mod_inventory_storage.instance_status ' || $rmb$(lower(f_unaccent(jsonb->>'code')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_instance_status_references ON test_tenant_mod_inventory_storage.instance_status CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_instance_status_references" for relation "test_tenant_mod_inventory_storage.instance_status" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_instance_status_references ON test_tenant_mod_inventory_storage.instance_status CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_instance_status_references(); 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_instance_status_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_instance_status_references(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.instance_status_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.instance_status_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_status_md_trigger ON test_tenant_mod_inventory_storage.instance_status CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_status_md_trigger" for relation "test_tenant_mod_inventory_storage.instance_status" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_status_md_trigger ON test_tenant_mod_inventory_storage.instance_status CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_status_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.instance_status FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.instance_status_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_status_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.instance_status FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.instance_status_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_status_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_status_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_status_md_json_trigger ON test_tenant_mod_inventory_storage.instance_status CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_status_md_json_trigger" for relation "test_tenant_mod_inventory_storage.instance_status" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_status_md_json_trigger ON test_tenant_mod_inventory_storage.instance_status CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_status_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.instance_status FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_status_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_status_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.instance_status FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_status_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_status_ol_version_trigger ON test_tenant_mod_inventory_storage.instance_status CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_status_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.instance_status" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_status_ol_version_trigger ON test_tenant_mod_inventory_storage.instance_status CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_status_set_ol_version() CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.instance_status_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_status_set_ol_version() CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.mode_of_issuance ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.mode_of_issuance ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_mode_of_issuance ON test_tenant_mod_inventory_storage.mode_of_issuance CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_mode_of_issuance" for relation "test_tenant_mod_inventory_storage.mode_of_issuance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_mode_of_issuance ON test_tenant_mod_inventory_storage.mode_of_issuance CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.mode_of_issuance CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.mode_of_issuance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.mode_of_issuance CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.mode_of_issuance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.mode_of_issuance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.mode_of_issuance ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.mode_of_issuance ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'mode_of_issuance', 'mode_of_issuance_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS mode_of_issuance_name_idx_unique ON test_tenant_mod_inventory_storage.mode_of_issuance ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "mode_of_issuance_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS mode_of_issuance_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'mode_of_issuance', 'mode_of_issuance_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS mode_of_issuance_name_idx_unique ON test_tenant_mod_inventory_storage.mode_of_issuance ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'mode_of_issuance', 'mode_of_issuance_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS mode_of_issuance_name_idx_unique ON test_tenant_mod_inventory_storage.mode_of_issuance ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_mode_of_issuance_references ON test_tenant_mod_inventory_storage.mode_of_issuance CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_mode_of_issuance_references" for relation "test_tenant_mod_inventory_storage.mode_of_issuance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_mode_of_issuance_references ON test_tenant_mod_inventory_storage.mode_of_issuance CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_mode_of_issuance_references(); 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_mode_of_issuance_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_mode_of_issuance_references(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.mode_of_issuance_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.mode_of_issuance_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_mode_of_issuance_md_trigger ON test_tenant_mod_inventory_storage.mode_of_issuance CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_mode_of_issuance_md_trigger" for relation "test_tenant_mod_inventory_storage.mode_of_issuance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_mode_of_issuance_md_trigger ON test_tenant_mod_inventory_storage.mode_of_issuance CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_mode_of_issuance_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.mode_of_issuance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.mode_of_issuance_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_mode_of_issuance_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.mode_of_issuance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.mode_of_issuance_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_mode_of_issuance_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_mode_of_issuance_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_mode_of_issuance_md_json_trigger ON test_tenant_mod_inventory_storage.mode_of_issuance CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_mode_of_issuance_md_json_trigger" for relation "test_tenant_mod_inventory_storage.mode_of_issuance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_mode_of_issuance_md_json_trigger ON test_tenant_mod_inventory_storage.mode_of_issuance CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_mode_of_issuance_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.mode_of_issuance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_mode_of_issuance_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_mode_of_issuance_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.mode_of_issuance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_mode_of_issuance_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_mode_of_issuance_ol_version_trigger ON test_tenant_mod_inventory_storage.mode_of_issuance CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_mode_of_issuance_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.mode_of_issuance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_mode_of_issuance_ol_version_trigger ON test_tenant_mod_inventory_storage.mode_of_issuance CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.mode_of_issuance_set_ol_version() CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.mode_of_issuance_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.mode_of_issuance_set_ol_version() CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.alternative_title_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.alternative_title_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_alternative_title_type ON test_tenant_mod_inventory_storage.alternative_title_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_alternative_title_type" for relation "test_tenant_mod_inventory_storage.alternative_title_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_alternative_title_type ON test_tenant_mod_inventory_storage.alternative_title_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.alternative_title_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.alternative_title_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.alternative_title_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.alternative_title_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.alternative_title_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.alternative_title_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.alternative_title_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'alternative_title_type', 'alternative_title_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS alternative_title_type_name_idx_unique ON test_tenant_mod_inventory_storage.alternative_title_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "alternative_title_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS alternative_title_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'alternative_title_type', 'alternative_title_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS alternative_title_type_name_idx_unique ON test_tenant_mod_inventory_storage.alternative_title_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'alternative_title_type', 'alternative_title_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS alternative_title_type_name_idx_unique ON test_tenant_mod_inventory_storage.alternative_title_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_alternative_title_type_references ON test_tenant_mod_inventory_storage.alternative_title_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_alternative_title_type_references" for relation "test_tenant_mod_inventory_storage.alternative_title_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_alternative_title_type_references ON test_tenant_mod_inventory_storage.alternative_title_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_alternative_title_type_references(); 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_alternative_title_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_alternative_title_type_references(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.alternative_title_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.alternative_title_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_alternative_title_type_md_trigger ON test_tenant_mod_inventory_storage.alternative_title_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_alternative_title_type_md_trigger" for relation "test_tenant_mod_inventory_storage.alternative_title_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_alternative_title_type_md_trigger ON test_tenant_mod_inventory_storage.alternative_title_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_alternative_title_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.alternative_title_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.alternative_title_type_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_alternative_title_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.alternative_title_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.alternative_title_type_set_md(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_alternative_title_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_alternative_title_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_alternative_title_type_md_json_trigger ON test_tenant_mod_inventory_storage.alternative_title_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_alternative_title_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.alternative_title_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_alternative_title_type_md_json_trigger ON test_tenant_mod_inventory_storage.alternative_title_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_alternative_title_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.alternative_title_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_alternative_title_type_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_alternative_title_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.alternative_title_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_alternative_title_type_md_json(); 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_alternative_title_type_ol_version_trigger ON test_tenant_mod_inventory_storage.alternative_title_type CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_alternative_title_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.alternative_title_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_alternative_title_type_ol_version_trigger ON test_tenant_mod_inventory_storage.alternative_title_type CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.alternative_title_type_set_ol_version() CASCADE; 09:33:41 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.alternative_title_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:41 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.alternative_title_type_set_ol_version() CASCADE; 09:33:41 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.audit_instance ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.audit_instance ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_instance ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_instance" for relation "test_tenant_mod_inventory_storage.instance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_instance ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.instance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_source_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_source_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->>'source'),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_source_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_source_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_source_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_source_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->>'source'),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_source_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_source_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->>'source'),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_indexTitle_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_indexTitle_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(f_unaccent(jsonb->>'indexTitle')),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_indextitle_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_indexTitle_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_indexTitle_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_indexTitle_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(f_unaccent(jsonb->>'indexTitle')),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_indexTitle_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_indexTitle_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(f_unaccent(jsonb->>'indexTitle')),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_title_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_title_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(f_unaccent(jsonb->>'title')),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_title_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_title_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_title_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_title_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(f_unaccent(jsonb->>'title')),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_title_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_title_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(f_unaccent(jsonb->>'title')),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_statisticalCodeIds_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_statisticalCodeIds_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->>'statisticalCodeIds'),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_statisticalcodeids_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_statisticalCodeIds_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_statisticalCodeIds_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_statisticalCodeIds_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->>'statisticalCodeIds'),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_statisticalCodeIds_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_statisticalCodeIds_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->>'statisticalCodeIds'),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_contributors_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(f_unaccent(jsonb->>'contributors')),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_contributors_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_contributors_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_contributors_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(f_unaccent(jsonb->>'contributors')),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_contributors_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(f_unaccent(jsonb->>'contributors')),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_publication_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_publication_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(f_unaccent(jsonb->>'publication')),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_publication_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_publication_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_publication_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_publication_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(f_unaccent(jsonb->>'publication')),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_publication_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_publication_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(f_unaccent(jsonb->>'publication')),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_staffSuppress_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_staffSuppress_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->>'staffSuppress'),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_staffsuppress_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_staffSuppress_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_staffSuppress_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_staffSuppress_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->>'staffSuppress'),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_staffSuppress_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_staffSuppress_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->>'staffSuppress'),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_discoverySuppress_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_discoverySuppress_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->>'discoverySuppress'),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_discoverysuppress_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_discoverySuppress_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_discoverySuppress_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_discoverySuppress_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->>'discoverySuppress'),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_discoverySuppress_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_discoverySuppress_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->>'discoverySuppress'),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_metadata_updatedDate_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_metadata_updatedDate_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->'metadata'->>'updatedDate'),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_metadata_updateddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_metadata_updatedDate_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_metadata_updatedDate_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_metadata_updatedDate_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->'metadata'->>'updatedDate'),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_metadata_updatedDate_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_metadata_updatedDate_idx ON test_tenant_mod_inventory_storage.instance ' || $rmb$(left(lower(jsonb->'metadata'->>'updatedDate'),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_hrid_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_hrid_idx_unique ON test_tenant_mod_inventory_storage.instance ' || $rmb$(lower(f_unaccent(jsonb->>'hrid')))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_hrid_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_hrid_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_hrid_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_hrid_idx_unique ON test_tenant_mod_inventory_storage.instance ' || $rmb$(lower(f_unaccent(jsonb->>'hrid')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_hrid_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_hrid_idx_unique ON test_tenant_mod_inventory_storage.instance ' || $rmb$(lower(f_unaccent(jsonb->>'hrid')))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_matchKey_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_matchKey_idx_unique ON test_tenant_mod_inventory_storage.instance ' || $rmb$(lower(f_unaccent(jsonb->>'matchKey')))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_matchkey_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_matchKey_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_matchKey_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_matchKey_idx_unique ON test_tenant_mod_inventory_storage.instance ' || $rmb$(lower(f_unaccent(jsonb->>'matchKey')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_matchKey_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_matchKey_idx_unique ON test_tenant_mod_inventory_storage.instance ' || $rmb$(lower(f_unaccent(jsonb->>'matchKey')))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_title_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_title_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'title'))) public.gin_trgm_ops)$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_title_idx_gin" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_title_idx_gin" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_title_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_title_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'title'))) public.gin_trgm_ops)$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_title_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_title_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'title'))) public.gin_trgm_ops)$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_indexTitle_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_indexTitle_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'indexTitle'))) public.gin_trgm_ops)$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_indextitle_idx_gin" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_indexTitle_idx_gin" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_indexTitle_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_indexTitle_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'indexTitle'))) public.gin_trgm_ops)$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_indexTitle_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_indexTitle_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'indexTitle'))) public.gin_trgm_ops)$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_contributors_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'contributors'))) public.gin_trgm_ops)$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_contributors_idx_gin" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_contributors_idx_gin" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_contributors_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'contributors'))) public.gin_trgm_ops)$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_contributors_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'contributors'))) public.gin_trgm_ops)$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_identifiers_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_identifiers_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'identifiers'))) public.gin_trgm_ops)$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_identifiers_idx_gin" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_identifiers_idx_gin" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_identifiers_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_identifiers_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'identifiers'))) public.gin_trgm_ops)$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_identifiers_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_identifiers_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'identifiers'))) public.gin_trgm_ops)$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_subjects_idx_gin', 'DELETE', 'CREATE INDEX IF NOT EXISTS instance_subjects_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'subjects'))) public.gin_trgm_ops)$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_subjects_idx_gin" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_subjects_idx_gin" PL/pgSQL function rmb_internal_index(text,text,text,text) line 10 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_subjects_idx_gin', 'DELETE', 'CREATE INDEX IF NOT EXISTS instance_subjects_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'subjects'))) public.gin_trgm_ops)$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_subjects_idx_gin', 'DELETE', 'CREATE INDEX IF NOT EXISTS instance_subjects_idx_gin ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'subjects'))) public.gin_trgm_ops)$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_classifications_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_classifications_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'classifications')) )$rmb$); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_classifications_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_classifications_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_classifications_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_classifications_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'classifications')) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_classifications_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_classifications_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'classifications')) )$rmb$); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_keyword_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_keyword_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(concat_space_sql(instance.jsonb->>'title' , instance.jsonb->>'indexTitle' , concat_array_object_values(instance.jsonb->'alternativeTitles','alternativeTitle') , instance.jsonb->>'series' , concat_array_object_values(instance.jsonb->'contributors','name') , concat_array_object_values(instance.jsonb->'identifiers','value')))) )$rmb$); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_keyword_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_keyword_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_keyword_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_keyword_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(concat_space_sql(instance.jsonb->>'title' , instance.jsonb->>'indexTitle' , concat_array_object_values(instance.jsonb->'alternativeTitles','alternativeTitle') , instance.jsonb->>'series' , concat_array_object_values(instance.jsonb->'contributors','name') , concat_array_object_values(instance.jsonb->'identifiers','value')))) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_keyword_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_keyword_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(concat_space_sql(instance.jsonb->>'title' , instance.jsonb->>'indexTitle' , concat_array_object_values(instance.jsonb->'alternativeTitles','alternativeTitle') , instance.jsonb->>'series' , concat_array_object_values(instance.jsonb->'contributors','name') , concat_array_object_values(instance.jsonb->'identifiers','value')))) )$rmb$); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_allTitles_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_allTitles_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(concat_space_sql(instance.jsonb->>'title' , instance.jsonb->>'indexTitle' , concat_array_object_values(instance.jsonb->'alternativeTitles','alternativeTitle') , instance.jsonb->>'series'))) )$rmb$); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_alltitles_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_allTitles_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_allTitles_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_allTitles_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(concat_space_sql(instance.jsonb->>'title' , instance.jsonb->>'indexTitle' , concat_array_object_values(instance.jsonb->'alternativeTitles','alternativeTitle') , instance.jsonb->>'series'))) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_allTitles_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_allTitles_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(concat_space_sql(instance.jsonb->>'title' , instance.jsonb->>'indexTitle' , concat_array_object_values(instance.jsonb->'alternativeTitles','alternativeTitle') , instance.jsonb->>'series'))) )$rmb$); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_contributorsNames_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_contributorsNames_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(concat_space_sql(concat_array_object_values(instance.jsonb->'contributors','name')))) )$rmb$); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_contributorsnames_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_contributorsNames_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_contributorsNames_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_contributorsNames_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(concat_space_sql(concat_array_object_values(instance.jsonb->'contributors','name')))) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_contributorsNames_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_contributorsNames_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(concat_space_sql(concat_array_object_values(instance.jsonb->'contributors','name')))) )$rmb$); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_title_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_title_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'title')) )$rmb$); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_title_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_title_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_title_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_title_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'title')) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_title_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_title_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'title')) )$rmb$); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_languages_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_languages_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'languages')) )$rmb$); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_languages_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_languages_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_languages_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_languages_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'languages')) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_languages_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_languages_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'languages')) )$rmb$); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_contributors_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'contributors')) )$rmb$); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_contributors_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_contributors_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_contributors_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'contributors')) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_contributors_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_contributors_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'contributors')) )$rmb$); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_identifiers_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_identifiers_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'identifiers')) )$rmb$); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_identifiers_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_identifiers_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_identifiers_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_identifiers_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'identifiers')) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_identifiers_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_identifiers_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'identifiers')) )$rmb$); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_invalidIsbn_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_invalidIsbn_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(normalize_invalid_isbns(jsonb->'identifiers')) )$rmb$); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_invalidisbn_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_invalidIsbn_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_invalidIsbn_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_invalidIsbn_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(normalize_invalid_isbns(jsonb->'identifiers')) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_invalidIsbn_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_invalidIsbn_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(normalize_invalid_isbns(jsonb->'identifiers')) )$rmb$); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_isbn_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_isbn_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(normalize_isbns(jsonb->'identifiers')) )$rmb$); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_isbn_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_isbn_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_isbn_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_isbn_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(normalize_isbns(jsonb->'identifiers')) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_isbn_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_isbn_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(normalize_isbns(jsonb->'identifiers')) )$rmb$); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_dateOfPublication_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_dateOfPublication_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(concat_array_object_values(jsonb->'publication', 'dateOfPublication')) )$rmb$); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_dateofpublication_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_dateOfPublication_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_dateOfPublication_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_dateOfPublication_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(concat_array_object_values(jsonb->'publication', 'dateOfPublication')) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_dateOfPublication_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_dateOfPublication_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(concat_array_object_values(jsonb->'publication', 'dateOfPublication')) )$rmb$); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_subjects_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_subjects_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'subjects')) )$rmb$); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_subjects_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_subjects_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance', 'instance_subjects_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_subjects_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'subjects')) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance', 'instance_subjects_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS instance_subjects_idx_ft ON test_tenant_mod_inventory_storage.instance USING GIN ' || $rmb$( get_tsvector(f_unaccent(jsonb->>'subjects')) )$rmb$); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance ADD COLUMN IF NOT EXISTS instanceStatusId UUID; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance ADD COLUMN IF NOT EXISTS instanceStatusId UUID; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE instance ADD CONSTRAINT instanceStatusId_instance_status_fkey FOREIGN KEY (instanceStatusId) REFERENCES instance_status; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE instance ADD CONSTRAINT instanceStatusId_instance_status_fkey FOREIGN KEY (instanceStatusId) REFERENCES instance_status; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS instance_instanceStatusId_idx ON test_tenant_mod_inventory_storage.instance (instanceStatusId); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS instance_instanceStatusId_idx ON test_tenant_mod_inventory_storage.instance (instanceStatusId); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('instance'); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('instance'); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance ADD COLUMN IF NOT EXISTS modeOfIssuanceId UUID; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance ADD COLUMN IF NOT EXISTS modeOfIssuanceId UUID; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE instance ADD CONSTRAINT modeOfIssuanceId_mode_of_issuance_fkey FOREIGN KEY (modeOfIssuanceId) REFERENCES mode_of_issuance; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE instance ADD CONSTRAINT modeOfIssuanceId_mode_of_issuance_fkey FOREIGN KEY (modeOfIssuanceId) REFERENCES mode_of_issuance; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS instance_modeOfIssuanceId_idx ON test_tenant_mod_inventory_storage.instance (modeOfIssuanceId); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS instance_modeOfIssuanceId_idx ON test_tenant_mod_inventory_storage.instance (modeOfIssuanceId); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('instance'); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('instance'); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance ADD COLUMN IF NOT EXISTS instanceTypeId UUID; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance ADD COLUMN IF NOT EXISTS instanceTypeId UUID; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE instance ADD CONSTRAINT instanceTypeId_instance_type_fkey FOREIGN KEY (instanceTypeId) REFERENCES instance_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE instance ADD CONSTRAINT instanceTypeId_instance_type_fkey FOREIGN KEY (instanceTypeId) REFERENCES instance_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS instance_instanceTypeId_idx ON test_tenant_mod_inventory_storage.instance (instanceTypeId); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS instance_instanceTypeId_idx ON test_tenant_mod_inventory_storage.instance (instanceTypeId); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('instance'); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('instance'); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_instance_references() RETURNS TRIGGER AS $$ BEGIN NEW.instanceStatusId = (NEW.jsonb->>'instanceStatusId'); NEW.modeOfIssuanceId = (NEW.jsonb->>'modeOfIssuanceId'); NEW.instanceTypeId = (NEW.jsonb->>'instanceTypeId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_instance_references() RETURNS TRIGGER AS $$ BEGIN NEW.instanceStatusId = (NEW.jsonb->>'instanceStatusId'); NEW.modeOfIssuanceId = (NEW.jsonb->>'modeOfIssuanceId'); NEW.instanceTypeId = (NEW.jsonb->>'instanceTypeId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_instance_references ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_instance_references" for relation "test_tenant_mod_inventory_storage.instance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_instance_references ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER update_instance_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_instance_references(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER update_instance_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_instance_references(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE instance DROP CONSTRAINT IF EXISTS ' || 'instanceStatusId_instance_status_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE instance DROP CONSTRAINT IF EXISTS ' || 'modeOfIssuanceId_mode_of_issuance_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE instance DROP CONSTRAINT IF EXISTS ' || 'instanceTypeId_instance_type_fkey' || i; END LOOP; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE instance DROP CONSTRAINT IF EXISTS ' || 'instanceStatusId_instance_status_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE instance DROP CONSTRAINT IF EXISTS ' || 'modeOfIssuanceId_mode_of_issuance_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE instance DROP CONSTRAINT IF EXISTS ' || 'instanceTypeId_instance_type_fkey' || i; END LOOP; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.instance_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.instance_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_md_trigger ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_md_trigger" for relation "test_tenant_mod_inventory_storage.instance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_md_trigger ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.instance_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.instance_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_md_json_trigger ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_md_json_trigger" for relation "test_tenant_mod_inventory_storage.instance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_md_json_trigger ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.instance_set_ol_version() RETURNS trigger AS $$ BEGIN CASE TG_OP WHEN 'INSERT' THEN NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(1)); WHEN 'UPDATE' THEN IF NEW.jsonb->'_version' IS DISTINCT FROM OLD.jsonb->'_version' THEN RAISE NOTICE 'Ignoring optimistic locking conflict while overwriting changed record %: ' 'Stored _version is %, _version of request is %', OLD.id, OLD.jsonb->'_version', NEW.jsonb->'_version' USING ERRCODE = '23F09', TABLE = 'instance', SCHEMA = 'test_tenant_mod_inventory_storage'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(COALESCE((OLD.jsonb->>'_version')::numeric + 1, 1))); END CASE; RETURN NEW; END; $$ LANGUAGE plpgsql; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.instance_set_ol_version() RETURNS trigger AS $$ BEGIN CASE TG_OP WHEN 'INSERT' THEN NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(1)); WHEN 'UPDATE' THEN IF NEW.jsonb->'_version' IS DISTINCT FROM OLD.jsonb->'_version' THEN RAISE NOTICE 'Ignoring optimistic locking conflict while overwriting changed record %: ' 'Stored _version is %, _version of request is %', OLD.id, OLD.jsonb->'_version', NEW.jsonb->'_version' USING ERRCODE = '23F09', TABLE = 'instance', SCHEMA = 'test_tenant_mod_inventory_storage'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(COALESCE((OLD.jsonb->>'_version')::numeric + 1, 1))); END CASE; RETURN NEW; END; $$ LANGUAGE plpgsql; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_ol_version_trigger ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.instance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_ol_version_trigger ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_ol_version_trigger BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.instance_set_ol_version(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_ol_version_trigger BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.instance_set_ol_version(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.audit_instance_changes() RETURNS TRIGGER AS $instance_audit$ DECLARE jsonb JSONB; uuidtext TEXT; uuid UUID; BEGIN jsonb = CASE WHEN TG_OP = 'DELETE' THEN OLD.jsonb ELSE NEW.jsonb END; -- create uuid based on the jsonb value so that concurrent updates of different records are possible. uuidtext = md5(jsonb::text); -- UUID version byte uuidtext = overlay(uuidtext placing '4' from 13); -- UUID variant byte uuidtext = overlay(uuidtext placing '8' from 17); uuid = uuidtext::uuid; -- If uuid is already in use increment until an unused is found. This can only happen if the jsonb content -- is exactly the same. This should be very rare when it includes a timestamp. WHILE EXISTS (SELECT 1 FROM test_tenant_mod_inventory_storage.audit_instance WHERE id = uuid) LOOP uuid = test_tenant_mod_inventory_storage.next_uuid(uuid); END LOOP; jsonb = jsonb_build_object( 'id', to_jsonb(uuid::text), 'record', jsonb, 'operation', to_jsonb(left(TG_OP, 1)), 'createdDate', to_jsonb(current_timestamp::text)); IF (TG_OP = 'DELETE') THEN ELSIF (TG_OP = 'UPDATE') THEN ELSIF (TG_OP = 'INSERT') THEN END IF; INSERT INTO test_tenant_mod_inventory_storage.audit_instance VALUES (uuid, jsonb); RETURN CASE WHEN TG_OP = 'DELETE' THEN OLD ELSE NEW END; END; $instance_audit$ LANGUAGE plpgsql; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.audit_instance_changes() RETURNS TRIGGER AS $instance_audit$ DECLARE jsonb JSONB; uuidtext TEXT; uuid UUID; BEGIN jsonb = CASE WHEN TG_OP = 'DELETE' THEN OLD.jsonb ELSE NEW.jsonb END; -- create uuid based on the jsonb value so that concurrent updates of different records are possible. uuidtext = md5(jsonb::text); -- UUID version byte uuidtext = overlay(uuidtext placing '4' from 13); -- UUID variant byte uuidtext = overlay(uuidtext placing '8' from 17); uuid = uuidtext::uuid; -- If uuid is already in use increment until an unused is found. This can only happen if the jsonb content -- is exactly the same. This should be very rare when it includes a timestamp. WHILE EXISTS (SELECT 1 FROM test_tenant_mod_inventory_storage.audit_instance WHERE id = uuid) LOOP uuid = test_tenant_mod_inventory_storage.next_uuid(uuid); END LOOP; jsonb = jsonb_build_object( 'id', to_jsonb(uuid::text), 'record', jsonb, 'operation', to_jsonb(left(TG_OP, 1)), 'createdDate', to_jsonb(current_timestamp::text)); IF (TG_OP = 'DELETE') THEN ELSIF (TG_OP = 'UPDATE') THEN ELSIF (TG_OP = 'INSERT') THEN END IF; INSERT INTO test_tenant_mod_inventory_storage.audit_instance VALUES (uuid, jsonb); RETURN CASE WHEN TG_OP = 'DELETE' THEN OLD ELSE NEW END; END; $instance_audit$ LANGUAGE plpgsql; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS audit_instance ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "audit_instance" for relation "test_tenant_mod_inventory_storage.instance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS audit_instance ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER audit_instance AFTER INSERT OR UPDATE OR DELETE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.audit_instance_changes(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER audit_instance AFTER INSERT OR UPDATE OR DELETE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.audit_instance_changes(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS audit_instance ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS audit_instance ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER audit_instance AFTER DELETE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.audit_instance_changes(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER audit_instance AFTER DELETE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.audit_instance_changes(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance_relationship ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance_relationship ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_instance_relationship ON test_tenant_mod_inventory_storage.instance_relationship CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_instance_relationship" for relation "test_tenant_mod_inventory_storage.instance_relationship" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_instance_relationship ON test_tenant_mod_inventory_storage.instance_relationship CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance_relationship CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.instance_relationship" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance_relationship CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_relationship FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_relationship FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance_relationship ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance_relationship ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance_relationship ADD COLUMN IF NOT EXISTS superInstanceId UUID; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance_relationship ADD COLUMN IF NOT EXISTS superInstanceId UUID; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE instance_relationship ADD CONSTRAINT superInstanceId_instance_fkey FOREIGN KEY (superInstanceId) REFERENCES instance; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE instance_relationship ADD CONSTRAINT superInstanceId_instance_fkey FOREIGN KEY (superInstanceId) REFERENCES instance; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS instance_relationship_superInstanceId_idx ON test_tenant_mod_inventory_storage.instance_relationship (superInstanceId); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS instance_relationship_superInstanceId_idx ON test_tenant_mod_inventory_storage.instance_relationship (superInstanceId); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('instance_relationship'); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('instance_relationship'); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance_relationship ADD COLUMN IF NOT EXISTS subInstanceId UUID; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance_relationship ADD COLUMN IF NOT EXISTS subInstanceId UUID; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE instance_relationship ADD CONSTRAINT subInstanceId_instance_fkey FOREIGN KEY (subInstanceId) REFERENCES instance; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE instance_relationship ADD CONSTRAINT subInstanceId_instance_fkey FOREIGN KEY (subInstanceId) REFERENCES instance; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS instance_relationship_subInstanceId_idx ON test_tenant_mod_inventory_storage.instance_relationship (subInstanceId); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS instance_relationship_subInstanceId_idx ON test_tenant_mod_inventory_storage.instance_relationship (subInstanceId); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('instance_relationship'); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('instance_relationship'); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance_relationship ADD COLUMN IF NOT EXISTS instanceRelationshipTypeId UUID; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance_relationship ADD COLUMN IF NOT EXISTS instanceRelationshipTypeId UUID; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE instance_relationship ADD CONSTRAINT instanceRelationshipTypeId_instance_relationship_type_fkey FOREIGN KEY (instanceRelationshipTypeId) REFERENCES instance_relationship_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE instance_relationship ADD CONSTRAINT instanceRelationshipTypeId_instance_relationship_type_fkey FOREIGN KEY (instanceRelationshipTypeId) REFERENCES instance_relationship_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS instance_relationship_instanceRelationshipTypeId_idx ON test_tenant_mod_inventory_storage.instance_relationship (instanceRelationshipTypeId); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS instance_relationship_instanceRelationshipTypeId_idx ON test_tenant_mod_inventory_storage.instance_relationship (instanceRelationshipTypeId); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('instance_relationship'); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('instance_relationship'); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_instance_relationship_references() RETURNS TRIGGER AS $$ BEGIN NEW.superInstanceId = (NEW.jsonb->>'superInstanceId'); NEW.subInstanceId = (NEW.jsonb->>'subInstanceId'); NEW.instanceRelationshipTypeId = (NEW.jsonb->>'instanceRelationshipTypeId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_instance_relationship_references() RETURNS TRIGGER AS $$ BEGIN NEW.superInstanceId = (NEW.jsonb->>'superInstanceId'); NEW.subInstanceId = (NEW.jsonb->>'subInstanceId'); NEW.instanceRelationshipTypeId = (NEW.jsonb->>'instanceRelationshipTypeId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_instance_relationship_references ON test_tenant_mod_inventory_storage.instance_relationship CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_instance_relationship_references" for relation "test_tenant_mod_inventory_storage.instance_relationship" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_instance_relationship_references ON test_tenant_mod_inventory_storage.instance_relationship CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER update_instance_relationship_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_relationship FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_instance_relationship_references(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER update_instance_relationship_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_relationship FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_instance_relationship_references(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE instance_relationship DROP CONSTRAINT IF EXISTS ' || 'superInstanceId_instance_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE instance_relationship DROP CONSTRAINT IF EXISTS ' || 'subInstanceId_instance_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE instance_relationship DROP CONSTRAINT IF EXISTS ' || 'instanceRelationshipTypeId_instance_relationship_type_fkey' || i; END LOOP; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE instance_relationship DROP CONSTRAINT IF EXISTS ' || 'superInstanceId_instance_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE instance_relationship DROP CONSTRAINT IF EXISTS ' || 'subInstanceId_instance_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE instance_relationship DROP CONSTRAINT IF EXISTS ' || 'instanceRelationshipTypeId_instance_relationship_type_fkey' || i; END LOOP; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.instance_relationship_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.instance_relationship_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_relationship_md_trigger ON test_tenant_mod_inventory_storage.instance_relationship CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_relationship_md_trigger" for relation "test_tenant_mod_inventory_storage.instance_relationship" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_relationship_md_trigger ON test_tenant_mod_inventory_storage.instance_relationship CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_relationship_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.instance_relationship FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.instance_relationship_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_relationship_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.instance_relationship FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.instance_relationship_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_relationship_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_relationship_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_relationship_md_json_trigger ON test_tenant_mod_inventory_storage.instance_relationship CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_relationship_md_json_trigger" for relation "test_tenant_mod_inventory_storage.instance_relationship" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_relationship_md_json_trigger ON test_tenant_mod_inventory_storage.instance_relationship CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_relationship_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.instance_relationship FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_relationship_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_relationship_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.instance_relationship FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_relationship_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_relationship_ol_version_trigger ON test_tenant_mod_inventory_storage.instance_relationship CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_relationship_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.instance_relationship" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_relationship_ol_version_trigger ON test_tenant_mod_inventory_storage.instance_relationship CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_relationship_set_ol_version() CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.instance_relationship_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_relationship_set_ol_version() CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance_source_marc ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance_source_marc ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_instance_source_marc ON test_tenant_mod_inventory_storage.instance_source_marc CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_instance_source_marc" for relation "test_tenant_mod_inventory_storage.instance_source_marc" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_instance_source_marc ON test_tenant_mod_inventory_storage.instance_source_marc CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance_source_marc CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.instance_source_marc" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance_source_marc CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_source_marc FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_source_marc FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance_source_marc ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance_source_marc ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_instance_source_marc_references ON test_tenant_mod_inventory_storage.instance_source_marc CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_instance_source_marc_references" for relation "test_tenant_mod_inventory_storage.instance_source_marc" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_instance_source_marc_references ON test_tenant_mod_inventory_storage.instance_source_marc CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_instance_source_marc_references(); 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_instance_source_marc_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_instance_source_marc_references(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.instance_source_marc_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.instance_source_marc_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_source_marc_md_trigger ON test_tenant_mod_inventory_storage.instance_source_marc CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_source_marc_md_trigger" for relation "test_tenant_mod_inventory_storage.instance_source_marc" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_source_marc_md_trigger ON test_tenant_mod_inventory_storage.instance_source_marc CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_source_marc_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.instance_source_marc FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.instance_source_marc_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_source_marc_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.instance_source_marc FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.instance_source_marc_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_source_marc_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_source_marc_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_source_marc_md_json_trigger ON test_tenant_mod_inventory_storage.instance_source_marc CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_source_marc_md_json_trigger" for relation "test_tenant_mod_inventory_storage.instance_source_marc" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_source_marc_md_json_trigger ON test_tenant_mod_inventory_storage.instance_source_marc CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_source_marc_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.instance_source_marc FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_source_marc_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_source_marc_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.instance_source_marc FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_source_marc_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_source_marc_ol_version_trigger ON test_tenant_mod_inventory_storage.instance_source_marc CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_source_marc_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.instance_source_marc" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_source_marc_ol_version_trigger ON test_tenant_mod_inventory_storage.instance_source_marc CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_source_marc_set_ol_version() CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.instance_source_marc_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_source_marc_set_ol_version() CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance_source_marc ADD FOREIGN KEY (id) REFERENCES test_tenant_mod_inventory_storage.instance; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance_source_marc ADD FOREIGN KEY (id) REFERENCES test_tenant_mod_inventory_storage.instance; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_sourceRecordFormat() RETURNS TRIGGER AS $$ BEGIN CASE TG_OP WHEN 'INSERT' THEN -- a newly inserted instance cannot have a source record because of foreign key relationship NEW.jsonb := NEW.jsonb - 'sourceRecordFormat'; ELSE NEW.jsonb := CASE (SELECT count(*) FROM test_tenant_mod_inventory_storage.instance_source_marc WHERE id=NEW.id) WHEN 0 THEN NEW.jsonb - 'sourceRecordFormat' ELSE jsonb_set(NEW.jsonb, '{sourceRecordFormat}', '"MARC-JSON"') END; END CASE; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_sourceRecordFormat() RETURNS TRIGGER AS $$ BEGIN CASE TG_OP WHEN 'INSERT' THEN -- a newly inserted instance cannot have a source record because of foreign key relationship NEW.jsonb := NEW.jsonb - 'sourceRecordFormat'; ELSE NEW.jsonb := CASE (SELECT count(*) FROM test_tenant_mod_inventory_storage.instance_source_marc WHERE id=NEW.id) WHEN 0 THEN NEW.jsonb - 'sourceRecordFormat' ELSE jsonb_set(NEW.jsonb, '{sourceRecordFormat}', '"MARC-JSON"') END; END CASE; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_sourceRecordFormat ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_sourcerecordformat" for relation "test_tenant_mod_inventory_storage.instance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_sourceRecordFormat ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_sourceRecordFormat BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_sourceRecordFormat(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_sourceRecordFormat BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_sourceRecordFormat(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_instance_source_marc() RETURNS TRIGGER AS $$ BEGIN IF (TG_OP = 'DELETE') THEN UPDATE test_tenant_mod_inventory_storage.instance SET jsonb = jsonb - 'sourceRecordFormat' WHERE id = OLD.id; ELSE UPDATE test_tenant_mod_inventory_storage.instance SET jsonb = jsonb_set(jsonb, '{sourceRecordFormat}', '"MARC-JSON"') WHERE id = NEW.id; END IF; RETURN NULL; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_instance_source_marc() RETURNS TRIGGER AS $$ BEGIN IF (TG_OP = 'DELETE') THEN UPDATE test_tenant_mod_inventory_storage.instance SET jsonb = jsonb - 'sourceRecordFormat' WHERE id = OLD.id; ELSE UPDATE test_tenant_mod_inventory_storage.instance SET jsonb = jsonb_set(jsonb, '{sourceRecordFormat}', '"MARC-JSON"') WHERE id = NEW.id; END IF; RETURN NULL; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_instance_source_marc ON test_tenant_mod_inventory_storage.instance_source_marc CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_instance_source_marc" for relation "test_tenant_mod_inventory_storage.instance_source_marc" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_instance_source_marc ON test_tenant_mod_inventory_storage.instance_source_marc CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER update_instance_source_marc AFTER DELETE OR INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_source_marc FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_instance_source_marc(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER update_instance_source_marc AFTER DELETE OR INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_source_marc FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_instance_source_marc(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.ill_policy ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.ill_policy ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_ill_policy ON test_tenant_mod_inventory_storage.ill_policy CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_ill_policy" for relation "test_tenant_mod_inventory_storage.ill_policy" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_ill_policy ON test_tenant_mod_inventory_storage.ill_policy CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.ill_policy CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.ill_policy" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.ill_policy CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.ill_policy FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.ill_policy FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.ill_policy ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.ill_policy ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'ill_policy', 'ill_policy_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS ill_policy_name_idx_unique ON test_tenant_mod_inventory_storage.ill_policy ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "ill_policy_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS ill_policy_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'ill_policy', 'ill_policy_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS ill_policy_name_idx_unique ON test_tenant_mod_inventory_storage.ill_policy ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'ill_policy', 'ill_policy_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS ill_policy_name_idx_unique ON test_tenant_mod_inventory_storage.ill_policy ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_ill_policy_references ON test_tenant_mod_inventory_storage.ill_policy CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_ill_policy_references" for relation "test_tenant_mod_inventory_storage.ill_policy" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_ill_policy_references ON test_tenant_mod_inventory_storage.ill_policy CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_ill_policy_references(); 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_ill_policy_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_ill_policy_references(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.ill_policy_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.ill_policy_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_ill_policy_md_trigger ON test_tenant_mod_inventory_storage.ill_policy CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_ill_policy_md_trigger" for relation "test_tenant_mod_inventory_storage.ill_policy" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_ill_policy_md_trigger ON test_tenant_mod_inventory_storage.ill_policy CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_ill_policy_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.ill_policy FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.ill_policy_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_ill_policy_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.ill_policy FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.ill_policy_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_ill_policy_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_ill_policy_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_ill_policy_md_json_trigger ON test_tenant_mod_inventory_storage.ill_policy CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_ill_policy_md_json_trigger" for relation "test_tenant_mod_inventory_storage.ill_policy" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_ill_policy_md_json_trigger ON test_tenant_mod_inventory_storage.ill_policy CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_ill_policy_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.ill_policy FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_ill_policy_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_ill_policy_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.ill_policy FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_ill_policy_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_ill_policy_ol_version_trigger ON test_tenant_mod_inventory_storage.ill_policy CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_ill_policy_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.ill_policy" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_ill_policy_ol_version_trigger ON test_tenant_mod_inventory_storage.ill_policy CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.ill_policy_set_ol_version() CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.ill_policy_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.ill_policy_set_ol_version() CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.call_number_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.call_number_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_call_number_type ON test_tenant_mod_inventory_storage.call_number_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_call_number_type" for relation "test_tenant_mod_inventory_storage.call_number_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_call_number_type ON test_tenant_mod_inventory_storage.call_number_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.call_number_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.call_number_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.call_number_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.call_number_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.call_number_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.call_number_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.call_number_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'call_number_type', 'call_number_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS call_number_type_name_idx_unique ON test_tenant_mod_inventory_storage.call_number_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "call_number_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS call_number_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'call_number_type', 'call_number_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS call_number_type_name_idx_unique ON test_tenant_mod_inventory_storage.call_number_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'call_number_type', 'call_number_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS call_number_type_name_idx_unique ON test_tenant_mod_inventory_storage.call_number_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_call_number_type_references ON test_tenant_mod_inventory_storage.call_number_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_call_number_type_references" for relation "test_tenant_mod_inventory_storage.call_number_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_call_number_type_references ON test_tenant_mod_inventory_storage.call_number_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_call_number_type_references(); 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_call_number_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_call_number_type_references(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.call_number_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.call_number_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_call_number_type_md_trigger ON test_tenant_mod_inventory_storage.call_number_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_call_number_type_md_trigger" for relation "test_tenant_mod_inventory_storage.call_number_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_call_number_type_md_trigger ON test_tenant_mod_inventory_storage.call_number_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_call_number_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.call_number_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.call_number_type_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_call_number_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.call_number_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.call_number_type_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_call_number_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_call_number_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_call_number_type_md_json_trigger ON test_tenant_mod_inventory_storage.call_number_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_call_number_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.call_number_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_call_number_type_md_json_trigger ON test_tenant_mod_inventory_storage.call_number_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_call_number_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.call_number_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_call_number_type_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_call_number_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.call_number_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_call_number_type_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_call_number_type_ol_version_trigger ON test_tenant_mod_inventory_storage.call_number_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_call_number_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.call_number_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_call_number_type_ol_version_trigger ON test_tenant_mod_inventory_storage.call_number_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.call_number_type_set_ol_version() CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.call_number_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.call_number_type_set_ol_version() CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.holdings_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.holdings_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_holdings_type ON test_tenant_mod_inventory_storage.holdings_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_holdings_type" for relation "test_tenant_mod_inventory_storage.holdings_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_holdings_type ON test_tenant_mod_inventory_storage.holdings_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.holdings_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.holdings_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.holdings_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.holdings_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.holdings_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.holdings_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.holdings_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_type', 'holdings_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_type_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "holdings_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS holdings_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'holdings_type', 'holdings_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_type_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_type', 'holdings_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_type_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_holdings_type_references ON test_tenant_mod_inventory_storage.holdings_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_holdings_type_references" for relation "test_tenant_mod_inventory_storage.holdings_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_holdings_type_references ON test_tenant_mod_inventory_storage.holdings_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_holdings_type_references(); 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_holdings_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_holdings_type_references(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.holdings_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.holdings_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_holdings_type_md_trigger ON test_tenant_mod_inventory_storage.holdings_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_holdings_type_md_trigger" for relation "test_tenant_mod_inventory_storage.holdings_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_holdings_type_md_trigger ON test_tenant_mod_inventory_storage.holdings_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_holdings_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.holdings_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.holdings_type_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_holdings_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.holdings_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.holdings_type_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_holdings_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_holdings_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_holdings_type_md_json_trigger ON test_tenant_mod_inventory_storage.holdings_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_holdings_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.holdings_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_holdings_type_md_json_trigger ON test_tenant_mod_inventory_storage.holdings_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_holdings_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.holdings_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_holdings_type_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_holdings_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.holdings_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_holdings_type_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_holdings_type_ol_version_trigger ON test_tenant_mod_inventory_storage.holdings_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_holdings_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.holdings_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_holdings_type_ol_version_trigger ON test_tenant_mod_inventory_storage.holdings_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.holdings_type_set_ol_version() CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.holdings_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.holdings_type_set_ol_version() CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.authority_note_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.authority_note_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_authority_note_type ON test_tenant_mod_inventory_storage.authority_note_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_authority_note_type" for relation "test_tenant_mod_inventory_storage.authority_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_authority_note_type ON test_tenant_mod_inventory_storage.authority_note_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.authority_note_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.authority_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.authority_note_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.authority_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.authority_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.authority_note_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.authority_note_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'authority_note_type', 'authority_note_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS authority_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.authority_note_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "authority_note_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS authority_note_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'authority_note_type', 'authority_note_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS authority_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.authority_note_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'authority_note_type', 'authority_note_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS authority_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.authority_note_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_authority_note_type_references ON test_tenant_mod_inventory_storage.authority_note_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_authority_note_type_references" for relation "test_tenant_mod_inventory_storage.authority_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_authority_note_type_references ON test_tenant_mod_inventory_storage.authority_note_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_authority_note_type_references(); 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_authority_note_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_authority_note_type_references(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.authority_note_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.authority_note_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_authority_note_type_md_trigger ON test_tenant_mod_inventory_storage.authority_note_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_authority_note_type_md_trigger" for relation "test_tenant_mod_inventory_storage.authority_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_authority_note_type_md_trigger ON test_tenant_mod_inventory_storage.authority_note_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_authority_note_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.authority_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.authority_note_type_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_authority_note_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.authority_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.authority_note_type_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_authority_note_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_authority_note_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_authority_note_type_md_json_trigger ON test_tenant_mod_inventory_storage.authority_note_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_authority_note_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.authority_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_authority_note_type_md_json_trigger ON test_tenant_mod_inventory_storage.authority_note_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_authority_note_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.authority_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_authority_note_type_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_authority_note_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.authority_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_authority_note_type_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_authority_note_type_ol_version_trigger ON test_tenant_mod_inventory_storage.authority_note_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_authority_note_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.authority_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_authority_note_type_ol_version_trigger ON test_tenant_mod_inventory_storage.authority_note_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.authority_note_type_set_ol_version() CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.authority_note_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.authority_note_type_set_ol_version() CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance_note_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.instance_note_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_instance_note_type ON test_tenant_mod_inventory_storage.instance_note_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_instance_note_type" for relation "test_tenant_mod_inventory_storage.instance_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_instance_note_type ON test_tenant_mod_inventory_storage.instance_note_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance_note_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.instance_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.instance_note_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.instance_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance_note_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance_note_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_note_type', 'instance_note_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_note_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_note_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS instance_note_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'instance_note_type', 'instance_note_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_note_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'instance_note_type', 'instance_note_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS instance_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.instance_note_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_instance_note_type_references ON test_tenant_mod_inventory_storage.instance_note_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_instance_note_type_references" for relation "test_tenant_mod_inventory_storage.instance_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_instance_note_type_references ON test_tenant_mod_inventory_storage.instance_note_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_instance_note_type_references(); 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_instance_note_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_instance_note_type_references(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.instance_note_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.instance_note_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_note_type_md_trigger ON test_tenant_mod_inventory_storage.instance_note_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_note_type_md_trigger" for relation "test_tenant_mod_inventory_storage.instance_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_note_type_md_trigger ON test_tenant_mod_inventory_storage.instance_note_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_note_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.instance_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.instance_note_type_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_note_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.instance_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.instance_note_type_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_note_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_note_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_note_type_md_json_trigger ON test_tenant_mod_inventory_storage.instance_note_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_note_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.instance_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_note_type_md_json_trigger ON test_tenant_mod_inventory_storage.instance_note_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_note_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.instance_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_note_type_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_note_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.instance_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_note_type_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_note_type_ol_version_trigger ON test_tenant_mod_inventory_storage.instance_note_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_note_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.instance_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_note_type_ol_version_trigger ON test_tenant_mod_inventory_storage.instance_note_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_note_type_set_ol_version() CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.instance_note_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.instance_note_type_set_ol_version() CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.holdings_note_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.holdings_note_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_holdings_note_type ON test_tenant_mod_inventory_storage.holdings_note_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_holdings_note_type" for relation "test_tenant_mod_inventory_storage.holdings_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_holdings_note_type ON test_tenant_mod_inventory_storage.holdings_note_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.holdings_note_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.holdings_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.holdings_note_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.holdings_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.holdings_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.holdings_note_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.holdings_note_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_note_type', 'holdings_note_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_note_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "holdings_note_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS holdings_note_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'holdings_note_type', 'holdings_note_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_note_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_note_type', 'holdings_note_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_note_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_holdings_note_type_references ON test_tenant_mod_inventory_storage.holdings_note_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_holdings_note_type_references" for relation "test_tenant_mod_inventory_storage.holdings_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_holdings_note_type_references ON test_tenant_mod_inventory_storage.holdings_note_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_holdings_note_type_references(); 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_holdings_note_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_holdings_note_type_references(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.holdings_note_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.holdings_note_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_holdings_note_type_md_trigger ON test_tenant_mod_inventory_storage.holdings_note_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_holdings_note_type_md_trigger" for relation "test_tenant_mod_inventory_storage.holdings_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_holdings_note_type_md_trigger ON test_tenant_mod_inventory_storage.holdings_note_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_holdings_note_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.holdings_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.holdings_note_type_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_holdings_note_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.holdings_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.holdings_note_type_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_holdings_note_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_holdings_note_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_holdings_note_type_md_json_trigger ON test_tenant_mod_inventory_storage.holdings_note_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_holdings_note_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.holdings_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_holdings_note_type_md_json_trigger ON test_tenant_mod_inventory_storage.holdings_note_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_holdings_note_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.holdings_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_holdings_note_type_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_holdings_note_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.holdings_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_holdings_note_type_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_holdings_note_type_ol_version_trigger ON test_tenant_mod_inventory_storage.holdings_note_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_holdings_note_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.holdings_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_holdings_note_type_ol_version_trigger ON test_tenant_mod_inventory_storage.holdings_note_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.holdings_note_type_set_ol_version() CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.holdings_note_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.holdings_note_type_set_ol_version() CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.item_note_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.item_note_type ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_item_note_type ON test_tenant_mod_inventory_storage.item_note_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_item_note_type" for relation "test_tenant_mod_inventory_storage.item_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_item_note_type ON test_tenant_mod_inventory_storage.item_note_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.item_note_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.item_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.item_note_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.item_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.item_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item_note_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item_note_type ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'item_note_type', 'item_note_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS item_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.item_note_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_note_type_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS item_note_type_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'item_note_type', 'item_note_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS item_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.item_note_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'item_note_type', 'item_note_type_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS item_note_type_name_idx_unique ON test_tenant_mod_inventory_storage.item_note_type ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_item_note_type_references ON test_tenant_mod_inventory_storage.item_note_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_item_note_type_references" for relation "test_tenant_mod_inventory_storage.item_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_item_note_type_references ON test_tenant_mod_inventory_storage.item_note_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_item_note_type_references(); 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_item_note_type_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_item_note_type_references(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.item_note_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.item_note_type_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_item_note_type_md_trigger ON test_tenant_mod_inventory_storage.item_note_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_item_note_type_md_trigger" for relation "test_tenant_mod_inventory_storage.item_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_item_note_type_md_trigger ON test_tenant_mod_inventory_storage.item_note_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_item_note_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.item_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.item_note_type_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_item_note_type_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.item_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.item_note_type_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_item_note_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_item_note_type_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_item_note_type_md_json_trigger ON test_tenant_mod_inventory_storage.item_note_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_item_note_type_md_json_trigger" for relation "test_tenant_mod_inventory_storage.item_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_item_note_type_md_json_trigger ON test_tenant_mod_inventory_storage.item_note_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_item_note_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.item_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_item_note_type_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_item_note_type_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.item_note_type FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_item_note_type_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_item_note_type_ol_version_trigger ON test_tenant_mod_inventory_storage.item_note_type CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_item_note_type_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.item_note_type" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_item_note_type_ol_version_trigger ON test_tenant_mod_inventory_storage.item_note_type CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.item_note_type_set_ol_version() CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.item_note_type_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.item_note_type_set_ol_version() CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.item_damaged_status ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.item_damaged_status ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_item_damaged_status ON test_tenant_mod_inventory_storage.item_damaged_status CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_item_damaged_status" for relation "test_tenant_mod_inventory_storage.item_damaged_status" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_item_damaged_status ON test_tenant_mod_inventory_storage.item_damaged_status CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.item_damaged_status CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.item_damaged_status" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.item_damaged_status CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.item_damaged_status FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.item_damaged_status FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item_damaged_status ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item_damaged_status ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'item_damaged_status', 'item_damaged_status_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS item_damaged_status_name_idx_unique ON test_tenant_mod_inventory_storage.item_damaged_status ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_damaged_status_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS item_damaged_status_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'item_damaged_status', 'item_damaged_status_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS item_damaged_status_name_idx_unique ON test_tenant_mod_inventory_storage.item_damaged_status ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'item_damaged_status', 'item_damaged_status_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS item_damaged_status_name_idx_unique ON test_tenant_mod_inventory_storage.item_damaged_status ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_item_damaged_status_references ON test_tenant_mod_inventory_storage.item_damaged_status CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_item_damaged_status_references" for relation "test_tenant_mod_inventory_storage.item_damaged_status" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_item_damaged_status_references ON test_tenant_mod_inventory_storage.item_damaged_status CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_item_damaged_status_references(); 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_item_damaged_status_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_item_damaged_status_references(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.item_damaged_status_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.item_damaged_status_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_item_damaged_status_md_trigger ON test_tenant_mod_inventory_storage.item_damaged_status CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_item_damaged_status_md_trigger" for relation "test_tenant_mod_inventory_storage.item_damaged_status" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_item_damaged_status_md_trigger ON test_tenant_mod_inventory_storage.item_damaged_status CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_item_damaged_status_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.item_damaged_status FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.item_damaged_status_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_item_damaged_status_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.item_damaged_status FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.item_damaged_status_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_item_damaged_status_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_item_damaged_status_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_item_damaged_status_md_json_trigger ON test_tenant_mod_inventory_storage.item_damaged_status CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_item_damaged_status_md_json_trigger" for relation "test_tenant_mod_inventory_storage.item_damaged_status" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_item_damaged_status_md_json_trigger ON test_tenant_mod_inventory_storage.item_damaged_status CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_item_damaged_status_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.item_damaged_status FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_item_damaged_status_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_item_damaged_status_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.item_damaged_status FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_item_damaged_status_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_item_damaged_status_ol_version_trigger ON test_tenant_mod_inventory_storage.item_damaged_status CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_item_damaged_status_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.item_damaged_status" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_item_damaged_status_ol_version_trigger ON test_tenant_mod_inventory_storage.item_damaged_status CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.item_damaged_status_set_ol_version() CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.item_damaged_status_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.item_damaged_status_set_ol_version() CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.holdings_records_source ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.holdings_records_source ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_holdings_records_source ON test_tenant_mod_inventory_storage.holdings_records_source CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_holdings_records_source" for relation "test_tenant_mod_inventory_storage.holdings_records_source" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_holdings_records_source ON test_tenant_mod_inventory_storage.holdings_records_source CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.holdings_records_source CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.holdings_records_source" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.holdings_records_source CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.holdings_records_source FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.holdings_records_source FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.holdings_records_source ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.holdings_records_source ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_records_source', 'holdings_records_source_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_records_source_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_records_source ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "holdings_records_source_name_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS holdings_records_source_name_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'holdings_records_source', 'holdings_records_source_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_records_source_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_records_source ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_records_source', 'holdings_records_source_name_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_records_source_name_idx_unique ON test_tenant_mod_inventory_storage.holdings_records_source ' || $rmb$(lower(f_unaccent(jsonb->>'name')))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_holdings_records_source_references ON test_tenant_mod_inventory_storage.holdings_records_source CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_holdings_records_source_references" for relation "test_tenant_mod_inventory_storage.holdings_records_source" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_holdings_records_source_references ON test_tenant_mod_inventory_storage.holdings_records_source CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_holdings_records_source_references(); 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_holdings_records_source_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_holdings_records_source_references(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.holdings_records_source_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.holdings_records_source_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_holdings_records_source_md_trigger ON test_tenant_mod_inventory_storage.holdings_records_source CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_holdings_records_source_md_trigger" for relation "test_tenant_mod_inventory_storage.holdings_records_source" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_holdings_records_source_md_trigger ON test_tenant_mod_inventory_storage.holdings_records_source CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_holdings_records_source_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.holdings_records_source FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.holdings_records_source_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_holdings_records_source_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.holdings_records_source FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.holdings_records_source_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_holdings_records_source_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_holdings_records_source_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_holdings_records_source_md_json_trigger ON test_tenant_mod_inventory_storage.holdings_records_source CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_holdings_records_source_md_json_trigger" for relation "test_tenant_mod_inventory_storage.holdings_records_source" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_holdings_records_source_md_json_trigger ON test_tenant_mod_inventory_storage.holdings_records_source CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_holdings_records_source_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.holdings_records_source FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_holdings_records_source_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_holdings_records_source_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.holdings_records_source FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_holdings_records_source_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_holdings_records_source_ol_version_trigger ON test_tenant_mod_inventory_storage.holdings_records_source CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_holdings_records_source_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.holdings_records_source" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_holdings_records_source_ol_version_trigger ON test_tenant_mod_inventory_storage.holdings_records_source CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.holdings_records_source_set_ol_version() CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.holdings_records_source_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.holdings_records_source_set_ol_version() CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.holdings_record ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.holdings_record ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.audit_holdings_record ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.audit_holdings_record ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_holdings_record ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_holdings_record" for relation "test_tenant_mod_inventory_storage.holdings_record" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_holdings_record ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.holdings_record" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.holdings_record FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.holdings_record FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_callNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_callNumber_idx ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(left(lower(jsonb->>'callNumber'),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "holdings_record_callnumber_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS holdings_record_callNumber_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'holdings_record', 'holdings_record_callNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_callNumber_idx ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(left(lower(jsonb->>'callNumber'),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_callNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_callNumber_idx ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(left(lower(jsonb->>'callNumber'),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_callNumberAndSuffix_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_callNumberAndSuffix_idx ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(left(lower(concat_space_sql(holdings_record.jsonb->>'callNumber' , holdings_record.jsonb->>'callNumberSuffix')),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "holdings_record_callnumberandsuffix_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS holdings_record_callNumberAndSuffix_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'holdings_record', 'holdings_record_callNumberAndSuffix_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_callNumberAndSuffix_idx ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(left(lower(concat_space_sql(holdings_record.jsonb->>'callNumber' , holdings_record.jsonb->>'callNumberSuffix')),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_callNumberAndSuffix_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_callNumberAndSuffix_idx ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(left(lower(concat_space_sql(holdings_record.jsonb->>'callNumber' , holdings_record.jsonb->>'callNumberSuffix')),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_fullCallNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_fullCallNumber_idx ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(left(lower(concat_space_sql(holdings_record.jsonb->>'callNumberPrefix' , holdings_record.jsonb->>'callNumber' , holdings_record.jsonb->>'callNumberSuffix')),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "holdings_record_fullcallnumber_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS holdings_record_fullCallNumber_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'holdings_record', 'holdings_record_fullCallNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_fullCallNumber_idx ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(left(lower(concat_space_sql(holdings_record.jsonb->>'callNumberPrefix' , holdings_record.jsonb->>'callNumber' , holdings_record.jsonb->>'callNumberSuffix')),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_fullCallNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_fullCallNumber_idx ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(left(lower(concat_space_sql(holdings_record.jsonb->>'callNumberPrefix' , holdings_record.jsonb->>'callNumber' , holdings_record.jsonb->>'callNumberSuffix')),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_discoverySuppress_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_discoverySuppress_idx ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(left(lower(jsonb->>'discoverySuppress'),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "holdings_record_discoverysuppress_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS holdings_record_discoverySuppress_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'holdings_record', 'holdings_record_discoverySuppress_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_discoverySuppress_idx ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(left(lower(jsonb->>'discoverySuppress'),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_discoverySuppress_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_discoverySuppress_idx ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(left(lower(jsonb->>'discoverySuppress'),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_hrid_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_record_hrid_idx_unique ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(lower(f_unaccent(jsonb->>'hrid')))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "holdings_record_hrid_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS holdings_record_hrid_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'holdings_record', 'holdings_record_hrid_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_record_hrid_idx_unique ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(lower(f_unaccent(jsonb->>'hrid')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_hrid_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS holdings_record_hrid_idx_unique ON test_tenant_mod_inventory_storage.holdings_record ' || $rmb$(lower(f_unaccent(jsonb->>'hrid')))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_electronicAccess_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_electronicAccess_idx_gin ON test_tenant_mod_inventory_storage.holdings_record USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'electronicAccess'))) public.gin_trgm_ops)$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "holdings_record_electronicaccess_idx_gin" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS holdings_record_electronicAccess_idx_gin" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'holdings_record', 'holdings_record_electronicAccess_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_electronicAccess_idx_gin ON test_tenant_mod_inventory_storage.holdings_record USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'electronicAccess'))) public.gin_trgm_ops)$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_electronicAccess_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_electronicAccess_idx_gin ON test_tenant_mod_inventory_storage.holdings_record USING GIN ' || $rmb$((lower(f_unaccent(jsonb->>'electronicAccess'))) public.gin_trgm_ops)$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_callNumberAndSuffixNormalized_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_callNumberAndSuffixNormalized_idx_ft ON test_tenant_mod_inventory_storage.holdings_record USING GIN ' || $rmb$( get_tsvector(normalize_holdings_call_number_and_suffix(jsonb)) )$rmb$); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "holdings_record_callnumberandsuffixnormalized_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS holdings_record_callNumberAndSuffixNormalized_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'holdings_record', 'holdings_record_callNumberAndSuffixNormalized_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_callNumberAndSuffixNormalized_idx_ft ON test_tenant_mod_inventory_storage.holdings_record USING GIN ' || $rmb$( get_tsvector(normalize_holdings_call_number_and_suffix(jsonb)) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_callNumberAndSuffixNormalized_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_callNumberAndSuffixNormalized_idx_ft ON test_tenant_mod_inventory_storage.holdings_record USING GIN ' || $rmb$( get_tsvector(normalize_holdings_call_number_and_suffix(jsonb)) )$rmb$); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_fullCallNumberNormalized_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_fullCallNumberNormalized_idx_ft ON test_tenant_mod_inventory_storage.holdings_record USING GIN ' || $rmb$( get_tsvector(normalize_holdings_full_call_number(jsonb)) )$rmb$); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "holdings_record_fullcallnumbernormalized_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS holdings_record_fullCallNumberNormalized_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'holdings_record', 'holdings_record_fullCallNumberNormalized_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_fullCallNumberNormalized_idx_ft ON test_tenant_mod_inventory_storage.holdings_record USING GIN ' || $rmb$( get_tsvector(normalize_holdings_full_call_number(jsonb)) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'holdings_record', 'holdings_record_fullCallNumberNormalized_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS holdings_record_fullCallNumberNormalized_idx_ft ON test_tenant_mod_inventory_storage.holdings_record USING GIN ' || $rmb$( get_tsvector(normalize_holdings_full_call_number(jsonb)) )$rmb$); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS instanceId UUID; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS instanceId UUID; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT instanceId_instance_fkey FOREIGN KEY (instanceId) REFERENCES instance; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT instanceId_instance_fkey FOREIGN KEY (instanceId) REFERENCES instance; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS holdings_record_instanceId_idx ON test_tenant_mod_inventory_storage.holdings_record (instanceId); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS holdings_record_instanceId_idx ON test_tenant_mod_inventory_storage.holdings_record (instanceId); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS permanentLocationId UUID; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS permanentLocationId UUID; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT permanentLocationId_location_fkey FOREIGN KEY (permanentLocationId) REFERENCES location; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT permanentLocationId_location_fkey FOREIGN KEY (permanentLocationId) REFERENCES location; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS holdings_record_permanentLocationId_idx ON test_tenant_mod_inventory_storage.holdings_record (permanentLocationId); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS holdings_record_permanentLocationId_idx ON test_tenant_mod_inventory_storage.holdings_record (permanentLocationId); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS temporaryLocationId UUID; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS temporaryLocationId UUID; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT temporaryLocationId_location_fkey FOREIGN KEY (temporaryLocationId) REFERENCES location; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT temporaryLocationId_location_fkey FOREIGN KEY (temporaryLocationId) REFERENCES location; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS holdings_record_temporaryLocationId_idx ON test_tenant_mod_inventory_storage.holdings_record (temporaryLocationId); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS holdings_record_temporaryLocationId_idx ON test_tenant_mod_inventory_storage.holdings_record (temporaryLocationId); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS effectiveLocationId UUID; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS effectiveLocationId UUID; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT effectiveLocationId_location_fkey FOREIGN KEY (effectiveLocationId) REFERENCES location; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT effectiveLocationId_location_fkey FOREIGN KEY (effectiveLocationId) REFERENCES location; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS holdings_record_effectiveLocationId_idx ON test_tenant_mod_inventory_storage.holdings_record (effectiveLocationId); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS holdings_record_effectiveLocationId_idx ON test_tenant_mod_inventory_storage.holdings_record (effectiveLocationId); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS holdingsTypeId UUID; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS holdingsTypeId UUID; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT holdingsTypeId_holdings_type_fkey FOREIGN KEY (holdingsTypeId) REFERENCES holdings_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT holdingsTypeId_holdings_type_fkey FOREIGN KEY (holdingsTypeId) REFERENCES holdings_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS holdings_record_holdingsTypeId_idx ON test_tenant_mod_inventory_storage.holdings_record (holdingsTypeId); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS holdings_record_holdingsTypeId_idx ON test_tenant_mod_inventory_storage.holdings_record (holdingsTypeId); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS callNumberTypeId UUID; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS callNumberTypeId UUID; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT callNumberTypeId_call_number_type_fkey FOREIGN KEY (callNumberTypeId) REFERENCES call_number_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT callNumberTypeId_call_number_type_fkey FOREIGN KEY (callNumberTypeId) REFERENCES call_number_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS holdings_record_callNumberTypeId_idx ON test_tenant_mod_inventory_storage.holdings_record (callNumberTypeId); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS holdings_record_callNumberTypeId_idx ON test_tenant_mod_inventory_storage.holdings_record (callNumberTypeId); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS illPolicyId UUID; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS illPolicyId UUID; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT illPolicyId_ill_policy_fkey FOREIGN KEY (illPolicyId) REFERENCES ill_policy; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT illPolicyId_ill_policy_fkey FOREIGN KEY (illPolicyId) REFERENCES ill_policy; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS holdings_record_illPolicyId_idx ON test_tenant_mod_inventory_storage.holdings_record (illPolicyId); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS holdings_record_illPolicyId_idx ON test_tenant_mod_inventory_storage.holdings_record (illPolicyId); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS sourceId UUID; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.holdings_record ADD COLUMN IF NOT EXISTS sourceId UUID; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT sourceId_holdings_records_source_fkey FOREIGN KEY (sourceId) REFERENCES holdings_records_source; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE holdings_record ADD CONSTRAINT sourceId_holdings_records_source_fkey FOREIGN KEY (sourceId) REFERENCES holdings_records_source; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS holdings_record_sourceId_idx ON test_tenant_mod_inventory_storage.holdings_record (sourceId); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS holdings_record_sourceId_idx ON test_tenant_mod_inventory_storage.holdings_record (sourceId); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('holdings_record'); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_holdings_record_references() RETURNS TRIGGER AS $$ BEGIN NEW.instanceId = (NEW.jsonb->>'instanceId'); NEW.permanentLocationId = (NEW.jsonb->>'permanentLocationId'); NEW.temporaryLocationId = (NEW.jsonb->>'temporaryLocationId'); NEW.effectiveLocationId = (NEW.jsonb->>'effectiveLocationId'); NEW.holdingsTypeId = (NEW.jsonb->>'holdingsTypeId'); NEW.callNumberTypeId = (NEW.jsonb->>'callNumberTypeId'); NEW.illPolicyId = (NEW.jsonb->>'illPolicyId'); NEW.sourceId = (NEW.jsonb->>'sourceId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_holdings_record_references() RETURNS TRIGGER AS $$ BEGIN NEW.instanceId = (NEW.jsonb->>'instanceId'); NEW.permanentLocationId = (NEW.jsonb->>'permanentLocationId'); NEW.temporaryLocationId = (NEW.jsonb->>'temporaryLocationId'); NEW.effectiveLocationId = (NEW.jsonb->>'effectiveLocationId'); NEW.holdingsTypeId = (NEW.jsonb->>'holdingsTypeId'); NEW.callNumberTypeId = (NEW.jsonb->>'callNumberTypeId'); NEW.illPolicyId = (NEW.jsonb->>'illPolicyId'); NEW.sourceId = (NEW.jsonb->>'sourceId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_holdings_record_references ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_holdings_record_references" for relation "test_tenant_mod_inventory_storage.holdings_record" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_holdings_record_references ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER update_holdings_record_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.holdings_record FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_holdings_record_references(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER update_holdings_record_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.holdings_record FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_holdings_record_references(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'instanceId_instance_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'permanentLocationId_location_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'temporaryLocationId_location_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'effectiveLocationId_location_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'holdingsTypeId_holdings_type_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'callNumberTypeId_call_number_type_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'illPolicyId_ill_policy_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'sourceId_holdings_records_source_fkey' || i; END LOOP; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'instanceId_instance_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'permanentLocationId_location_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'temporaryLocationId_location_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'effectiveLocationId_location_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'holdingsTypeId_holdings_type_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'callNumberTypeId_call_number_type_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'illPolicyId_ill_policy_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE holdings_record DROP CONSTRAINT IF EXISTS ' || 'sourceId_holdings_records_source_fkey' || i; END LOOP; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.holdings_record_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.holdings_record_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_holdings_record_md_trigger ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_holdings_record_md_trigger" for relation "test_tenant_mod_inventory_storage.holdings_record" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_holdings_record_md_trigger ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_holdings_record_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.holdings_record FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.holdings_record_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_holdings_record_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.holdings_record FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.holdings_record_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_holdings_record_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_holdings_record_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_holdings_record_md_json_trigger ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_holdings_record_md_json_trigger" for relation "test_tenant_mod_inventory_storage.holdings_record" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_holdings_record_md_json_trigger ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_holdings_record_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.holdings_record FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_holdings_record_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_holdings_record_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.holdings_record FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_holdings_record_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.holdings_record_set_ol_version() RETURNS trigger AS $$ BEGIN CASE TG_OP WHEN 'INSERT' THEN NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(1)); WHEN 'UPDATE' THEN IF NEW.jsonb->'_version' IS DISTINCT FROM OLD.jsonb->'_version' THEN RAISE NOTICE 'Ignoring optimistic locking conflict while overwriting changed record %: ' 'Stored _version is %, _version of request is %', OLD.id, OLD.jsonb->'_version', NEW.jsonb->'_version' USING ERRCODE = '23F09', TABLE = 'holdings_record', SCHEMA = 'test_tenant_mod_inventory_storage'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(COALESCE((OLD.jsonb->>'_version')::numeric + 1, 1))); END CASE; RETURN NEW; END; $$ LANGUAGE plpgsql; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.holdings_record_set_ol_version() RETURNS trigger AS $$ BEGIN CASE TG_OP WHEN 'INSERT' THEN NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(1)); WHEN 'UPDATE' THEN IF NEW.jsonb->'_version' IS DISTINCT FROM OLD.jsonb->'_version' THEN RAISE NOTICE 'Ignoring optimistic locking conflict while overwriting changed record %: ' 'Stored _version is %, _version of request is %', OLD.id, OLD.jsonb->'_version', NEW.jsonb->'_version' USING ERRCODE = '23F09', TABLE = 'holdings_record', SCHEMA = 'test_tenant_mod_inventory_storage'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(COALESCE((OLD.jsonb->>'_version')::numeric + 1, 1))); END CASE; RETURN NEW; END; $$ LANGUAGE plpgsql; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_holdings_record_ol_version_trigger ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_holdings_record_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.holdings_record" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_holdings_record_ol_version_trigger ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_holdings_record_ol_version_trigger BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.holdings_record FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.holdings_record_set_ol_version(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_holdings_record_ol_version_trigger BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.holdings_record FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.holdings_record_set_ol_version(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.audit_holdings_record_changes() RETURNS TRIGGER AS $holdings_record_audit$ DECLARE jsonb JSONB; uuidtext TEXT; uuid UUID; BEGIN jsonb = CASE WHEN TG_OP = 'DELETE' THEN OLD.jsonb ELSE NEW.jsonb END; -- create uuid based on the jsonb value so that concurrent updates of different records are possible. uuidtext = md5(jsonb::text); -- UUID version byte uuidtext = overlay(uuidtext placing '4' from 13); -- UUID variant byte uuidtext = overlay(uuidtext placing '8' from 17); uuid = uuidtext::uuid; -- If uuid is already in use increment until an unused is found. This can only happen if the jsonb content -- is exactly the same. This should be very rare when it includes a timestamp. WHILE EXISTS (SELECT 1 FROM test_tenant_mod_inventory_storage.audit_holdings_record WHERE id = uuid) LOOP uuid = test_tenant_mod_inventory_storage.next_uuid(uuid); END LOOP; jsonb = jsonb_build_object( 'id', to_jsonb(uuid::text), 'record', jsonb, 'operation', to_jsonb(left(TG_OP, 1)), 'createdDate', to_jsonb(current_timestamp::text)); IF (TG_OP = 'DELETE') THEN ELSIF (TG_OP = 'UPDATE') THEN ELSIF (TG_OP = 'INSERT') THEN END IF; INSERT INTO test_tenant_mod_inventory_storage.audit_holdings_record VALUES (uuid, jsonb); RETURN CASE WHEN TG_OP = 'DELETE' THEN OLD ELSE NEW END; END; $holdings_record_audit$ LANGUAGE plpgsql; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.audit_holdings_record_changes() RETURNS TRIGGER AS $holdings_record_audit$ DECLARE jsonb JSONB; uuidtext TEXT; uuid UUID; BEGIN jsonb = CASE WHEN TG_OP = 'DELETE' THEN OLD.jsonb ELSE NEW.jsonb END; -- create uuid based on the jsonb value so that concurrent updates of different records are possible. uuidtext = md5(jsonb::text); -- UUID version byte uuidtext = overlay(uuidtext placing '4' from 13); -- UUID variant byte uuidtext = overlay(uuidtext placing '8' from 17); uuid = uuidtext::uuid; -- If uuid is already in use increment until an unused is found. This can only happen if the jsonb content -- is exactly the same. This should be very rare when it includes a timestamp. WHILE EXISTS (SELECT 1 FROM test_tenant_mod_inventory_storage.audit_holdings_record WHERE id = uuid) LOOP uuid = test_tenant_mod_inventory_storage.next_uuid(uuid); END LOOP; jsonb = jsonb_build_object( 'id', to_jsonb(uuid::text), 'record', jsonb, 'operation', to_jsonb(left(TG_OP, 1)), 'createdDate', to_jsonb(current_timestamp::text)); IF (TG_OP = 'DELETE') THEN ELSIF (TG_OP = 'UPDATE') THEN ELSIF (TG_OP = 'INSERT') THEN END IF; INSERT INTO test_tenant_mod_inventory_storage.audit_holdings_record VALUES (uuid, jsonb); RETURN CASE WHEN TG_OP = 'DELETE' THEN OLD ELSE NEW END; END; $holdings_record_audit$ LANGUAGE plpgsql; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS audit_holdings_record ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "audit_holdings_record" for relation "test_tenant_mod_inventory_storage.holdings_record" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS audit_holdings_record ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER audit_holdings_record AFTER INSERT OR UPDATE OR DELETE ON test_tenant_mod_inventory_storage.holdings_record FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.audit_holdings_record_changes(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER audit_holdings_record AFTER INSERT OR UPDATE OR DELETE ON test_tenant_mod_inventory_storage.holdings_record FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.audit_holdings_record_changes(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS audit_holdings_record ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS audit_holdings_record ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER audit_holdings_record AFTER DELETE ON test_tenant_mod_inventory_storage.holdings_record FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.audit_holdings_record_changes(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER audit_holdings_record AFTER DELETE ON test_tenant_mod_inventory_storage.holdings_record FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.audit_holdings_record_changes(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.item ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.item ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.audit_item ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.audit_item ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_item ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_item" for relation "test_tenant_mod_inventory_storage.item" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_item ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.item" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_accessionNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_accessionNumber_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(jsonb->>'accessionNumber'),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_accessionnumber_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS item_accessionNumber_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'item', 'item_accessionNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_accessionNumber_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(jsonb->>'accessionNumber'),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_accessionNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_accessionNumber_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(jsonb->>'accessionNumber'),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_status_name_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_status_name_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(f_unaccent(jsonb->'status'->>'name')),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_status_name_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS item_status_name_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'item', 'item_status_name_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_status_name_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(f_unaccent(jsonb->'status'->>'name')),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_status_name_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_status_name_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(f_unaccent(jsonb->'status'->>'name')),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_callNumberAndSuffix_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_callNumberAndSuffix_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(concat_space_sql(item.jsonb->'effectiveCallNumberComponents'->>'callNumber' , item.jsonb->'effectiveCallNumberComponents'->>'suffix')),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_callnumberandsuffix_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS item_callNumberAndSuffix_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'item', 'item_callNumberAndSuffix_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_callNumberAndSuffix_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(concat_space_sql(item.jsonb->'effectiveCallNumberComponents'->>'callNumber' , item.jsonb->'effectiveCallNumberComponents'->>'suffix')),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_callNumberAndSuffix_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_callNumberAndSuffix_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(concat_space_sql(item.jsonb->'effectiveCallNumberComponents'->>'callNumber' , item.jsonb->'effectiveCallNumberComponents'->>'suffix')),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_fullCallNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_fullCallNumber_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(concat_space_sql(item.jsonb->'effectiveCallNumberComponents'->>'prefix' , item.jsonb->'effectiveCallNumberComponents'->>'callNumber' , item.jsonb->'effectiveCallNumberComponents'->>'suffix')),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_fullcallnumber_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS item_fullCallNumber_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'item', 'item_fullCallNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_fullCallNumber_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(concat_space_sql(item.jsonb->'effectiveCallNumberComponents'->>'prefix' , item.jsonb->'effectiveCallNumberComponents'->>'callNumber' , item.jsonb->'effectiveCallNumberComponents'->>'suffix')),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_fullCallNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_fullCallNumber_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(concat_space_sql(item.jsonb->'effectiveCallNumberComponents'->>'prefix' , item.jsonb->'effectiveCallNumberComponents'->>'callNumber' , item.jsonb->'effectiveCallNumberComponents'->>'suffix')),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_discoverySuppress_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_discoverySuppress_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(jsonb->>'discoverySuppress'),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_discoverysuppress_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS item_discoverySuppress_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'item', 'item_discoverySuppress_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_discoverySuppress_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(jsonb->>'discoverySuppress'),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_discoverySuppress_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_discoverySuppress_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(jsonb->>'discoverySuppress'),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_purchaseOrderLineIdentifier_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_purchaseOrderLineIdentifier_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(jsonb->>'purchaseOrderLineIdentifier'),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_purchaseorderlineidentifier_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS item_purchaseOrderLineIdentifier_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'item', 'item_purchaseOrderLineIdentifier_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_purchaseOrderLineIdentifier_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(jsonb->>'purchaseOrderLineIdentifier'),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_purchaseOrderLineIdentifier_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_purchaseOrderLineIdentifier_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(jsonb->>'purchaseOrderLineIdentifier'),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_effectiveCallNumberComponents_callNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_effectiveCallNumberComponents_callNumber_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(jsonb->'effectiveCallNumberComponents'->>'callNumber'),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_effectivecallnumbercomponents_callnumber_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS item_effectiveCallNumberComponents_callNumber_idx" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'item', 'item_effectiveCallNumberComponents_callNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_effectiveCallNumberComponents_callNumber_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(jsonb->'effectiveCallNumberComponents'->>'callNumber'),600))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_effectiveCallNumberComponents_callNumber_idx', 'ADD', 'CREATE INDEX IF NOT EXISTS item_effectiveCallNumberComponents_callNumber_idx ON test_tenant_mod_inventory_storage.item ' || $rmb$(left(lower(jsonb->'effectiveCallNumberComponents'->>'callNumber'),600))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_barcode_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS item_barcode_idx_unique ON test_tenant_mod_inventory_storage.item ' || $rmb$(lower(jsonb->>'barcode'))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_barcode_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS item_barcode_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'item', 'item_barcode_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS item_barcode_idx_unique ON test_tenant_mod_inventory_storage.item ' || $rmb$(lower(jsonb->>'barcode'))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_barcode_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS item_barcode_idx_unique ON test_tenant_mod_inventory_storage.item ' || $rmb$(lower(jsonb->>'barcode'))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_hrid_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS item_hrid_idx_unique ON test_tenant_mod_inventory_storage.item ' || $rmb$(lower(f_unaccent(jsonb->>'hrid')))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_hrid_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS item_hrid_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'item', 'item_hrid_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS item_hrid_idx_unique ON test_tenant_mod_inventory_storage.item ' || $rmb$(lower(f_unaccent(jsonb->>'hrid')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_hrid_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS item_hrid_idx_unique ON test_tenant_mod_inventory_storage.item ' || $rmb$(lower(f_unaccent(jsonb->>'hrid')))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_status_name_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS item_status_name_idx_gin ON test_tenant_mod_inventory_storage.item USING GIN ' || $rmb$((lower(f_unaccent(jsonb->'status'->>'name'))) public.gin_trgm_ops)$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_status_name_idx_gin" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS item_status_name_idx_gin" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'item', 'item_status_name_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS item_status_name_idx_gin ON test_tenant_mod_inventory_storage.item USING GIN ' || $rmb$((lower(f_unaccent(jsonb->'status'->>'name'))) public.gin_trgm_ops)$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_status_name_idx_gin', 'ADD', 'CREATE INDEX IF NOT EXISTS item_status_name_idx_gin ON test_tenant_mod_inventory_storage.item USING GIN ' || $rmb$((lower(f_unaccent(jsonb->'status'->>'name'))) public.gin_trgm_ops)$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_callNumberAndSuffixNormalized_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS item_callNumberAndSuffixNormalized_idx_ft ON test_tenant_mod_inventory_storage.item USING GIN ' || $rmb$( get_tsvector(normalize_item_call_number_and_suffix(jsonb)) )$rmb$); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_callnumberandsuffixnormalized_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS item_callNumberAndSuffixNormalized_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'item', 'item_callNumberAndSuffixNormalized_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS item_callNumberAndSuffixNormalized_idx_ft ON test_tenant_mod_inventory_storage.item USING GIN ' || $rmb$( get_tsvector(normalize_item_call_number_and_suffix(jsonb)) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_callNumberAndSuffixNormalized_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS item_callNumberAndSuffixNormalized_idx_ft ON test_tenant_mod_inventory_storage.item USING GIN ' || $rmb$( get_tsvector(normalize_item_call_number_and_suffix(jsonb)) )$rmb$); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_fullCallNumberNormalized_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS item_fullCallNumberNormalized_idx_ft ON test_tenant_mod_inventory_storage.item USING GIN ' || $rmb$( get_tsvector(normalize_item_full_call_number(jsonb)) )$rmb$); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_fullcallnumbernormalized_idx_ft" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS item_fullCallNumberNormalized_idx_ft" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'item', 'item_fullCallNumberNormalized_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS item_fullCallNumberNormalized_idx_ft ON test_tenant_mod_inventory_storage.item USING GIN ' || $rmb$( get_tsvector(normalize_item_full_call_number(jsonb)) )$rmb$)" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'item', 'item_fullCallNumberNormalized_idx_ft', 'ADD', 'CREATE INDEX IF NOT EXISTS item_fullCallNumberNormalized_idx_ft ON test_tenant_mod_inventory_storage.item USING GIN ' || $rmb$( get_tsvector(normalize_item_full_call_number(jsonb)) )$rmb$); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS holdingsRecordId UUID; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS holdingsRecordId UUID; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE item ADD CONSTRAINT holdingsRecordId_holdings_record_fkey FOREIGN KEY (holdingsRecordId) REFERENCES holdings_record; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE item ADD CONSTRAINT holdingsRecordId_holdings_record_fkey FOREIGN KEY (holdingsRecordId) REFERENCES holdings_record; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS item_holdingsRecordId_idx ON test_tenant_mod_inventory_storage.item (holdingsRecordId); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS item_holdingsRecordId_idx ON test_tenant_mod_inventory_storage.item (holdingsRecordId); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('item'); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('item'); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS permanentLoanTypeId UUID; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS permanentLoanTypeId UUID; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE item ADD CONSTRAINT permanentLoanTypeId_loan_type_fkey FOREIGN KEY (permanentLoanTypeId) REFERENCES loan_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE item ADD CONSTRAINT permanentLoanTypeId_loan_type_fkey FOREIGN KEY (permanentLoanTypeId) REFERENCES loan_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS item_permanentLoanTypeId_idx ON test_tenant_mod_inventory_storage.item (permanentLoanTypeId); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS item_permanentLoanTypeId_idx ON test_tenant_mod_inventory_storage.item (permanentLoanTypeId); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('item'); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('item'); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS temporaryLoanTypeId UUID; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS temporaryLoanTypeId UUID; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE item ADD CONSTRAINT temporaryLoanTypeId_loan_type_fkey FOREIGN KEY (temporaryLoanTypeId) REFERENCES loan_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE item ADD CONSTRAINT temporaryLoanTypeId_loan_type_fkey FOREIGN KEY (temporaryLoanTypeId) REFERENCES loan_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS item_temporaryLoanTypeId_idx ON test_tenant_mod_inventory_storage.item (temporaryLoanTypeId); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS item_temporaryLoanTypeId_idx ON test_tenant_mod_inventory_storage.item (temporaryLoanTypeId); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('item'); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('item'); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS materialTypeId UUID; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS materialTypeId UUID; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE item ADD CONSTRAINT materialTypeId_material_type_fkey FOREIGN KEY (materialTypeId) REFERENCES material_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE item ADD CONSTRAINT materialTypeId_material_type_fkey FOREIGN KEY (materialTypeId) REFERENCES material_type; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS item_materialTypeId_idx ON test_tenant_mod_inventory_storage.item (materialTypeId); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS item_materialTypeId_idx ON test_tenant_mod_inventory_storage.item (materialTypeId); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('item'); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('item'); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS permanentLocationId UUID; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS permanentLocationId UUID; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE item ADD CONSTRAINT permanentLocationId_location_fkey FOREIGN KEY (permanentLocationId) REFERENCES location; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE item ADD CONSTRAINT permanentLocationId_location_fkey FOREIGN KEY (permanentLocationId) REFERENCES location; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS item_permanentLocationId_idx ON test_tenant_mod_inventory_storage.item (permanentLocationId); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS item_permanentLocationId_idx ON test_tenant_mod_inventory_storage.item (permanentLocationId); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('item'); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('item'); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS temporaryLocationId UUID; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS temporaryLocationId UUID; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE item ADD CONSTRAINT temporaryLocationId_location_fkey FOREIGN KEY (temporaryLocationId) REFERENCES location; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE item ADD CONSTRAINT temporaryLocationId_location_fkey FOREIGN KEY (temporaryLocationId) REFERENCES location; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS item_temporaryLocationId_idx ON test_tenant_mod_inventory_storage.item (temporaryLocationId); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS item_temporaryLocationId_idx ON test_tenant_mod_inventory_storage.item (temporaryLocationId); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('item'); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('item'); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS effectiveLocationId UUID; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item ADD COLUMN IF NOT EXISTS effectiveLocationId UUID; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE item ADD CONSTRAINT effectiveLocationId_location_fkey FOREIGN KEY (effectiveLocationId) REFERENCES location; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE item ADD CONSTRAINT effectiveLocationId_location_fkey FOREIGN KEY (effectiveLocationId) REFERENCES location; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS item_effectiveLocationId_idx ON test_tenant_mod_inventory_storage.item (effectiveLocationId); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS item_effectiveLocationId_idx ON test_tenant_mod_inventory_storage.item (effectiveLocationId); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('item'); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('item'); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_item_references() RETURNS TRIGGER AS $$ BEGIN NEW.holdingsRecordId = (NEW.jsonb->>'holdingsRecordId'); NEW.permanentLoanTypeId = (NEW.jsonb->>'permanentLoanTypeId'); NEW.temporaryLoanTypeId = (NEW.jsonb->>'temporaryLoanTypeId'); NEW.materialTypeId = (NEW.jsonb->>'materialTypeId'); NEW.permanentLocationId = (NEW.jsonb->>'permanentLocationId'); NEW.temporaryLocationId = (NEW.jsonb->>'temporaryLocationId'); NEW.effectiveLocationId = (NEW.jsonb->>'effectiveLocationId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_item_references() RETURNS TRIGGER AS $$ BEGIN NEW.holdingsRecordId = (NEW.jsonb->>'holdingsRecordId'); NEW.permanentLoanTypeId = (NEW.jsonb->>'permanentLoanTypeId'); NEW.temporaryLoanTypeId = (NEW.jsonb->>'temporaryLoanTypeId'); NEW.materialTypeId = (NEW.jsonb->>'materialTypeId'); NEW.permanentLocationId = (NEW.jsonb->>'permanentLocationId'); NEW.temporaryLocationId = (NEW.jsonb->>'temporaryLocationId'); NEW.effectiveLocationId = (NEW.jsonb->>'effectiveLocationId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_item_references ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_item_references" for relation "test_tenant_mod_inventory_storage.item" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_item_references ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER update_item_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_item_references(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER update_item_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_item_references(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE item DROP CONSTRAINT IF EXISTS ' || 'holdingsRecordId_holdings_record_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE item DROP CONSTRAINT IF EXISTS ' || 'permanentLoanTypeId_loan_type_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE item DROP CONSTRAINT IF EXISTS ' || 'temporaryLoanTypeId_loan_type_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE item DROP CONSTRAINT IF EXISTS ' || 'materialTypeId_material_type_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE item DROP CONSTRAINT IF EXISTS ' || 'permanentLocationId_location_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE item DROP CONSTRAINT IF EXISTS ' || 'temporaryLocationId_location_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE item DROP CONSTRAINT IF EXISTS ' || 'effectiveLocationId_location_fkey' || i; END LOOP; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE item DROP CONSTRAINT IF EXISTS ' || 'holdingsRecordId_holdings_record_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE item DROP CONSTRAINT IF EXISTS ' || 'permanentLoanTypeId_loan_type_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE item DROP CONSTRAINT IF EXISTS ' || 'temporaryLoanTypeId_loan_type_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE item DROP CONSTRAINT IF EXISTS ' || 'materialTypeId_material_type_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE item DROP CONSTRAINT IF EXISTS ' || 'permanentLocationId_location_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE item DROP CONSTRAINT IF EXISTS ' || 'temporaryLocationId_location_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE item DROP CONSTRAINT IF EXISTS ' || 'effectiveLocationId_location_fkey' || i; END LOOP; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.item_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.item_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_item_md_trigger ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_item_md_trigger" for relation "test_tenant_mod_inventory_storage.item" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_item_md_trigger ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_item_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.item_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_item_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.item_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_item_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_item_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_item_md_json_trigger ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_item_md_json_trigger" for relation "test_tenant_mod_inventory_storage.item" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_item_md_json_trigger ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_item_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_item_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_item_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_item_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.item_set_ol_version() RETURNS trigger AS $$ BEGIN CASE TG_OP WHEN 'INSERT' THEN NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(1)); WHEN 'UPDATE' THEN IF NEW.jsonb->'_version' IS DISTINCT FROM OLD.jsonb->'_version' THEN RAISE NOTICE 'Ignoring optimistic locking conflict while overwriting changed record %: ' 'Stored _version is %, _version of request is %', OLD.id, OLD.jsonb->'_version', NEW.jsonb->'_version' USING ERRCODE = '23F09', TABLE = 'item', SCHEMA = 'test_tenant_mod_inventory_storage'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(COALESCE((OLD.jsonb->>'_version')::numeric + 1, 1))); END CASE; RETURN NEW; END; $$ LANGUAGE plpgsql; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.item_set_ol_version() RETURNS trigger AS $$ BEGIN CASE TG_OP WHEN 'INSERT' THEN NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(1)); WHEN 'UPDATE' THEN IF NEW.jsonb->'_version' IS DISTINCT FROM OLD.jsonb->'_version' THEN RAISE NOTICE 'Ignoring optimistic locking conflict while overwriting changed record %: ' 'Stored _version is %, _version of request is %', OLD.id, OLD.jsonb->'_version', NEW.jsonb->'_version' USING ERRCODE = '23F09', TABLE = 'item', SCHEMA = 'test_tenant_mod_inventory_storage'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{_version}', to_jsonb(COALESCE((OLD.jsonb->>'_version')::numeric + 1, 1))); END CASE; RETURN NEW; END; $$ LANGUAGE plpgsql; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_item_ol_version_trigger ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_item_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.item" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_item_ol_version_trigger ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_item_ol_version_trigger BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.item_set_ol_version(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_item_ol_version_trigger BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.item_set_ol_version(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.audit_item_changes() RETURNS TRIGGER AS $item_audit$ DECLARE jsonb JSONB; uuidtext TEXT; uuid UUID; BEGIN jsonb = CASE WHEN TG_OP = 'DELETE' THEN OLD.jsonb ELSE NEW.jsonb END; -- create uuid based on the jsonb value so that concurrent updates of different records are possible. uuidtext = md5(jsonb::text); -- UUID version byte uuidtext = overlay(uuidtext placing '4' from 13); -- UUID variant byte uuidtext = overlay(uuidtext placing '8' from 17); uuid = uuidtext::uuid; -- If uuid is already in use increment until an unused is found. This can only happen if the jsonb content -- is exactly the same. This should be very rare when it includes a timestamp. WHILE EXISTS (SELECT 1 FROM test_tenant_mod_inventory_storage.audit_item WHERE id = uuid) LOOP uuid = test_tenant_mod_inventory_storage.next_uuid(uuid); END LOOP; jsonb = jsonb_build_object( 'id', to_jsonb(uuid::text), 'record', jsonb, 'operation', to_jsonb(left(TG_OP, 1)), 'createdDate', to_jsonb(current_timestamp::text)); IF (TG_OP = 'DELETE') THEN ELSIF (TG_OP = 'UPDATE') THEN ELSIF (TG_OP = 'INSERT') THEN END IF; INSERT INTO test_tenant_mod_inventory_storage.audit_item VALUES (uuid, jsonb); RETURN CASE WHEN TG_OP = 'DELETE' THEN OLD ELSE NEW END; END; $item_audit$ LANGUAGE plpgsql; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.audit_item_changes() RETURNS TRIGGER AS $item_audit$ DECLARE jsonb JSONB; uuidtext TEXT; uuid UUID; BEGIN jsonb = CASE WHEN TG_OP = 'DELETE' THEN OLD.jsonb ELSE NEW.jsonb END; -- create uuid based on the jsonb value so that concurrent updates of different records are possible. uuidtext = md5(jsonb::text); -- UUID version byte uuidtext = overlay(uuidtext placing '4' from 13); -- UUID variant byte uuidtext = overlay(uuidtext placing '8' from 17); uuid = uuidtext::uuid; -- If uuid is already in use increment until an unused is found. This can only happen if the jsonb content -- is exactly the same. This should be very rare when it includes a timestamp. WHILE EXISTS (SELECT 1 FROM test_tenant_mod_inventory_storage.audit_item WHERE id = uuid) LOOP uuid = test_tenant_mod_inventory_storage.next_uuid(uuid); END LOOP; jsonb = jsonb_build_object( 'id', to_jsonb(uuid::text), 'record', jsonb, 'operation', to_jsonb(left(TG_OP, 1)), 'createdDate', to_jsonb(current_timestamp::text)); IF (TG_OP = 'DELETE') THEN ELSIF (TG_OP = 'UPDATE') THEN ELSIF (TG_OP = 'INSERT') THEN END IF; INSERT INTO test_tenant_mod_inventory_storage.audit_item VALUES (uuid, jsonb); RETURN CASE WHEN TG_OP = 'DELETE' THEN OLD ELSE NEW END; END; $item_audit$ LANGUAGE plpgsql; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS audit_item ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "audit_item" for relation "test_tenant_mod_inventory_storage.item" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS audit_item ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER audit_item AFTER INSERT OR UPDATE OR DELETE ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.audit_item_changes(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER audit_item AFTER INSERT OR UPDATE OR DELETE ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.audit_item_changes(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS audit_item ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS audit_item ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER audit_item AFTER DELETE ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.audit_item_changes(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER audit_item AFTER DELETE ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.audit_item_changes(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.hrid_settings ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.hrid_settings ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_hrid_settings ON test_tenant_mod_inventory_storage.hrid_settings CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_hrid_settings" for relation "test_tenant_mod_inventory_storage.hrid_settings" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_hrid_settings ON test_tenant_mod_inventory_storage.hrid_settings CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.hrid_settings CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.hrid_settings" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.hrid_settings CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.hrid_settings FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.hrid_settings FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.hrid_settings DROP COLUMN IF EXISTS creation_date CASCADE, DROP COLUMN IF EXISTS created_by CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='column "creation_date" of relation "hrid_settings" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='7356', routine='ATExecDropColumn', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='column "created_by" of relation "hrid_settings" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='7356', routine='ATExecDropColumn', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.hrid_settings DROP COLUMN IF EXISTS creation_date CASCADE, DROP COLUMN IF EXISTS created_by CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_hrid_settings_references ON test_tenant_mod_inventory_storage.hrid_settings CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_hrid_settings_references" for relation "test_tenant_mod_inventory_storage.hrid_settings" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_hrid_settings_references ON test_tenant_mod_inventory_storage.hrid_settings CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_hrid_settings_references(); 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_hrid_settings_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_hrid_settings_references(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.hrid_settings_set_md() CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.hrid_settings_set_md() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.hrid_settings_set_md() CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_hrid_settings_md_trigger ON test_tenant_mod_inventory_storage.hrid_settings CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_hrid_settings_md_trigger" for relation "test_tenant_mod_inventory_storage.hrid_settings" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_hrid_settings_md_trigger ON test_tenant_mod_inventory_storage.hrid_settings CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_hrid_settings_md_json() CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.set_hrid_settings_md_json() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_hrid_settings_md_json() CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_hrid_settings_md_json_trigger ON test_tenant_mod_inventory_storage.hrid_settings CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_hrid_settings_md_json_trigger" for relation "test_tenant_mod_inventory_storage.hrid_settings" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_hrid_settings_md_json_trigger ON test_tenant_mod_inventory_storage.hrid_settings CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_hrid_settings_ol_version_trigger ON test_tenant_mod_inventory_storage.hrid_settings CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_hrid_settings_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.hrid_settings" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_hrid_settings_ol_version_trigger ON test_tenant_mod_inventory_storage.hrid_settings CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.hrid_settings_set_ol_version() CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.hrid_settings_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.hrid_settings_set_ol_version() CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.hrid_settings ADD COLUMN IF NOT EXISTS lock boolean DEFAULT true UNIQUE CHECK(lock=true); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.hrid_settings ADD COLUMN IF NOT EXISTS lock boolean DEFAULT true UNIQUE CHECK(lock=true); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO test_tenant_mod_inventory_storage.hrid_settings SELECT 'a501f2a8-5b31-48b2-874d-2191e48db8cd', jsonb_build_object( 'instances', jsonb_build_object('prefix', 'in', 'startNumber', 1), 'holdings', jsonb_build_object('prefix', 'ho', 'startNumber', 1), 'items', jsonb_build_object('prefix', 'it', 'startNumber', 1) ) ON CONFLICT DO NOTHING; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO test_tenant_mod_inventory_storage.hrid_settings SELECT 'a501f2a8-5b31-48b2-874d-2191e48db8cd', jsonb_build_object( 'instances', jsonb_build_object('prefix', 'in', 'startNumber', 1), 'holdings', jsonb_build_object('prefix', 'ho', 'startNumber', 1), 'items', jsonb_build_object('prefix', 'it', 'startNumber', 1) ) ON CONFLICT DO NOTHING; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE SEQUENCE IF NOT EXISTS test_tenant_mod_inventory_storage.hrid_instances_seq AS INT INCREMENT BY 1 START WITH 1 MAXVALUE 99999999 OWNED BY test_tenant_mod_inventory_storage.hrid_settings.jsonb; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE SEQUENCE IF NOT EXISTS test_tenant_mod_inventory_storage.hrid_instances_seq AS INT INCREMENT BY 1 START WITH 1 MAXVALUE 99999999 OWNED BY test_tenant_mod_inventory_storage.hrid_settings.jsonb; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE SEQUENCE IF NOT EXISTS test_tenant_mod_inventory_storage.hrid_holdings_seq AS INT INCREMENT BY 1 START WITH 1 MAXVALUE 99999999; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE SEQUENCE IF NOT EXISTS test_tenant_mod_inventory_storage.hrid_holdings_seq AS INT INCREMENT BY 1 START WITH 1 MAXVALUE 99999999; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE SEQUENCE IF NOT EXISTS test_tenant_mod_inventory_storage.hrid_items_seq AS INT INCREMENT BY 1 START WITH 1 MAXVALUE 99999999; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE SEQUENCE IF NOT EXISTS test_tenant_mod_inventory_storage.hrid_items_seq AS INT INCREMENT BY 1 START WITH 1 MAXVALUE 99999999; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} GRANT ALL ON SEQUENCE test_tenant_mod_inventory_storage.hrid_instances_seq TO test_tenant_mod_inventory_storage; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed GRANT ALL ON SEQUENCE test_tenant_mod_inventory_storage.hrid_instances_seq TO test_tenant_mod_inventory_storage; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} GRANT ALL ON SEQUENCE test_tenant_mod_inventory_storage.hrid_holdings_seq TO test_tenant_mod_inventory_storage; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed GRANT ALL ON SEQUENCE test_tenant_mod_inventory_storage.hrid_holdings_seq TO test_tenant_mod_inventory_storage; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} GRANT ALL ON SEQUENCE test_tenant_mod_inventory_storage.hrid_items_seq TO test_tenant_mod_inventory_storage; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed GRANT ALL ON SEQUENCE test_tenant_mod_inventory_storage.hrid_items_seq TO test_tenant_mod_inventory_storage; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.preceding_succeeding_title ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.preceding_succeeding_title ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_preceding_succeeding_title ON test_tenant_mod_inventory_storage.preceding_succeeding_title CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_preceding_succeeding_title" for relation "test_tenant_mod_inventory_storage.preceding_succeeding_title" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_preceding_succeeding_title ON test_tenant_mod_inventory_storage.preceding_succeeding_title CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.preceding_succeeding_title CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.preceding_succeeding_title" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.preceding_succeeding_title CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.preceding_succeeding_title FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.preceding_succeeding_title FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.preceding_succeeding_title ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.preceding_succeeding_title ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.preceding_succeeding_title ADD COLUMN IF NOT EXISTS precedingInstanceId UUID; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.preceding_succeeding_title ADD COLUMN IF NOT EXISTS precedingInstanceId UUID; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE preceding_succeeding_title ADD CONSTRAINT precedingInstanceId_instance_fkey FOREIGN KEY (precedingInstanceId) REFERENCES instance; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE preceding_succeeding_title ADD CONSTRAINT precedingInstanceId_instance_fkey FOREIGN KEY (precedingInstanceId) REFERENCES instance; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS preceding_succeeding_title_precedingInstanceId_idx ON test_tenant_mod_inventory_storage.preceding_succeeding_title (precedingInstanceId); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS preceding_succeeding_title_precedingInstanceId_idx ON test_tenant_mod_inventory_storage.preceding_succeeding_title (precedingInstanceId); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('preceding_succeeding_title'); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('preceding_succeeding_title'); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.preceding_succeeding_title ADD COLUMN IF NOT EXISTS succeedingInstanceId UUID; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.preceding_succeeding_title ADD COLUMN IF NOT EXISTS succeedingInstanceId UUID; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE preceding_succeeding_title ADD CONSTRAINT succeedingInstanceId_instance_fkey FOREIGN KEY (succeedingInstanceId) REFERENCES instance; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE preceding_succeeding_title ADD CONSTRAINT succeedingInstanceId_instance_fkey FOREIGN KEY (succeedingInstanceId) REFERENCES instance; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS preceding_succeeding_title_succeedingInstanceId_idx ON test_tenant_mod_inventory_storage.preceding_succeeding_title (succeedingInstanceId); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS preceding_succeeding_title_succeedingInstanceId_idx ON test_tenant_mod_inventory_storage.preceding_succeeding_title (succeedingInstanceId); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('preceding_succeeding_title'); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('preceding_succeeding_title'); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_preceding_succeeding_title_references() RETURNS TRIGGER AS $$ BEGIN NEW.precedingInstanceId = (NEW.jsonb->>'precedingInstanceId'); NEW.succeedingInstanceId = (NEW.jsonb->>'succeedingInstanceId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_preceding_succeeding_title_references() RETURNS TRIGGER AS $$ BEGIN NEW.precedingInstanceId = (NEW.jsonb->>'precedingInstanceId'); NEW.succeedingInstanceId = (NEW.jsonb->>'succeedingInstanceId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_preceding_succeeding_title_references ON test_tenant_mod_inventory_storage.preceding_succeeding_title CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_preceding_succeeding_title_references" for relation "test_tenant_mod_inventory_storage.preceding_succeeding_title" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_preceding_succeeding_title_references ON test_tenant_mod_inventory_storage.preceding_succeeding_title CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER update_preceding_succeeding_title_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.preceding_succeeding_title FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_preceding_succeeding_title_references(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER update_preceding_succeeding_title_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.preceding_succeeding_title FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_preceding_succeeding_title_references(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE preceding_succeeding_title DROP CONSTRAINT IF EXISTS ' || 'precedingInstanceId_instance_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE preceding_succeeding_title DROP CONSTRAINT IF EXISTS ' || 'succeedingInstanceId_instance_fkey' || i; END LOOP; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE preceding_succeeding_title DROP CONSTRAINT IF EXISTS ' || 'precedingInstanceId_instance_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE preceding_succeeding_title DROP CONSTRAINT IF EXISTS ' || 'succeedingInstanceId_instance_fkey' || i; END LOOP; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.preceding_succeeding_title_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.preceding_succeeding_title_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_preceding_succeeding_title_md_trigger ON test_tenant_mod_inventory_storage.preceding_succeeding_title CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_preceding_succeeding_title_md_trigger" for relation "test_tenant_mod_inventory_storage.preceding_succeeding_title" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_preceding_succeeding_title_md_trigger ON test_tenant_mod_inventory_storage.preceding_succeeding_title CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_preceding_succeeding_title_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.preceding_succeeding_title FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.preceding_succeeding_title_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_preceding_succeeding_title_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.preceding_succeeding_title FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.preceding_succeeding_title_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_preceding_succeeding_title_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_preceding_succeeding_title_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_preceding_succeeding_title_md_json_trigger ON test_tenant_mod_inventory_storage.preceding_succeeding_title CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_preceding_succeeding_title_md_json_trigger" for relation "test_tenant_mod_inventory_storage.preceding_succeeding_title" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_preceding_succeeding_title_md_json_trigger ON test_tenant_mod_inventory_storage.preceding_succeeding_title CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_preceding_succeeding_title_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.preceding_succeeding_title FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_preceding_succeeding_title_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_preceding_succeeding_title_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.preceding_succeeding_title FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_preceding_succeeding_title_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_preceding_succeeding_title_ol_version_trigger ON test_tenant_mod_inventory_storage.preceding_succeeding_title CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_preceding_succeeding_title_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.preceding_succeeding_title" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_preceding_succeeding_title_ol_version_trigger ON test_tenant_mod_inventory_storage.preceding_succeeding_title CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.preceding_succeeding_title_set_ol_version() CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.preceding_succeeding_title_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.preceding_succeeding_title_set_ol_version() CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.preceding_succeeding_title DROP CONSTRAINT IF EXISTS preceding_or_succeeding_id_is_set; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='constraint "preceding_or_succeeding_id_is_set" of relation "preceding_succeeding_title" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='10488', routine='ATExecDropConstraint', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.preceding_succeeding_title DROP CONSTRAINT IF EXISTS preceding_or_succeeding_id_is_set; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.preceding_succeeding_title ADD CONSTRAINT preceding_or_succeeding_id_is_set CHECK( jsonb->'precedingInstanceId' IS NOT NULL OR jsonb->'succeedingInstanceId' IS NOT NULL); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.preceding_succeeding_title ADD CONSTRAINT preceding_or_succeeding_id_is_set CHECK( jsonb->'precedingInstanceId' IS NOT NULL OR jsonb->'succeedingInstanceId' IS NOT NULL); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.reindex_job ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.reindex_job ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_reindex_job ON test_tenant_mod_inventory_storage.reindex_job CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_reindex_job" for relation "test_tenant_mod_inventory_storage.reindex_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_reindex_job ON test_tenant_mod_inventory_storage.reindex_job CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.reindex_job CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.reindex_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.reindex_job CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.reindex_job FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.reindex_job FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.reindex_job DROP COLUMN IF EXISTS creation_date CASCADE, DROP COLUMN IF EXISTS created_by CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='column "creation_date" of relation "reindex_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='7356', routine='ATExecDropColumn', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='column "created_by" of relation "reindex_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='7356', routine='ATExecDropColumn', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.reindex_job DROP COLUMN IF EXISTS creation_date CASCADE, DROP COLUMN IF EXISTS created_by CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_reindex_job_references ON test_tenant_mod_inventory_storage.reindex_job CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_reindex_job_references" for relation "test_tenant_mod_inventory_storage.reindex_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_reindex_job_references ON test_tenant_mod_inventory_storage.reindex_job CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_reindex_job_references(); 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_reindex_job_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_reindex_job_references(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.reindex_job_set_md() CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.reindex_job_set_md() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.reindex_job_set_md() CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_reindex_job_md_trigger ON test_tenant_mod_inventory_storage.reindex_job CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_reindex_job_md_trigger" for relation "test_tenant_mod_inventory_storage.reindex_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_reindex_job_md_trigger ON test_tenant_mod_inventory_storage.reindex_job CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_reindex_job_md_json() CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.set_reindex_job_md_json() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_reindex_job_md_json() CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_reindex_job_md_json_trigger ON test_tenant_mod_inventory_storage.reindex_job CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_reindex_job_md_json_trigger" for relation "test_tenant_mod_inventory_storage.reindex_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_reindex_job_md_json_trigger ON test_tenant_mod_inventory_storage.reindex_job CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_reindex_job_ol_version_trigger ON test_tenant_mod_inventory_storage.reindex_job CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_reindex_job_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.reindex_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_reindex_job_ol_version_trigger ON test_tenant_mod_inventory_storage.reindex_job CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.reindex_job_set_ol_version() CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.reindex_job_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.reindex_job_set_ol_version() CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.bound_with_part ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.bound_with_part ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_bound_with_part ON test_tenant_mod_inventory_storage.bound_with_part CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_bound_with_part" for relation "test_tenant_mod_inventory_storage.bound_with_part" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_bound_with_part ON test_tenant_mod_inventory_storage.bound_with_part CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.bound_with_part CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.bound_with_part" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.bound_with_part CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.bound_with_part FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.bound_with_part FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.bound_with_part ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.bound_with_part ADD COLUMN IF NOT EXISTS creation_date timestamp, ADD COLUMN IF NOT EXISTS created_by text; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $do$ BEGIN PERFORM rmb_internal_index( 'bound_with_part', 'bound_with_part_itemId_holdingsRecordId_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS bound_with_part_itemId_holdingsRecordId_idx_unique ON test_tenant_mod_inventory_storage.bound_with_part ' || $rmb$(lower(f_unaccent(jsonb->>'itemId')) , lower(f_unaccent(jsonb->>'holdingsRecordId')))$rmb$ ); END $do$; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "bound_with_part_itemid_holdingsrecordid_idx_unique" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='SQL statement "DROP INDEX IF EXISTS bound_with_part_itemId_holdingsRecordId_idx_unique" PL/pgSQL function rmb_internal_index(text,text,text,text) line 23 at EXECUTE SQL statement "SELECT rmb_internal_index( 'bound_with_part', 'bound_with_part_itemId_holdingsRecordId_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS bound_with_part_itemId_holdingsRecordId_idx_unique ON test_tenant_mod_inventory_storage.bound_with_part ' || $rmb$(lower(f_unaccent(jsonb->>'itemId')) , lower(f_unaccent(jsonb->>'holdingsRecordId')))$rmb$ )" PL/pgSQL function inline_code_block line 3 at PERFORM', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $do$ BEGIN PERFORM rmb_internal_index( 'bound_with_part', 'bound_with_part_itemId_holdingsRecordId_idx_unique', 'ADD', 'CREATE UNIQUE INDEX IF NOT EXISTS bound_with_part_itemId_holdingsRecordId_idx_unique ON test_tenant_mod_inventory_storage.bound_with_part ' || $rmb$(lower(f_unaccent(jsonb->>'itemId')) , lower(f_unaccent(jsonb->>'holdingsRecordId')))$rmb$ ); END $do$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.bound_with_part ADD COLUMN IF NOT EXISTS itemId UUID; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.bound_with_part ADD COLUMN IF NOT EXISTS itemId UUID; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE bound_with_part ADD CONSTRAINT itemId_item_fkey FOREIGN KEY (itemId) REFERENCES item; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE bound_with_part ADD CONSTRAINT itemId_item_fkey FOREIGN KEY (itemId) REFERENCES item; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS bound_with_part_itemId_idx ON test_tenant_mod_inventory_storage.bound_with_part (itemId); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS bound_with_part_itemId_idx ON test_tenant_mod_inventory_storage.bound_with_part (itemId); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('bound_with_part'); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('bound_with_part'); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.bound_with_part ADD COLUMN IF NOT EXISTS holdingsRecordId UUID; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.bound_with_part ADD COLUMN IF NOT EXISTS holdingsRecordId UUID; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ BEGIN BEGIN ALTER TABLE bound_with_part ADD CONSTRAINT holdingsRecordId_holdings_record_fkey FOREIGN KEY (holdingsRecordId) REFERENCES holdings_record; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ BEGIN BEGIN ALTER TABLE bound_with_part ADD CONSTRAINT holdingsRecordId_holdings_record_fkey FOREIGN KEY (holdingsRecordId) REFERENCES holdings_record; EXCEPTION WHEN duplicate_object OR duplicate_table THEN NULL; END; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS bound_with_part_holdingsRecordId_idx ON test_tenant_mod_inventory_storage.bound_with_part (holdingsRecordId); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS bound_with_part_holdingsRecordId_idx ON test_tenant_mod_inventory_storage.bound_with_part (holdingsRecordId); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO rmb_internal_analyze VALUES ('bound_with_part'); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO rmb_internal_analyze VALUES ('bound_with_part'); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_bound_with_part_references() RETURNS TRIGGER AS $$ BEGIN NEW.itemId = (NEW.jsonb->>'itemId'); NEW.holdingsRecordId = (NEW.jsonb->>'holdingsRecordId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_bound_with_part_references() RETURNS TRIGGER AS $$ BEGIN NEW.itemId = (NEW.jsonb->>'itemId'); NEW.holdingsRecordId = (NEW.jsonb->>'holdingsRecordId'); RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_bound_with_part_references ON test_tenant_mod_inventory_storage.bound_with_part CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_bound_with_part_references" for relation "test_tenant_mod_inventory_storage.bound_with_part" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_bound_with_part_references ON test_tenant_mod_inventory_storage.bound_with_part CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER update_bound_with_part_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.bound_with_part FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_bound_with_part_references(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER update_bound_with_part_references BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.bound_with_part FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_bound_with_part_references(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE bound_with_part DROP CONSTRAINT IF EXISTS ' || 'itemId_item_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE bound_with_part DROP CONSTRAINT IF EXISTS ' || 'holdingsRecordId_holdings_record_fkey' || i; END LOOP; END $$; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE version TEXT; i INT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM rmb_internal; IF version !~ '^(\d\.|1\d\.|2\d\.|30\.0\.)' THEN RETURN; END IF; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE bound_with_part DROP CONSTRAINT IF EXISTS ' || 'itemId_item_fkey' || i; END LOOP; FOR i IN 1..50 LOOP EXECUTE 'ALTER TABLE bound_with_part DROP CONSTRAINT IF EXISTS ' || 'holdingsRecordId_holdings_record_fkey' || i; END LOOP; END $$; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.bound_with_part_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.bound_with_part_set_md() RETURNS TRIGGER AS $$ DECLARE input text; createdDate timestamp; BEGIN input = NEW.jsonb->'metadata'->>'createdDate'; IF input IS NULL THEN RETURN NEW; END IF; -- time stamp without time zone? IF (input::timestamp::timestamptz = input::timestamptz) THEN -- createdDate already has no time zone, normalize using ::timestamp createdDate = input::timestamp; ELSE -- createdDate has a time zone string -- normalize using ::timestamptz, convert to '+00' time zone and remove time zone string createdDate = input::timestamptz AT TIME ZONE '+00'; END IF; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(createdDate)); NEW.creation_date = createdDate; NEW.created_by = NEW.jsonb->'metadata'->>'createdByUserId'; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_bound_with_part_md_trigger ON test_tenant_mod_inventory_storage.bound_with_part CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_bound_with_part_md_trigger" for relation "test_tenant_mod_inventory_storage.bound_with_part" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_bound_with_part_md_trigger ON test_tenant_mod_inventory_storage.bound_with_part CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_bound_with_part_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.bound_with_part FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.bound_with_part_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_bound_with_part_md_trigger BEFORE INSERT ON test_tenant_mod_inventory_storage.bound_with_part FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.bound_with_part_set_md(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_bound_with_part_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_bound_with_part_md_json() RETURNS TRIGGER AS $$ BEGIN if NEW.creation_date IS NULL then RETURN NEW; end if; NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdDate}', to_jsonb(NEW.creation_date)); if NEW.created_by IS NULL then NEW.jsonb = NEW.jsonb #- '{metadata,createdByUserId}'; else NEW.jsonb = jsonb_set(NEW.jsonb, '{metadata,createdByUserId}', to_jsonb(NEW.created_by)); end if; RETURN NEW; END; $$ language 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_bound_with_part_md_json_trigger ON test_tenant_mod_inventory_storage.bound_with_part CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_bound_with_part_md_json_trigger" for relation "test_tenant_mod_inventory_storage.bound_with_part" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_bound_with_part_md_json_trigger ON test_tenant_mod_inventory_storage.bound_with_part CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_bound_with_part_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.bound_with_part FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_bound_with_part_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_bound_with_part_md_json_trigger BEFORE UPDATE ON test_tenant_mod_inventory_storage.bound_with_part FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_bound_with_part_md_json(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_bound_with_part_ol_version_trigger ON test_tenant_mod_inventory_storage.bound_with_part CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_bound_with_part_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.bound_with_part" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_bound_with_part_ol_version_trigger ON test_tenant_mod_inventory_storage.bound_with_part CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.bound_with_part_set_ol_version() CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.bound_with_part_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.bound_with_part_set_ol_version() CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.notification_sending_error ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.notification_sending_error ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_notification_sending_error ON test_tenant_mod_inventory_storage.notification_sending_error CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_notification_sending_error" for relation "test_tenant_mod_inventory_storage.notification_sending_error" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_notification_sending_error ON test_tenant_mod_inventory_storage.notification_sending_error CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.notification_sending_error CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.notification_sending_error" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.notification_sending_error CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.notification_sending_error FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.notification_sending_error FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.notification_sending_error DROP COLUMN IF EXISTS creation_date CASCADE, DROP COLUMN IF EXISTS created_by CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='column "creation_date" of relation "notification_sending_error" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='7356', routine='ATExecDropColumn', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='column "created_by" of relation "notification_sending_error" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='7356', routine='ATExecDropColumn', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.notification_sending_error DROP COLUMN IF EXISTS creation_date CASCADE, DROP COLUMN IF EXISTS created_by CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_notification_sending_error_references ON test_tenant_mod_inventory_storage.notification_sending_error CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_notification_sending_error_references" for relation "test_tenant_mod_inventory_storage.notification_sending_error" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_notification_sending_error_references ON test_tenant_mod_inventory_storage.notification_sending_error CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_notification_sending_error_references(); 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_notification_sending_error_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_notification_sending_error_references(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.notification_sending_error_set_md() CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.notification_sending_error_set_md() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.notification_sending_error_set_md() CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_notification_sending_error_md_trigger ON test_tenant_mod_inventory_storage.notification_sending_error CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_notification_sending_error_md_trigger" for relation "test_tenant_mod_inventory_storage.notification_sending_error" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_notification_sending_error_md_trigger ON test_tenant_mod_inventory_storage.notification_sending_error CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_notification_sending_error_md_json() CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.set_notification_sending_error_md_json() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_notification_sending_error_md_json() CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_notification_sending_error_md_json_trigger ON test_tenant_mod_inventory_storage.notification_sending_error CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_notification_sending_error_md_json_trigger" for relation "test_tenant_mod_inventory_storage.notification_sending_error" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_notification_sending_error_md_json_trigger ON test_tenant_mod_inventory_storage.notification_sending_error CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_notification_sending_error_ol_version_trigger ON test_tenant_mod_inventory_storage.notification_sending_error CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_notification_sending_error_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.notification_sending_error" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_notification_sending_error_ol_version_trigger ON test_tenant_mod_inventory_storage.notification_sending_error CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.notification_sending_error_set_ol_version() CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.notification_sending_error_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.notification_sending_error_set_ol_version() CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.iteration_job ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TABLE IF NOT EXISTS test_tenant_mod_inventory_storage.iteration_job ( id UUID PRIMARY KEY, jsonb JSONB NOT NULL ); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_injson_iteration_job ON test_tenant_mod_inventory_storage.iteration_job CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_injson_iteration_job" for relation "test_tenant_mod_inventory_storage.iteration_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_injson_iteration_job ON test_tenant_mod_inventory_storage.iteration_job CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.iteration_job CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_id_in_jsonb" for relation "test_tenant_mod_inventory_storage.iteration_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_id_in_jsonb ON test_tenant_mod_inventory_storage.iteration_job CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.iteration_job FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_id_in_jsonb BEFORE INSERT OR UPDATE ON test_tenant_mod_inventory_storage.iteration_job FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_id_in_jsonb(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.iteration_job DROP COLUMN IF EXISTS creation_date CASCADE, DROP COLUMN IF EXISTS created_by CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='column "creation_date" of relation "iteration_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='7356', routine='ATExecDropColumn', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='column "created_by" of relation "iteration_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='7356', routine='ATExecDropColumn', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.iteration_job DROP COLUMN IF EXISTS creation_date CASCADE, DROP COLUMN IF EXISTS created_by CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_iteration_job_references ON test_tenant_mod_inventory_storage.iteration_job CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_iteration_job_references" for relation "test_tenant_mod_inventory_storage.iteration_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_iteration_job_references ON test_tenant_mod_inventory_storage.iteration_job CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_iteration_job_references(); 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_iteration_job_references() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_iteration_job_references(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.iteration_job_set_md() CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.iteration_job_set_md() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.iteration_job_set_md() CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_iteration_job_md_trigger ON test_tenant_mod_inventory_storage.iteration_job CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_iteration_job_md_trigger" for relation "test_tenant_mod_inventory_storage.iteration_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_iteration_job_md_trigger ON test_tenant_mod_inventory_storage.iteration_job CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_iteration_job_md_json() CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.set_iteration_job_md_json() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_iteration_job_md_json() CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_iteration_job_md_json_trigger ON test_tenant_mod_inventory_storage.iteration_job CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_iteration_job_md_json_trigger" for relation "test_tenant_mod_inventory_storage.iteration_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_iteration_job_md_json_trigger ON test_tenant_mod_inventory_storage.iteration_job CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_iteration_job_ol_version_trigger ON test_tenant_mod_inventory_storage.iteration_job CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_iteration_job_ol_version_trigger" for relation "test_tenant_mod_inventory_storage.iteration_job" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_iteration_job_ol_version_trigger ON test_tenant_mod_inventory_storage.iteration_job CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.iteration_job_set_ol_version() CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.iteration_job_set_ol_version() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.iteration_job_set_ol_version() CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} START TRANSACTION; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='WARNING', code='25001', message='there is already a transaction in progress', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='xact.c', line='3630', routine='BeginTransactionBlock', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed START TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance DISABLE TRIGGER USER; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance DISABLE TRIGGER USER; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.instance SET jsonb = JSONB_SET(instance.jsonb, '{previouslyHeld}', TO_JSONB(false)) WHERE jsonb->>'previouslyHeld' IS NULL; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.instance SET jsonb = JSONB_SET(instance.jsonb, '{previouslyHeld}', TO_JSONB(false)) WHERE jsonb->>'previouslyHeld' IS NULL; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance ENABLE TRIGGER USER; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance ENABLE TRIGGER USER; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} END TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed END TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} START TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed START TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.holdings_record SET jsonb = JSONB_SET(holdings_record.jsonb, '{effectiveLocationId}', TO_JSONB(holdings_record.jsonb->>'temporaryLocationId')) WHERE jsonb->>'temporaryLocationId' IS NOT NULL; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.holdings_record SET jsonb = JSONB_SET(holdings_record.jsonb, '{effectiveLocationId}', TO_JSONB(holdings_record.jsonb->>'temporaryLocationId')) WHERE jsonb->>'temporaryLocationId' IS NOT NULL; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.holdings_record SET jsonb = JSONB_SET(holdings_record.jsonb, '{effectiveLocationId}', TO_JSONB(holdings_record.jsonb->>'permanentLocationId')) WHERE jsonb->>'temporaryLocationId' IS NULL; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.holdings_record SET jsonb = JSONB_SET(holdings_record.jsonb, '{effectiveLocationId}', TO_JSONB(holdings_record.jsonb->>'permanentLocationId')) WHERE jsonb->>'temporaryLocationId' IS NULL; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} END TRANSACTION;DROP TRIGGER IF EXISTS update_effective_location_for_items ON test_tenant_mod_inventory_storage.holdings_record; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_effective_location_for_items" for relation "test_tenant_mod_inventory_storage.holdings_record" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed END TRANSACTION;DROP TRIGGER IF EXISTS update_effective_location_for_items ON test_tenant_mod_inventory_storage.holdings_record; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_effective_location ON test_tenant_mod_inventory_storage.item; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_effective_location" for relation "test_tenant_mod_inventory_storage.item" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_effective_location ON test_tenant_mod_inventory_storage.item; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} START TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed START TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.hrid_settings SET jsonb = (SELECT jsonb_insert(jsonb, '{commonRetainLeadingZeroes}','true', true) FROM test_tenant_mod_inventory_storage.hrid_settings WHERE id = 'a501f2a8-5b31-48b2-874d-2191e48db8cd') WHERE id = 'a501f2a8-5b31-48b2-874d-2191e48db8cd' and jsonb->>'commonRetainLeadingZeroes' is NULL; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.hrid_settings SET jsonb = (SELECT jsonb_insert(jsonb, '{commonRetainLeadingZeroes}','true', true) FROM test_tenant_mod_inventory_storage.hrid_settings WHERE id = 'a501f2a8-5b31-48b2-874d-2191e48db8cd') WHERE id = 'a501f2a8-5b31-48b2-874d-2191e48db8cd' and jsonb->>'commonRetainLeadingZeroes' is NULL; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} END TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed END TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} START TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed START TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item DISABLE TRIGGER USER; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item DISABLE TRIGGER USER; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.item AS it SET jsonb = JSONB_SET(it.jsonb, '{effectiveLocationId}', COALESCE( it.jsonb->'temporaryLocationId', it.jsonb->'permanentLocationId', hr.jsonb->'temporaryLocationId', hr.jsonb->'permanentLocationId' )), effectivelocationid = COALESCE( it.jsonb->>'temporaryLocationId', it.jsonb->>'permanentLocationId', hr.jsonb->>'temporaryLocationId', hr.jsonb->>'permanentLocationId' )::uuid FROM test_tenant_mod_inventory_storage.holdings_record AS hr WHERE hr.id = it.holdingsrecordid; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.item AS it SET jsonb = JSONB_SET(it.jsonb, '{effectiveLocationId}', COALESCE( it.jsonb->'temporaryLocationId', it.jsonb->'permanentLocationId', hr.jsonb->'temporaryLocationId', hr.jsonb->'permanentLocationId' )), effectivelocationid = COALESCE( it.jsonb->>'temporaryLocationId', it.jsonb->>'permanentLocationId', hr.jsonb->>'temporaryLocationId', hr.jsonb->>'permanentLocationId' )::uuid FROM test_tenant_mod_inventory_storage.holdings_record AS hr WHERE hr.id = it.holdingsrecordid; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item ENABLE TRIGGER USER; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item ENABLE TRIGGER USER; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} END TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed END TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} START TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed START TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item DISABLE TRIGGER USER; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item DISABLE TRIGGER USER; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.item SET effectiveLocationId = (jsonb->>'effectiveLocationId')::uuid; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.item SET effectiveLocationId = (jsonb->>'effectiveLocationId')::uuid; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item ENABLE TRIGGER USER; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item ENABLE TRIGGER USER; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} END TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed END TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} START TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed START TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item DISABLE TRIGGER USER; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item DISABLE TRIGGER USER; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.item AS it SET jsonb = JSONB_SET( it.jsonb, '{effectiveCallNumberComponents}', jsonb_build_object( 'callNumber', COALESCE(it.jsonb->'itemLevelCallNumber', hr.jsonb->'callNumber'), 'prefix', COALESCE(it.jsonb->'itemLevelCallNumberPrefix', hr.jsonb->'callNumberPrefix'), 'suffix', COALESCE(it.jsonb->'itemLevelCallNumberSuffix', hr.jsonb->'callNumberSuffix'), 'typeId', COALESCE(it.jsonb->'itemLevelCallNumberTypeId', hr.jsonb->'callNumberTypeId') ) ) FROM test_tenant_mod_inventory_storage.holdings_record AS hr WHERE hr.id = it.holdingsrecordid; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.item AS it SET jsonb = JSONB_SET( it.jsonb, '{effectiveCallNumberComponents}', jsonb_build_object( 'callNumber', COALESCE(it.jsonb->'itemLevelCallNumber', hr.jsonb->'callNumber'), 'prefix', COALESCE(it.jsonb->'itemLevelCallNumberPrefix', hr.jsonb->'callNumberPrefix'), 'suffix', COALESCE(it.jsonb->'itemLevelCallNumberSuffix', hr.jsonb->'callNumberSuffix'), 'typeId', COALESCE(it.jsonb->'itemLevelCallNumberTypeId', hr.jsonb->'callNumberTypeId') ) ) FROM test_tenant_mod_inventory_storage.holdings_record AS hr WHERE hr.id = it.holdingsrecordid; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item ENABLE TRIGGER USER; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item ENABLE TRIGGER USER; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} END TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed END TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_hrid ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_hrid" for relation "test_tenant_mod_inventory_storage.instance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_hrid ON test_tenant_mod_inventory_storage.instance CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_instance_hrid CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.set_instance_hrid() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_instance_hrid CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP SEQUENCE IF EXISTS test_tenant_mod_inventory_storage.instance_hrid_seq CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='sequence "instance_hrid_seq" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP SEQUENCE IF EXISTS test_tenant_mod_inventory_storage.instance_hrid_seq CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_holdings_record_hrid ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_holdings_record_hrid" for relation "test_tenant_mod_inventory_storage.holdings_record" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_holdings_record_hrid ON test_tenant_mod_inventory_storage.holdings_record CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_holdings_record_hrid CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.set_holdings_record_hrid() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_holdings_record_hrid CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP SEQUENCE IF EXISTS test_tenant_mod_inventory_storage.holdings_record_hrid_seq CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='sequence "holdings_record_hrid_seq" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP SEQUENCE IF EXISTS test_tenant_mod_inventory_storage.holdings_record_hrid_seq CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_item_hrid ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_item_hrid" for relation "test_tenant_mod_inventory_storage.item" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_item_hrid ON test_tenant_mod_inventory_storage.item CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_item_hrid CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.set_item_hrid() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.set_item_hrid CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP SEQUENCE IF EXISTS test_tenant_mod_inventory_storage.item_hrid_seq CASCADE; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='sequence "item_hrid_seq" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP SEQUENCE IF EXISTS test_tenant_mod_inventory_storage.item_hrid_seq CASCADE; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_status_updated_date() RETURNS trigger AS $function$ BEGIN IF (OLD.jsonb->'statusId' IS DISTINCT FROM NEW.jsonb->'statusId') THEN -- Date time in "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" format at UTC (00:00) time zone NEW.jsonb = jsonb_set( NEW.jsonb, '{statusUpdatedDate}', to_jsonb(to_char(CURRENT_TIMESTAMP(3) AT TIME ZONE 'UTC', 'YYYY-MM-DD"T"HH24:MI:SS.ms"Z"')) ); END IF; RETURN NEW; END; $function$ LANGUAGE plpgsql; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.set_instance_status_updated_date() RETURNS trigger AS $function$ BEGIN IF (OLD.jsonb->'statusId' IS DISTINCT FROM NEW.jsonb->'statusId') THEN -- Date time in "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" format at UTC (00:00) time zone NEW.jsonb = jsonb_set( NEW.jsonb, '{statusUpdatedDate}', to_jsonb(to_char(CURRENT_TIMESTAMP(3) AT TIME ZONE 'UTC', 'YYYY-MM-DD"T"HH24:MI:SS.ms"Z"')) ); END IF; RETURN NEW; END; $function$ LANGUAGE plpgsql; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS set_instance_status_updated_date ON test_tenant_mod_inventory_storage.instance; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "set_instance_status_updated_date" for relation "test_tenant_mod_inventory_storage.instance" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS set_instance_status_updated_date ON test_tenant_mod_inventory_storage.instance; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER set_instance_status_updated_date BEFORE UPDATE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_status_updated_date(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER set_instance_status_updated_date BEFORE UPDATE ON test_tenant_mod_inventory_storage.instance FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.set_instance_status_updated_date(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_item_status_date() RETURNS TRIGGER AS $$ DECLARE newStatus text; BEGIN newStatus = NEW.jsonb->'status'->>'name'; IF (newStatus IS DISTINCT FROM OLD.jsonb->'status'->>'name') THEN -- Date time in "YYYY-MM-DD"T"HH24:MI:SS.ms'Z'" format at UTC (00:00) time zone NEW.jsonb = jsonb_set(NEW.jsonb, '{status,date}', to_jsonb(to_char(CURRENT_TIMESTAMP(3) AT TIME ZONE 'UTC', 'YYYY-MM-DD"T"HH24:MI:SS.ms"Z"')), true); ELSIF (OLD.jsonb->'status'->'date' IS NOT NULL) THEN NEW.jsonb = jsonb_set(NEW.jsonb, '{status,date}', OLD.jsonb->'status'->'date', true); ELSE NEW.jsonb = NEW.jsonb #- '{status, date}'; END IF; RETURN NEW; END; $$ LANGUAGE 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.update_item_status_date() RETURNS TRIGGER AS $$ DECLARE newStatus text; BEGIN newStatus = NEW.jsonb->'status'->>'name'; IF (newStatus IS DISTINCT FROM OLD.jsonb->'status'->>'name') THEN -- Date time in "YYYY-MM-DD"T"HH24:MI:SS.ms'Z'" format at UTC (00:00) time zone NEW.jsonb = jsonb_set(NEW.jsonb, '{status,date}', to_jsonb(to_char(CURRENT_TIMESTAMP(3) AT TIME ZONE 'UTC', 'YYYY-MM-DD"T"HH24:MI:SS.ms"Z"')), true); ELSIF (OLD.jsonb->'status'->'date' IS NOT NULL) THEN NEW.jsonb = jsonb_set(NEW.jsonb, '{status,date}', OLD.jsonb->'status'->'date', true); ELSE NEW.jsonb = NEW.jsonb #- '{status, date}'; END IF; RETURN NEW; END; $$ LANGUAGE 'plpgsql'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS update_item_status_date ON test_tenant_mod_inventory_storage.item; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "update_item_status_date" for relation "test_tenant_mod_inventory_storage.item" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS update_item_status_date ON test_tenant_mod_inventory_storage.item; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER update_item_status_date BEFORE UPDATE ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_item_status_date(); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER update_item_status_date BEFORE UPDATE ON test_tenant_mod_inventory_storage.item FOR EACH ROW EXECUTE PROCEDURE test_tenant_mod_inventory_storage.update_item_status_date(); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER SEQUENCE IF EXISTS test_tenant_mod_inventory_storage.hrid_instances_seq AS BIGINT MAXVALUE 99999999999 OWNED BY test_tenant_mod_inventory_storage.hrid_settings.jsonb; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER SEQUENCE IF EXISTS test_tenant_mod_inventory_storage.hrid_instances_seq AS BIGINT MAXVALUE 99999999999 OWNED BY test_tenant_mod_inventory_storage.hrid_settings.jsonb; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER SEQUENCE IF EXISTS test_tenant_mod_inventory_storage.hrid_holdings_seq AS BIGINT MAXVALUE 99999999999 OWNED BY test_tenant_mod_inventory_storage.hrid_settings.jsonb; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER SEQUENCE IF EXISTS test_tenant_mod_inventory_storage.hrid_holdings_seq AS BIGINT MAXVALUE 99999999999 OWNED BY test_tenant_mod_inventory_storage.hrid_settings.jsonb; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER SEQUENCE IF EXISTS test_tenant_mod_inventory_storage.hrid_items_seq AS BIGINT MAXVALUE 99999999999 OWNED BY test_tenant_mod_inventory_storage.hrid_settings.jsonb; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER SEQUENCE IF EXISTS test_tenant_mod_inventory_storage.hrid_items_seq AS BIGINT MAXVALUE 99999999999 OWNED BY test_tenant_mod_inventory_storage.hrid_settings.jsonb; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} START TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed START TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item DISABLE TRIGGER USER; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item DISABLE TRIGGER USER; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.item SET jsonb = CASE WHEN jsonb->>'copyNumbers' IS NOT NULL AND jsonb_array_length(jsonb->'copyNumbers') > 0 THEN jsonb_set(jsonb - 'copyNumbers', '{copyNumber}', jsonb#>'{copyNumbers, 0}') ELSE jsonb - 'copyNumbers' END WHERE jsonb->'copyNumbers' IS NOT NULL; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.item SET jsonb = CASE WHEN jsonb->>'copyNumbers' IS NOT NULL AND jsonb_array_length(jsonb->'copyNumbers') > 0 THEN jsonb_set(jsonb - 'copyNumbers', '{copyNumber}', jsonb#>'{copyNumbers, 0}') ELSE jsonb - 'copyNumbers' END WHERE jsonb->'copyNumbers' IS NOT NULL; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.item ENABLE TRIGGER USER; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.item ENABLE TRIGGER USER; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} END TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed END TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} START TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed START TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.mode_of_issuance AS it SET jsonb = jsonb_set(it.jsonb, '{name}', '"integrating resource"') WHERE it.jsonb->>'id' = '4fc0f4fe-06fd-490a-a078-c4da1754e03a'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.mode_of_issuance AS it SET jsonb = jsonb_set(it.jsonb, '{name}', '"integrating resource"') WHERE it.jsonb->>'id' = '4fc0f4fe-06fd-490a-a078-c4da1754e03a'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.mode_of_issuance AS it SET jsonb = jsonb_set(it.jsonb, '{name}', '"multipart monograph"') WHERE it.jsonb->>'id' = 'f5cc2ab6-bb92-4cab-b83f-5a3d09261a41'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.mode_of_issuance AS it SET jsonb = jsonb_set(it.jsonb, '{name}', '"multipart monograph"') WHERE it.jsonb->>'id' = 'f5cc2ab6-bb92-4cab-b83f-5a3d09261a41'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.mode_of_issuance AS it SET jsonb = jsonb_set(it.jsonb, '{name}', '"serial"') WHERE it.jsonb->>'id' = '068b5344-e2a6-40df-9186-1829e13cd344'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.mode_of_issuance AS it SET jsonb = jsonb_set(it.jsonb, '{name}', '"serial"') WHERE it.jsonb->>'id' = '068b5344-e2a6-40df-9186-1829e13cd344'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.mode_of_issuance AS it SET jsonb = jsonb_set(it.jsonb, '{name}', '"single unit"') WHERE it.jsonb->>'id' = '9d18a02f-5897-4c31-9106-c9abb5c7ae8b'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.mode_of_issuance AS it SET jsonb = jsonb_set(it.jsonb, '{name}', '"single unit"') WHERE it.jsonb->>'id' = '9d18a02f-5897-4c31-9106-c9abb5c7ae8b'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.mode_of_issuance SET jsonb = jsonb || '{"name": "unspecified", "source": "folio"}'::jsonb WHERE jsonb->>'id' = '612bbd3d-c16b-4bfb-8517-2afafc60204a'; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.mode_of_issuance SET jsonb = jsonb || '{"name": "unspecified", "source": "folio"}'::jsonb WHERE jsonb->>'id' = '612bbd3d-c16b-4bfb-8517-2afafc60204a'; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} END TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed END TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO test_tenant_mod_inventory_storage.preceding_succeeding_title (id, jsonb) SELECT id, jsonb_build_object( 'id', jsonb->'id', 'metadata', jsonb->'metadata', 'precedingInstanceId', jsonb->'superInstanceId', 'succeedingInstanceId', jsonb->'subInstanceId') FROM test_tenant_mod_inventory_storage.instance_relationship as ir WHERE ir.instanceRelationshipTypeId ='cde80cc2-0c8b-4672-82d4-721e51dcb990' ON CONFLICT DO NOTHING; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO test_tenant_mod_inventory_storage.preceding_succeeding_title (id, jsonb) SELECT id, jsonb_build_object( 'id', jsonb->'id', 'metadata', jsonb->'metadata', 'precedingInstanceId', jsonb->'superInstanceId', 'succeedingInstanceId', jsonb->'subInstanceId') FROM test_tenant_mod_inventory_storage.instance_relationship as ir WHERE ir.instanceRelationshipTypeId ='cde80cc2-0c8b-4672-82d4-721e51dcb990' ON CONFLICT DO NOTHING; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} START TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed START TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance DISABLE TRIGGER USER; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance DISABLE TRIGGER USER; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.instance SET jsonb = JSONB_SET(instance.jsonb, '{discoverySuppress}', TO_JSONB(false)) WHERE jsonb->>'discoverySuppress' IS NULL; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.instance SET jsonb = JSONB_SET(instance.jsonb, '{discoverySuppress}', TO_JSONB(false)) WHERE jsonb->>'discoverySuppress' IS NULL; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE test_tenant_mod_inventory_storage.instance ENABLE TRIGGER USER; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE test_tenant_mod_inventory_storage.instance ENABLE TRIGGER USER; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} END TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed END TRANSACTION; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.item_metadata_updateddate_idx; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_metadata_updateddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.item_metadata_updateddate_idx; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.holdings_record_metadata_updateddate_idx; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "holdings_record_metadata_updateddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.holdings_record_metadata_updateddate_idx; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.audit_instance_createddate_idx; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "audit_instance_createddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.audit_instance_createddate_idx; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.audit_holdings_record_createddate_idx; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "audit_holdings_record_createddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.audit_holdings_record_createddate_idx; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.audit_item_createddate_idx; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "audit_item_createddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.audit_item_createddate_idx; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.strToTimestamp(text) returns timestamptz as $$ select $1::timestamptz $$ language sql immutable strict; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.strToTimestamp(text) returns timestamptz as $$ select $1::timestamptz $$ language sql immutable strict; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.dateOrMin(timestamptz) returns timestamptz as $$ select coalesce($1, timestamptz '1970-01-01') $$ language sql immutable; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.dateOrMin(timestamptz) returns timestamptz as $$ select coalesce($1, timestamptz '1970-01-01') $$ language sql immutable; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.dateOrMax(timestamptz) returns timestamptz as $$ select coalesce($1, timestamptz '2050-01-01') $$ language sql immutable; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.dateOrMax(timestamptz) returns timestamptz as $$ select coalesce($1, timestamptz '2050-01-01') $$ language sql immutable; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.getElectronicAccessName(val jsonb) returns jsonb as $$ select jsonb_agg(distinct e) from ( select e || jsonb_build_object('name', ( select jsonb ->> 'name' from test_tenant_mod_inventory_storage.electronic_access_relationship ear where id = (e ->> 'relationshipId')::uuid )) e from jsonb_array_elements($1) as e ) e1 $$ language sql strict; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.getElectronicAccessName(val jsonb) returns jsonb as $$ select jsonb_agg(distinct e) from ( select e || jsonb_build_object('name', ( select jsonb ->> 'name' from test_tenant_mod_inventory_storage.electronic_access_relationship ear where id = (e ->> 'relationshipId')::uuid )) e from jsonb_array_elements($1) as e ) e1 $$ language sql strict; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.getItemNoteTypeName(val jsonb) returns jsonb as $$ select jsonb_agg(distinct e) from ( select e || jsonb_build_object('noteTypeName', ( select jsonb ->> 'name' from item_note_type where id = (e ->> 'itemNoteTypeId')::uuid )) e from jsonb_array_elements($1) as e ) e1 $$ language sql strict; 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.getItemNoteTypeName(val jsonb) returns jsonb as $$ select jsonb_agg(distinct e) from ( select e || jsonb_build_object('noteTypeName', ( select jsonb ->> 'name' from item_note_type where id = (e ->> 'itemNoteTypeId')::uuid )) e from jsonb_array_elements($1) as e ) e1 $$ language sql strict; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.item_pmh_metadata_updateddate_idx; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_pmh_metadata_updateddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.item_pmh_metadata_updateddate_idx; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.holdings_record_pmh_metadata_updateddate_idx; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "holdings_record_pmh_metadata_updateddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.holdings_record_pmh_metadata_updateddate_idx; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.audit_instance_pmh_createddate_idx; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "audit_instance_pmh_createddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.audit_instance_pmh_createddate_idx; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.audit_holdings_record_pmh_createddate_idx; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "audit_holdings_record_pmh_createddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.audit_holdings_record_pmh_createddate_idx; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.audit_item_pmh_createddate_idx; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "audit_item_pmh_createddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.audit_item_pmh_createddate_idx; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.instance_pmh_metadata_updateddate_idx; 09:33:42 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "instance_pmh_metadata_updateddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.instance_pmh_metadata_updateddate_idx; 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} create index if not exists instance_pmh_metadata_updateddate_idx on test_tenant_mod_inventory_storage.instance ((strToTimestamp(jsonb -> 'metadata' ->> 'updatedDate'))); 09:33:42 [] [] [] [] INFO PostgresClient Successfully executed create index if not exists instance_pmh_metadata_updateddate_idx on test_tenant_mod_inventory_storage.instance ((strToTimestamp(jsonb -> 'metadata' ->> 'updatedDate'))); 09:33:42 [] [] [] [] INFO PostgresClient trying to execute: {} create index if not exists item_pmh_metadata_updateddate_idx on test_tenant_mod_inventory_storage.item ((strToTimestamp(jsonb -> 'metadata' ->> 'updatedDate'))); 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed create index if not exists item_pmh_metadata_updateddate_idx on test_tenant_mod_inventory_storage.item ((strToTimestamp(jsonb -> 'metadata' ->> 'updatedDate'))); 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} create index if not exists holdings_record_pmh_metadata_updateddate_idx on test_tenant_mod_inventory_storage.holdings_record ((strToTimestamp(jsonb -> 'metadata' ->> 'updatedDate'))); 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed create index if not exists holdings_record_pmh_metadata_updateddate_idx on test_tenant_mod_inventory_storage.holdings_record ((strToTimestamp(jsonb -> 'metadata' ->> 'updatedDate'))); 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} create index if not exists audit_instance_pmh_createddate_idx on test_tenant_mod_inventory_storage.audit_instance ((strToTimestamp(jsonb ->> 'createdDate'))); 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed create index if not exists audit_instance_pmh_createddate_idx on test_tenant_mod_inventory_storage.audit_instance ((strToTimestamp(jsonb ->> 'createdDate'))); 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} create index if not exists audit_holdings_record_pmh_createddate_idx on test_tenant_mod_inventory_storage.audit_holdings_record ((strToTimestamp(jsonb -> 'record' ->> 'updatedDate'))); 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed create index if not exists audit_holdings_record_pmh_createddate_idx on test_tenant_mod_inventory_storage.audit_holdings_record ((strToTimestamp(jsonb -> 'record' ->> 'updatedDate'))); 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} create index if not exists audit_item_pmh_createddate_idx on test_tenant_mod_inventory_storage.audit_item ((strToTimestamp(jsonb -> 'record' ->> 'updatedDate'))); 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed create index if not exists audit_item_pmh_createddate_idx on test_tenant_mod_inventory_storage.audit_item ((strToTimestamp(jsonb -> 'record' ->> 'updatedDate'))); 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} drop function if exists test_tenant_mod_inventory_storage.pmh_view_function(timestamptz, timestamptz, bool, bool); 09:33:43 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.pmh_view_function(timestamptz,timestamptz,bool,bool) does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed drop function if exists test_tenant_mod_inventory_storage.pmh_view_function(timestamptz, timestamptz, bool, bool); 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.pmh_view_function(startDate timestamptz, endDate timestamptz, deletedRecordSupport bool default true, skipSuppressedFromDiscoveryRecords bool default true) returns table ( instanceId uuid, updatedDate timestamptz, deleted boolean, itemsAndHoldingsFields jsonb ) as $body$ with instanceIdsInRange as ( select inst.id as instanceId, (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) as maxDate from test_tenant_mod_inventory_storage.instance inst where (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) union all select instanceid, greatest((strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')), (strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate'))) as maxDate from holdings_record hr join test_tenant_mod_inventory_storage.item item on item.holdingsrecordid = hr.id where ((strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) or (strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2)) union all select (audit_holdings_record.jsonb #>> '{record,instanceId}')::uuid, greatest((strtotimestamp(audit_item.jsonb -> 'record' ->> 'updatedDate')), (strtotimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate'))) as maxDate from audit_holdings_record audit_holdings_record join audit_item audit_item on (audit_item.jsonb ->> '{record,holdingsRecordId}')::uuid = audit_holdings_record.id where ((strToTimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) or (strToTimestamp(audit_item.jsonb #>> '{record,updatedDate}')) between dateOrMin($1) and dateOrMax($2)) ), instanceIdsAndDatesInRange as ( select instanceId, max(instanceIdsInRange.maxDate) as maxDate, (instance.jsonb ->> 'discoverySuppress')::bool as suppressFromDiscovery from instanceIdsInRange, instance where instanceIdsInRange.maxDate between dateOrMin($1) and dateOrMax($2) and instance.id = instanceIdsInRange.instanceId and not ($4 and coalesce((instance.jsonb ->> 'discoverySuppress')::bool, false)) group by 1, 3) select instanceIdsAndDatesInRange.instanceId, instanceIdsAndDatesInRange.maxDate, false as deleted, ( select to_jsonb(itemAndHoldingsAttrs) as instanceFields from ( select hr.instanceid, instanceIdsAndDatesInRange.suppressFromDiscovery as suppressFromDiscovery, jsonb_agg(jsonb_build_object('id', item.id, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName',cnt.jsonb ->> 'name'), 'location', json_build_object('location', jsonb_build_object('institutionId', itemLocInst.id, 'institutionName', itemLocInst.jsonb ->> 'name', 'campusId', itemLocCamp.id, 'campusName', itemLocCamp.jsonb ->> 'name', 'libraryId', itemLocLib.id, 'libraryName', itemLocLib.jsonb ->> 'name'), 'name', coalesce(loc.jsonb ->> 'discoveryDisplayName', loc.jsonb ->> 'name')), 'volume', item.jsonb -> 'volume', 'enumeration', item.jsonb -> 'enumeration', 'materialType', mt.jsonb -> 'name', 'electronicAccess', getElectronicAccessName( coalesce(item.jsonb #> '{electronicAccess}', '[]'::jsonb) || coalesce(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), 'suppressFromDiscovery', case when instanceIdsAndDatesInRange.suppressFromDiscovery then true else coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false) or coalesce((item.jsonb ->> 'discoverySuppress')::bool, false) end, 'notes', getItemNoteTypeName(item.jsonb-> 'notes'), 'barcode', item.jsonb->>'barcode', 'chronology', item.jsonb->>'chronology', 'copyNumber', item.jsonb->>'copyNumber', 'holdingsRecordId', hr.id )) items from holdings_record hr join test_tenant_mod_inventory_storage.item item on item.holdingsrecordid = hr.id join test_tenant_mod_inventory_storage.location loc on (item.jsonb ->> 'effectiveLocationId')::uuid = loc.id and (loc.jsonb ->> 'isActive')::bool = true join test_tenant_mod_inventory_storage.locinstitution itemLocInst on (loc.jsonb ->> 'institutionId')::uuid = itemLocInst.id join test_tenant_mod_inventory_storage.loccampus itemLocCamp on (loc.jsonb ->> 'campusId')::uuid = itemLocCamp.id join test_tenant_mod_inventory_storage.loclibrary itemLocLib on (loc.jsonb ->> 'libraryId')::uuid = itemLocLib.id left join test_tenant_mod_inventory_storage.material_type mt on item.materialtypeid = mt.id left join test_tenant_mod_inventory_storage.call_number_type cnt on (item.jsonb #>> '{effectiveCallNumberComponents, typeId}')::uuid = cnt.id where instanceId = instanceIdsAndDatesInRange.instanceId and not ($4 and coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false)) and not ($4 and coalesce((item.jsonb ->> 'discoverySuppress')::bool, false)) group by 1) itemAndHoldingsAttrs ) from instanceIdsAndDatesInRange union all select (audit_instance.jsonb #>> '{record,id}')::uuid as instanceId, strToTimestamp(jsonb ->> 'createdDate') as maxDate, true as deleted, null as itemFields from test_tenant_mod_inventory_storage.audit_instance where $3 and strToTimestamp(jsonb ->> 'createdDate') between dateOrMin($1) and dateOrMax($2) $body$ language sql; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.pmh_view_function(startDate timestamptz, endDate timestamptz, deletedRecordSupport bool default true, skipSuppressedFromDiscoveryRecords bool default true) returns table ( instanceId uuid, updatedDate timestamptz, deleted boolean, itemsAndHoldingsFields jsonb ) as $body$ with instanceIdsInRange as ( select inst.id as instanceId, (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) as maxDate from test_tenant_mod_inventory_storage.instance inst where (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) union all select instanceid, greatest((strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')), (strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate'))) as maxDate from holdings_record hr join test_tenant_mod_inventory_storage.item item on item.holdingsrecordid = hr.id where ((strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) or (strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2)) union all select (audit_holdings_record.jsonb #>> '{record,instanceId}')::uuid, greatest((strtotimestamp(audit_item.jsonb -> 'record' ->> 'updatedDate')), (strtotimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate'))) as maxDate from audit_holdings_record audit_holdings_record join audit_item audit_item on (audit_item.jsonb ->> '{record,holdingsRecordId}')::uuid = audit_holdings_record.id where ((strToTimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) or (strToTimestamp(audit_item.jsonb #>> '{record,updatedDate}')) between dateOrMin($1) and dateOrMax($2)) ), instanceIdsAndDatesInRange as ( select instanceId, max(instanceIdsInRange.maxDate) as maxDate, (instance.jsonb ->> 'discoverySuppress')::bool as suppressFromDiscovery from instanceIdsInRange, instance where instanceIdsInRange.maxDate between dateOrMin($1) and dateOrMax($2) and instance.id = instanceIdsInRange.instanceId and not ($4 and coalesce((instance.jsonb ->> 'discoverySuppress')::bool, false)) group by 1, 3) select instanceIdsAndDatesInRange.instanceId, instanceIdsAndDatesInRange.maxDate, false as deleted, ( select to_jsonb(itemAndHoldingsAttrs) as instanceFields from ( select hr.instanceid, instanceIdsAndDatesInRange.suppressFromDiscovery as suppressFromDiscovery, jsonb_agg(jsonb_build_object('id', item.id, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName',cnt.jsonb ->> 'name'), 'location', json_build_object('location', jsonb_build_object('institutionId', itemLocInst.id, 'institutionName', itemLocInst.jsonb ->> 'name', 'campusId', itemLocCamp.id, 'campusName', itemLocCamp.jsonb ->> 'name', 'libraryId', itemLocLib.id, 'libraryName', itemLocLib.jsonb ->> 'name'), 'name', coalesce(loc.jsonb ->> 'discoveryDisplayName', loc.jsonb ->> 'name')), 'volume', item.jsonb -> 'volume', 'enumeration', item.jsonb -> 'enumeration', 'materialType', mt.jsonb -> 'name', 'electronicAccess', getElectronicAccessName( coalesce(item.jsonb #> '{electronicAccess}', '[]'::jsonb) || coalesce(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), 'suppressFromDiscovery', case when instanceIdsAndDatesInRange.suppressFromDiscovery then true else coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false) or coalesce((item.jsonb ->> 'discoverySuppress')::bool, false) end, 'notes', getItemNoteTypeName(item.jsonb-> 'notes'), 'barcode', item.jsonb->>'barcode', 'chronology', item.jsonb->>'chronology', 'copyNumber', item.jsonb->>'copyNumber', 'holdingsRecordId', hr.id )) items from holdings_record hr join test_tenant_mod_inventory_storage.item item on item.holdingsrecordid = hr.id join test_tenant_mod_inventory_storage.location loc on (item.jsonb ->> 'effectiveLocationId')::uuid = loc.id and (loc.jsonb ->> 'isActive')::bool = true join test_tenant_mod_inventory_storage.locinstitution itemLocInst on (loc.jsonb ->> 'institutionId')::uuid = itemLocInst.id join test_tenant_mod_inventory_storage.loccampus itemLocCamp on (loc.jsonb ->> 'campusId')::uuid = itemLocCamp.id join test_tenant_mod_inventory_storage.loclibrary itemLocLib on (loc.jsonb ->> 'libraryId')::uuid = itemLocLib.id left join test_tenant_mod_inventory_storage.material_type mt on item.materialtypeid = mt.id left join test_tenant_mod_inventory_storage.call_number_type cnt on (item.jsonb #>> '{effectiveCallNumberComponents, typeId}')::uuid = cnt.id where instanceId = instanceIdsAndDatesInRange.instanceId and not ($4 and coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false)) and not ($4 and coalesce((item.jsonb ->> 'discoverySuppress')::bool, false)) group by 1) itemAndHoldingsAttrs ) from instanceIdsAndDatesInRange union all select (audit_instance.jsonb #>> '{record,id}')::uuid as instanceId, strToTimestamp(jsonb ->> 'createdDate') as maxDate, true as deleted, null as itemFields from test_tenant_mod_inventory_storage.audit_instance where $3 and strToTimestamp(jsonb ->> 'createdDate') between dateOrMin($1) and dateOrMax($2) $body$ language sql; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.pmh_get_updated_instances_ids(startDate timestamptz, endDate timestamptz, deletedRecordSupport bool default true, skipSuppressedFromDiscoveryRecords bool default true) returns table ( instanceId uuid, updatedDate timestamptz, suppressFromDiscovery boolean, deleted boolean ) as $body$ with instanceIdsInRange as ( select inst.id as instanceId, (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) as maxDate from test_tenant_mod_inventory_storage.instance inst where (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) union all select instanceid, greatest((strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')), (strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate'))) as maxDate from holdings_record hr join test_tenant_mod_inventory_storage.item item on item.holdingsrecordid = hr.id where ((strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) or (strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2)) union all select (audit_holdings_record.jsonb #>> '{record,instanceId}')::uuid, greatest((strtotimestamp(audit_item.jsonb -> 'record' ->> 'updatedDate')), (strtotimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate'))) as maxDate from audit_holdings_record audit_holdings_record join audit_item audit_item on (audit_item.jsonb ->> '{record,holdingsRecordId}')::uuid = audit_holdings_record.id where ((strToTimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) or (strToTimestamp(audit_item.jsonb #>> '{record,updatedDate}')) between dateOrMin($1) and dateOrMax($2)) ) select instanceId, max(instanceIdsInRange.maxDate) as maxDate, (instance.jsonb ->> 'discoverySuppress')::bool as suppressFromDiscovery, false as deleted from instanceIdsInRange, instance where instanceIdsInRange.maxDate between dateOrMin($1) and dateOrMax($2) and instance.id = instanceIdsInRange.instanceId and not ($4 and coalesce((instance.jsonb ->> 'discoverySuppress')::bool, false)) group by 1, 3 union all select (audit_instance.jsonb #>> '{record,id}')::uuid as instanceId, strToTimestamp(jsonb ->> 'createdDate') as maxDate, false as suppressFromDiscovery, true as deleted from test_tenant_mod_inventory_storage.audit_instance where $3 and strToTimestamp(jsonb ->> 'createdDate') between dateOrMin($1) and dateOrMax($2) $body$ language sql; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.pmh_get_updated_instances_ids(startDate timestamptz, endDate timestamptz, deletedRecordSupport bool default true, skipSuppressedFromDiscoveryRecords bool default true) returns table ( instanceId uuid, updatedDate timestamptz, suppressFromDiscovery boolean, deleted boolean ) as $body$ with instanceIdsInRange as ( select inst.id as instanceId, (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) as maxDate from test_tenant_mod_inventory_storage.instance inst where (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) union all select instanceid, greatest((strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')), (strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate'))) as maxDate from holdings_record hr join test_tenant_mod_inventory_storage.item item on item.holdingsrecordid = hr.id where ((strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) or (strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2)) union all select (audit_holdings_record.jsonb #>> '{record,instanceId}')::uuid, greatest((strtotimestamp(audit_item.jsonb -> 'record' ->> 'updatedDate')), (strtotimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate'))) as maxDate from audit_holdings_record audit_holdings_record join audit_item audit_item on (audit_item.jsonb ->> '{record,holdingsRecordId}')::uuid = audit_holdings_record.id where ((strToTimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) or (strToTimestamp(audit_item.jsonb #>> '{record,updatedDate}')) between dateOrMin($1) and dateOrMax($2)) ) select instanceId, max(instanceIdsInRange.maxDate) as maxDate, (instance.jsonb ->> 'discoverySuppress')::bool as suppressFromDiscovery, false as deleted from instanceIdsInRange, instance where instanceIdsInRange.maxDate between dateOrMin($1) and dateOrMax($2) and instance.id = instanceIdsInRange.instanceId and not ($4 and coalesce((instance.jsonb ->> 'discoverySuppress')::bool, false)) group by 1, 3 union all select (audit_instance.jsonb #>> '{record,id}')::uuid as instanceId, strToTimestamp(jsonb ->> 'createdDate') as maxDate, false as suppressFromDiscovery, true as deleted from test_tenant_mod_inventory_storage.audit_instance where $3 and strToTimestamp(jsonb ->> 'createdDate') between dateOrMin($1) and dateOrMax($2) $body$ language sql; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.pmh_instance_view_function(instanceIds uuid[], skipSuppressedFromDiscoveryRecords bool default true) returns table ( instanceId uuid, itemsAndHoldingsFields jsonb ) as $body$ select instId, (select to_jsonb(itemAndHoldingsAttrs) as itemsAndHoldingsFields from ( select hr.instanceid, jsonb_agg(jsonb_build_object('id', item.id, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName',cnt.jsonb ->> 'name'), 'location', json_build_object('location', jsonb_build_object('institutionId', itemLocInst.id, 'institutionName', itemLocInst.jsonb ->> 'name', 'campusId', itemLocCamp.id, 'campusName', itemLocCamp.jsonb ->> 'name', 'libraryId', itemLocLib.id, 'libraryName', itemLocLib.jsonb ->> 'name'), 'name', coalesce(loc.jsonb ->> 'discoveryDisplayName', loc.jsonb ->> 'name')), 'volume', item.jsonb -> 'volume', 'enumeration', item.jsonb -> 'enumeration', 'materialType', mt.jsonb -> 'name', 'electronicAccess', getElectronicAccessName( coalesce(item.jsonb #> '{electronicAccess}', '[]'::jsonb) || coalesce(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), 'suppressFromDiscovery', coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false) or coalesce((item.jsonb ->> 'discoverySuppress')::bool, false), 'notes', getItemNoteTypeName(item.jsonb-> 'notes'), 'barcode', item.jsonb->>'barcode', 'chronology', item.jsonb->>'chronology', 'copyNumber', item.jsonb->>'copyNumber', 'holdingsRecordId', hr.id )) items from holdings_record hr join test_tenant_mod_inventory_storage.item item on item.holdingsrecordid = hr.id join test_tenant_mod_inventory_storage.location loc on (item.jsonb ->> 'effectiveLocationId')::uuid = loc.id and (loc.jsonb ->> 'isActive')::bool = true join test_tenant_mod_inventory_storage.locinstitution itemLocInst on (loc.jsonb ->> 'institutionId')::uuid = itemLocInst.id join test_tenant_mod_inventory_storage.loccampus itemLocCamp on (loc.jsonb ->> 'campusId')::uuid = itemLocCamp.id join test_tenant_mod_inventory_storage.loclibrary itemLocLib on (loc.jsonb ->> 'libraryId')::uuid = itemLocLib.id left join test_tenant_mod_inventory_storage.material_type mt on item.materialtypeid = mt.id left join test_tenant_mod_inventory_storage.call_number_type cnt on (item.jsonb #>> '{effectiveCallNumberComponents, typeId}')::uuid = cnt.id where instanceId = instId and not ($2 and coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false)) and not ($2 and coalesce((item.jsonb ->> 'discoverySuppress')::bool, false)) group by 1) itemAndHoldingsAttrs) FROM unnest( $1 ) AS instId; $body$ language sql; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.pmh_instance_view_function(instanceIds uuid[], skipSuppressedFromDiscoveryRecords bool default true) returns table ( instanceId uuid, itemsAndHoldingsFields jsonb ) as $body$ select instId, (select to_jsonb(itemAndHoldingsAttrs) as itemsAndHoldingsFields from ( select hr.instanceid, jsonb_agg(jsonb_build_object('id', item.id, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName',cnt.jsonb ->> 'name'), 'location', json_build_object('location', jsonb_build_object('institutionId', itemLocInst.id, 'institutionName', itemLocInst.jsonb ->> 'name', 'campusId', itemLocCamp.id, 'campusName', itemLocCamp.jsonb ->> 'name', 'libraryId', itemLocLib.id, 'libraryName', itemLocLib.jsonb ->> 'name'), 'name', coalesce(loc.jsonb ->> 'discoveryDisplayName', loc.jsonb ->> 'name')), 'volume', item.jsonb -> 'volume', 'enumeration', item.jsonb -> 'enumeration', 'materialType', mt.jsonb -> 'name', 'electronicAccess', getElectronicAccessName( coalesce(item.jsonb #> '{electronicAccess}', '[]'::jsonb) || coalesce(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), 'suppressFromDiscovery', coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false) or coalesce((item.jsonb ->> 'discoverySuppress')::bool, false), 'notes', getItemNoteTypeName(item.jsonb-> 'notes'), 'barcode', item.jsonb->>'barcode', 'chronology', item.jsonb->>'chronology', 'copyNumber', item.jsonb->>'copyNumber', 'holdingsRecordId', hr.id )) items from holdings_record hr join test_tenant_mod_inventory_storage.item item on item.holdingsrecordid = hr.id join test_tenant_mod_inventory_storage.location loc on (item.jsonb ->> 'effectiveLocationId')::uuid = loc.id and (loc.jsonb ->> 'isActive')::bool = true join test_tenant_mod_inventory_storage.locinstitution itemLocInst on (loc.jsonb ->> 'institutionId')::uuid = itemLocInst.id join test_tenant_mod_inventory_storage.loccampus itemLocCamp on (loc.jsonb ->> 'campusId')::uuid = itemLocCamp.id join test_tenant_mod_inventory_storage.loclibrary itemLocLib on (loc.jsonb ->> 'libraryId')::uuid = itemLocLib.id left join test_tenant_mod_inventory_storage.material_type mt on item.materialtypeid = mt.id left join test_tenant_mod_inventory_storage.call_number_type cnt on (item.jsonb #>> '{effectiveCallNumberComponents, typeId}')::uuid = cnt.id where instanceId = instId and not ($2 and coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false)) and not ($2 and coalesce((item.jsonb ->> 'discoverySuppress')::bool, false)) group by 1) itemAndHoldingsAttrs) FROM unnest( $1 ) AS instId; $body$ language sql; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} START TRANSACTION; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed START TRANSACTION; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} DELETE FROM test_tenant_mod_inventory_storage.instance_relationship WHERE instanceRelationshipTypeId ='cde80cc2-0c8b-4672-82d4-721e51dcb990'; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed DELETE FROM test_tenant_mod_inventory_storage.instance_relationship WHERE instanceRelationshipTypeId ='cde80cc2-0c8b-4672-82d4-721e51dcb990'; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} DELETE FROM test_tenant_mod_inventory_storage.instance_relationship_type WHERE id ='cde80cc2-0c8b-4672-82d4-721e51dcb990'; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed DELETE FROM test_tenant_mod_inventory_storage.instance_relationship_type WHERE id ='cde80cc2-0c8b-4672-82d4-721e51dcb990'; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} END TRANSACTION; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed END TRANSACTION; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.item_metadata_updateddate_idx; 09:33:43 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "item_metadata_updateddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.item_metadata_updateddate_idx; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.holdings_record_metadata_updateddate_idx; 09:33:43 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "holdings_record_metadata_updateddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.holdings_record_metadata_updateddate_idx; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.audit_instance_createddate_idx; 09:33:43 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "audit_instance_createddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.audit_instance_createddate_idx; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.audit_holdings_record_createddate_idx; 09:33:43 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "audit_holdings_record_createddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.audit_holdings_record_createddate_idx; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} drop index if exists test_tenant_mod_inventory_storage.audit_item_createddate_idx; 09:33:43 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='index "audit_item_createddate_idx" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='tablecmds.c', line='1194', routine='DropErrorMsgNonExistent', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed drop index if exists test_tenant_mod_inventory_storage.audit_item_createddate_idx; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.strToTimestamp(text) RETURNS timestamptz AS $$ SELECT $1::timestamptz $$ LANGUAGE sql immutable strict; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.strToTimestamp(text) RETURNS timestamptz AS $$ SELECT $1::timestamptz $$ LANGUAGE sql immutable strict; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.dateOrMin(timestamptz) RETURNS timestamptz AS $$ SELECT COALESCE($1, timestamptz '1970-01-01') $$ LANGUAGE sql immutable; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.dateOrMin(timestamptz) RETURNS timestamptz AS $$ SELECT COALESCE($1, timestamptz '1970-01-01') $$ LANGUAGE sql immutable; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.dateOrMax(timestamptz) RETURNS timestamptz AS $$ SELECT COALESCE($1, timestamptz '2050-01-01') $$ LANGUAGE sql immutable; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.dateOrMax(timestamptz) RETURNS timestamptz AS $$ SELECT COALESCE($1, timestamptz '2050-01-01') $$ LANGUAGE sql immutable; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getElectronicAccessName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e) FROM ( SELECT e || jsonb_build_object('name', ( SELECT jsonb ->> 'name' FROM test_tenant_mod_inventory_storage.electronic_access_relationship WHERE id = (e ->> 'relationshipId')::uuid )) e FROM jsonb_array_elements($1) AS e ) e1 $$ LANGUAGE sql strict; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getElectronicAccessName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e) FROM ( SELECT e || jsonb_build_object('name', ( SELECT jsonb ->> 'name' FROM test_tenant_mod_inventory_storage.electronic_access_relationship WHERE id = (e ->> 'relationshipId')::uuid )) e FROM jsonb_array_elements($1) AS e ) e1 $$ LANGUAGE sql strict; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getItemNoteTypeName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e) FROM ( SELECT e - 'itemNoteTypeId' - 'staffOnly' || jsonb_build_object('itemNoteTypeName', ( SELECT jsonb ->> 'name' FROM item_note_type WHERE id = (e ->> 'itemNoteTypeId')::uuid )) e FROM jsonb_array_elements( $1 ) AS e WHERE NOT (e ->> 'staffOnly')::bool ) e1 $$ LANGUAGE sql strict; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getItemNoteTypeName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e) FROM ( SELECT e - 'itemNoteTypeId' - 'staffOnly' || jsonb_build_object('itemNoteTypeName', ( SELECT jsonb ->> 'name' FROM item_note_type WHERE id = (e ->> 'itemNoteTypeId')::uuid )) e FROM jsonb_array_elements( $1 ) AS e WHERE NOT (e ->> 'staffOnly')::bool ) e1 $$ LANGUAGE sql strict; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getHoldingNoteTypeName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e) FROM ( SELECT e - 'holdingsNoteTypeId' - 'staffOnly' || jsonb_build_object('holdingsNoteTypeName', ( SELECT jsonb ->> 'name' FROM holdings_note_type WHERE id = (e ->> 'holdingsNoteTypeId')::uuid )) e FROM jsonb_array_elements( $1 ) AS e WHERE NOT (e ->> 'staffOnly')::bool ) e1 $$ LANGUAGE sql strict; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getHoldingNoteTypeName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e) FROM ( SELECT e - 'holdingsNoteTypeId' - 'staffOnly' || jsonb_build_object('holdingsNoteTypeName', ( SELECT jsonb ->> 'name' FROM holdings_note_type WHERE id = (e ->> 'holdingsNoteTypeId')::uuid )) e FROM jsonb_array_elements( $1 ) AS e WHERE NOT (e ->> 'staffOnly')::bool ) e1 $$ LANGUAGE sql strict; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getStatisticalCodes(val jsonb) RETURNS jsonb AS $$ WITH stat_codes(statCodeId, statCodeJsonb, statCodeTypeJsonb) AS ( SELECT sc.id, sc.jsonb, sct.jsonb FROM statistical_code sc JOIN statistical_code_type sct ON sct.id = sc.statisticalcodetypeid ) SELECT jsonb_agg(DISTINCT jsonb_build_object('id', sc.statCodeJsonb ->> 'id') || jsonb_build_object('code', sc.statCodeJsonb ->> 'code') || jsonb_build_object('name', sc.statCodeJsonb ->> 'name') || jsonb_build_object('statisticalCodeType', sc.statCodeTypeJsonb ->> 'name') || jsonb_build_object('source', sc.statCodeTypeJsonb ->> 'source')) FROM jsonb_array_elements( $1 ) AS e, stat_codes sc WHERE sc.statCodeId = (e ->> 0)::uuid $$ LANGUAGE sql strict; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getStatisticalCodes(val jsonb) RETURNS jsonb AS $$ WITH stat_codes(statCodeId, statCodeJsonb, statCodeTypeJsonb) AS ( SELECT sc.id, sc.jsonb, sct.jsonb FROM statistical_code sc JOIN statistical_code_type sct ON sct.id = sc.statisticalcodetypeid ) SELECT jsonb_agg(DISTINCT jsonb_build_object('id', sc.statCodeJsonb ->> 'id') || jsonb_build_object('code', sc.statCodeJsonb ->> 'code') || jsonb_build_object('name', sc.statCodeJsonb ->> 'name') || jsonb_build_object('statisticalCodeType', sc.statCodeTypeJsonb ->> 'name') || jsonb_build_object('source', sc.statCodeTypeJsonb ->> 'source')) FROM jsonb_array_elements( $1 ) AS e, stat_codes sc WHERE sc.statCodeId = (e ->> 0)::uuid $$ LANGUAGE sql strict; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getNatureOfContentName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e.name) FROM ( SELECT (jsonb ->> 'name') AS "name" FROM test_tenant_mod_inventory_storage.nature_of_content_term JOIN jsonb_array_elements($1) as insNoctIds ON id = (insNoctIds ->> 0)::uuid) e $$ LANGUAGE sql strict; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getNatureOfContentName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e.name) FROM ( SELECT (jsonb ->> 'name') AS "name" FROM test_tenant_mod_inventory_storage.nature_of_content_term JOIN jsonb_array_elements($1) as insNoctIds ON id = (insNoctIds ->> 0)::uuid) e $$ LANGUAGE sql strict; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} DROP INDEX IF EXISTS test_tenant_mod_inventory_storage.item_pmh_metadata_updateddate_idx; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed DROP INDEX IF EXISTS test_tenant_mod_inventory_storage.item_pmh_metadata_updateddate_idx; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} DROP INDEX IF EXISTS test_tenant_mod_inventory_storage.holdings_record_pmh_metadata_updateddate_idx; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed DROP INDEX IF EXISTS test_tenant_mod_inventory_storage.holdings_record_pmh_metadata_updateddate_idx; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} DROP INDEX IF EXISTS test_tenant_mod_inventory_storage.audit_instance_pmh_createddate_idx; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed DROP INDEX IF EXISTS test_tenant_mod_inventory_storage.audit_instance_pmh_createddate_idx; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} DROP INDEX IF EXISTS test_tenant_mod_inventory_storage.audit_holdings_record_pmh_createddate_idx; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed DROP INDEX IF EXISTS test_tenant_mod_inventory_storage.audit_holdings_record_pmh_createddate_idx; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} DROP INDEX IF EXISTS test_tenant_mod_inventory_storage.audit_item_pmh_createddate_idx; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed DROP INDEX IF EXISTS test_tenant_mod_inventory_storage.audit_item_pmh_createddate_idx; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} DROP INDEX IF EXISTS test_tenant_mod_inventory_storage.instance_pmh_metadata_updateddate_idx; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed DROP INDEX IF EXISTS test_tenant_mod_inventory_storage.instance_pmh_metadata_updateddate_idx; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS instance_pmh_metadata_updateddate_idx ON test_tenant_mod_inventory_storage.instance ((strToTimestamp(jsonb -> 'metadata' ->> 'updatedDate'))); 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS instance_pmh_metadata_updateddate_idx ON test_tenant_mod_inventory_storage.instance ((strToTimestamp(jsonb -> 'metadata' ->> 'updatedDate'))); 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS item_pmh_metadata_updateddate_idx ON test_tenant_mod_inventory_storage.item ((strToTimestamp(jsonb -> 'metadata' ->> 'updatedDate'))); 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS item_pmh_metadata_updateddate_idx ON test_tenant_mod_inventory_storage.item ((strToTimestamp(jsonb -> 'metadata' ->> 'updatedDate'))); 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS holdings_record_pmh_metadata_updateddate_idx ON test_tenant_mod_inventory_storage.holdings_record ((strToTimestamp(jsonb -> 'metadata' ->> 'updatedDate'))); 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS holdings_record_pmh_metadata_updateddate_idx ON test_tenant_mod_inventory_storage.holdings_record ((strToTimestamp(jsonb -> 'metadata' ->> 'updatedDate'))); 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS audit_instance_pmh_createddate_idx ON test_tenant_mod_inventory_storage.audit_instance ((strToTimestamp(jsonb ->> 'createdDate'))); 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS audit_instance_pmh_createddate_idx ON test_tenant_mod_inventory_storage.audit_instance ((strToTimestamp(jsonb ->> 'createdDate'))); 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS audit_holdings_record_pmh_createddate_idx ON test_tenant_mod_inventory_storage.audit_holdings_record ((strToTimestamp(jsonb -> 'record' ->> 'updatedDate'))); 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS audit_holdings_record_pmh_createddate_idx ON test_tenant_mod_inventory_storage.audit_holdings_record ((strToTimestamp(jsonb -> 'record' ->> 'updatedDate'))); 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS audit_item_pmh_createddate_idx ON test_tenant_mod_inventory_storage.audit_item ((strToTimestamp(jsonb -> 'record' ->> 'updatedDate'))); 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS audit_item_pmh_createddate_idx ON test_tenant_mod_inventory_storage.audit_item ((strToTimestamp(jsonb -> 'record' ->> 'updatedDate'))); 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} drop function if exists test_tenant_mod_inventory_storage.get_updated_instance_ids_view; 09:33:43 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.get_updated_instance_ids_view() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed drop function if exists test_tenant_mod_inventory_storage.get_updated_instance_ids_view; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} drop function if exists test_tenant_mod_inventory_storage.get_items_and_holdings_view; 09:33:43 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.get_items_and_holdings_view() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed drop function if exists test_tenant_mod_inventory_storage.get_items_and_holdings_view; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.get_updated_instance_ids_view(startDate timestamptz, endDate timestamptz, deletedRecordSupport bool DEFAULT TRUE, skipSuppressedFromDiscoveryRecords bool DEFAULT TRUE, onlyInstanceUpdateDate bool DEFAULT TRUE) RETURNS TABLE ( "instanceId" uuid, "source" varchar, "updatedDate" timestamptz, "suppressFromDiscovery" boolean, "deleted" boolean ) AS $BODY$ WITH instanceIdsInRange AS ( SELECT inst.id AS instanceId, (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) AS maxDate FROM test_tenant_mod_inventory_storage.instance inst WHERE (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) BETWEEN dateOrMin($1) AND dateOrMax($2) UNION ALL SELECT instanceid, greatest((strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')), (strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate'))) AS maxDate FROM test_tenant_mod_inventory_storage.holdings_record hr JOIN test_tenant_mod_inventory_storage.item item ON item.holdingsrecordid = hr.id WHERE ((strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate')) BETWEEN dateOrMin($1) AND dateOrMax($2) OR (strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')) BETWEEN dateOrMin($1) AND dateOrMax($2)) AND NOT EXISTS (SELECT NULL WHERE $5) UNION ALL SELECT (audit_holdings_record.jsonb #>> '{record,instanceId}')::uuid, greatest((strToTimestamp(audit_item.jsonb -> 'record' ->> 'updatedDate')), (strToTimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate'))) AS maxDate FROM test_tenant_mod_inventory_storage.audit_holdings_record audit_holdings_record JOIN test_tenant_mod_inventory_storage.audit_item audit_item ON (audit_item.jsonb ->> '{record,holdingsRecordId}')::uuid = audit_holdings_record.id WHERE ((strToTimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate')) BETWEEN dateOrMin($1) AND dateOrMax($2) OR (strToTimestamp(audit_item.jsonb #>> '{record,updatedDate}')) BETWEEN dateOrMin($1) AND dateOrMax($2)) AND NOT EXISTS (SELECT NULL WHERE $5) ) SELECT instanceId, instance.jsonb ->> 'source' AS source, MAX(instanceIdsInRange.maxDate) AS maxDate, (instance.jsonb ->> 'discoverySuppress')::bool AS suppressFromDiscovery, false AS deleted FROM instanceIdsInRange, test_tenant_mod_inventory_storage.instance WHERE instanceIdsInRange.maxDate BETWEEN dateOrMin($1) AND dateOrMax($2) AND instance.id = instanceIdsInRange.instanceId AND NOT ($4 AND COALESCE((instance.jsonb ->> 'discoverySuppress')::bool, false)) GROUP BY 1, 2, 4 UNION ALL SELECT (jsonb #>> '{record,id}')::uuid AS instanceId, jsonb #>> '{record,source}' AS source, strToTimestamp(jsonb ->> 'createdDate') AS maxDate, false AS suppressFromDiscovery, true AS deleted FROM test_tenant_mod_inventory_storage.audit_instance WHERE $3 AND strToTimestamp(jsonb ->> 'createdDate') BETWEEN dateOrMin($1) AND dateOrMax($2) $BODY$ LANGUAGE sql; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.get_updated_instance_ids_view(startDate timestamptz, endDate timestamptz, deletedRecordSupport bool DEFAULT TRUE, skipSuppressedFromDiscoveryRecords bool DEFAULT TRUE, onlyInstanceUpdateDate bool DEFAULT TRUE) RETURNS TABLE ( "instanceId" uuid, "source" varchar, "updatedDate" timestamptz, "suppressFromDiscovery" boolean, "deleted" boolean ) AS $BODY$ WITH instanceIdsInRange AS ( SELECT inst.id AS instanceId, (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) AS maxDate FROM test_tenant_mod_inventory_storage.instance inst WHERE (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) BETWEEN dateOrMin($1) AND dateOrMax($2) UNION ALL SELECT instanceid, greatest((strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')), (strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate'))) AS maxDate FROM test_tenant_mod_inventory_storage.holdings_record hr JOIN test_tenant_mod_inventory_storage.item item ON item.holdingsrecordid = hr.id WHERE ((strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate')) BETWEEN dateOrMin($1) AND dateOrMax($2) OR (strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')) BETWEEN dateOrMin($1) AND dateOrMax($2)) AND NOT EXISTS (SELECT NULL WHERE $5) UNION ALL SELECT (audit_holdings_record.jsonb #>> '{record,instanceId}')::uuid, greatest((strToTimestamp(audit_item.jsonb -> 'record' ->> 'updatedDate')), (strToTimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate'))) AS maxDate FROM test_tenant_mod_inventory_storage.audit_holdings_record audit_holdings_record JOIN test_tenant_mod_inventory_storage.audit_item audit_item ON (audit_item.jsonb ->> '{record,holdingsRecordId}')::uuid = audit_holdings_record.id WHERE ((strToTimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate')) BETWEEN dateOrMin($1) AND dateOrMax($2) OR (strToTimestamp(audit_item.jsonb #>> '{record,updatedDate}')) BETWEEN dateOrMin($1) AND dateOrMax($2)) AND NOT EXISTS (SELECT NULL WHERE $5) ) SELECT instanceId, instance.jsonb ->> 'source' AS source, MAX(instanceIdsInRange.maxDate) AS maxDate, (instance.jsonb ->> 'discoverySuppress')::bool AS suppressFromDiscovery, false AS deleted FROM instanceIdsInRange, test_tenant_mod_inventory_storage.instance WHERE instanceIdsInRange.maxDate BETWEEN dateOrMin($1) AND dateOrMax($2) AND instance.id = instanceIdsInRange.instanceId AND NOT ($4 AND COALESCE((instance.jsonb ->> 'discoverySuppress')::bool, false)) GROUP BY 1, 2, 4 UNION ALL SELECT (jsonb #>> '{record,id}')::uuid AS instanceId, jsonb #>> '{record,source}' AS source, strToTimestamp(jsonb ->> 'createdDate') AS maxDate, false AS suppressFromDiscovery, true AS deleted FROM test_tenant_mod_inventory_storage.audit_instance WHERE $3 AND strToTimestamp(jsonb ->> 'createdDate') BETWEEN dateOrMin($1) AND dateOrMax($2) $BODY$ LANGUAGE sql; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.get_items_and_holdings_view(instanceIds uuid[], skipSuppressedFromDiscoveryRecords bool DEFAULT TRUE) RETURNS TABLE ( "instanceId" uuid, "source" varchar, "modeOfIssuance" varchar, "natureOfContent" jsonb, "holdings" jsonb, "items" jsonb ) AS $BODY$ WITH -- Locations viewLocations(locId, locJsonb, locCampJsonb, locLibJsonb, locInstJsonb) AS ( SELECT loc.id AS locId, loc.jsonb AS locJsonb, locCamp.jsonb AS locCampJsonb, locLib.jsonb AS locLibJsonb, locInst.jsonb AS locInstJsonb FROM location loc LEFT JOIN locinstitution locInst ON (loc.jsonb ->> 'institutionId')::uuid = locInst.id LEFT JOIN loccampus locCamp ON (loc.jsonb ->> 'campusId')::uuid = locCamp.id LEFT JOIN loclibrary locLib ON (loc.jsonb ->> 'libraryId')::uuid = locLib.id WHERE (loc.jsonb ->> 'isActive')::bool = true ), -- Passed instances ids viewInstances(instId, source, modeOfIssuance, natureOfContent) AS ( SELECT DISTINCT instId AS "instanceId", i.jsonb ->> 'source' AS source, moi.jsonb ->> 'name' AS modeOfIssuance, COALESCE(getNatureOfContentName(COALESCE(i.jsonb #> '{natureOfContentTermIds}', '[]'::jsonb)), '[]'::jsonb) AS natureOfContent FROM UNNEST( $1 ) instId JOIN instance i ON i.id = instId LEFT JOIN mode_of_issuance moi ON moi.id = (i.jsonb ->> 'modeOfIssuanceId')::uuid ), -- Prepared items and holdings viewItemsAndHoldings(instId, records) AS ( SELECT itemAndHoldingsAttrs.instanceId, jsonb_strip_nulls(itemAndHoldingsAttrs.itemsAndHoldings) FROM (SELECT i.id AS instanceId, jsonb_build_object('holdings', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', hr.id, 'hrId', hr.jsonb ->> 'hrId', 'suppressFromDiscovery', CASE WHEN hr.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'holdingsType', ht.jsonb ->> 'name', 'formerIds', hr.jsonb -> 'formerIds', 'location', CASE WHEN hr.id IS NOT NULL THEN json_build_object('permanentLocation', jsonb_build_object('name', COALESCE(holdPermLoc.locJsonb ->> 'discoveryDisplayName', holdPermLoc.locJsonb ->> 'name'), 'code', holdPermLoc.locJsonb ->> 'code', 'campusName', holdPermLoc.locCampJsonb ->> 'name', 'libraryName', holdPermLoc.locLibJsonb ->> 'name', 'institutionName', holdPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(holdTempLoc.locJsonb ->> 'discoveryDisplayName', holdTempLoc.locJsonb ->> 'name'), 'code', holdTempLoc.locJsonb ->> 'code', 'campusName', holdTempLoc.locCampJsonb ->> 'name', 'libraryName', holdTempLoc.locLibJsonb ->> 'name', 'institutionName', holdTempLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', json_build_object('prefix', hr.jsonb ->> 'callNumberPrefix', 'suffix', hr.jsonb ->> 'callNumberSuffix', 'typeId', hr.jsonb ->> 'callNumberTypeId', 'typeName', hrcnt.jsonb ->> 'name', 'callNumber', hr.jsonb ->> 'callNumber'), 'shelvingTitle', hr.jsonb ->> 'shelvingTitle', 'acquisitionFormat', hr.jsonb ->> 'acquisitionFormat', 'acquisitionMethod', hr.jsonb ->> 'acquisitionMethod', 'receiptStatus', hr.jsonb ->> 'receiptStatus', 'electronicAccess', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getHoldingNoteTypeName(hr.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'illPolicy', ilp.jsonb ->> 'name', 'retentionPolicy', hr.jsonb ->> 'retentionPolicy', 'digitizationPolicy', hr.jsonb ->> 'digitizationPolicy', 'holdingsStatements', hr.jsonb -> 'holdingsStatements', 'holdingsStatementsForIndexes', hr.jsonb -> 'holdingsStatementsForIndexes', 'holdingsStatementsForSupplements', hr.jsonb -> 'holdingsStatementsForSupplements', 'copyNumber', hr.jsonb ->> 'copyNumber', 'numberOfItems', hr.jsonb ->> 'numberOfItems', 'receivingHistory', hr.jsonb -> 'receivingHistory', 'tags', hr.jsonb -> 'tags', 'statisticalCodes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getStatisticalCodes(hr.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE hr.id IS NOT NULL), '[]'::jsonb), 'items', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', item.id, 'hrId', item.jsonb ->> 'hrId', 'holdingsRecordId', (item.jsonb ->> 'holdingsRecordId')::UUID, 'suppressFromDiscovery', CASE WHEN item.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'status', item.jsonb #>> '{status, name}', 'formerIds', item.jsonb -> 'formerIds', 'location', CASE WHEN item.id IS NOT NULL THEN json_build_object('location', jsonb_build_object('name', COALESCE(itemEffLoc.locJsonb ->> 'discoveryDisplayName', itemEffLoc.locJsonb ->> 'name'), 'code', itemEffLoc.locJsonb ->> 'code', 'campusName', itemEffLoc.locCampJsonb ->> 'name', 'libraryName', itemEffLoc.locLibJsonb ->> 'name', 'institutionName', itemEffLoc.locInstJsonb ->> 'name'), 'permanentLocation', jsonb_build_object('name', COALESCE(itemPermLoc.locJsonb ->> 'discoveryDisplayName', itemPermLoc.locJsonb ->> 'name'), 'code', itemPermLoc.locJsonb ->> 'code', 'campusName', itemPermLoc.locCampJsonb ->> 'name', 'libraryName', itemPermLoc.locLibJsonb ->> 'name', 'institutionName', itemPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(itemTempLoc.locJsonb ->> 'discoveryDisplayName', itemTempLoc.locJsonb ->> 'name'), 'code', itemTempLoc.locJsonb ->> 'code', 'campusName', itemTempLoc.locCampJsonb ->> 'name', 'libraryName', itemTempLoc.locLibJsonb ->> 'name', 'institutionName', itemTempLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName', cnt.jsonb ->> 'name'), 'accessionNumber', item.jsonb ->> 'accessionNumber', 'barcode', item.jsonb ->> 'barcode', 'copyNumber', item.jsonb ->> 'copyNumber', 'volume', item.jsonb ->> 'volume', 'enumeration', item.jsonb ->> 'enumeration', 'chronology', item.jsonb ->>'chronology', 'yearCaption', item.jsonb -> 'yearCaption', 'itemIdentifier', item.jsonb ->> 'itemIdentifier', 'numberOfPieces', item.jsonb ->> 'numberOfPieces', 'descriptionOfPieces', item.jsonb ->> 'descriptionOfPieces', 'numberOfMissingPieces', item.jsonb ->> 'numberOfMissingPieces', 'missingPieces', item.jsonb ->> 'missingPieces', 'missingPiecesDate', item.jsonb ->> 'missingPiecesDate', 'itemDamagedStatus', itemDmgStat.jsonb ->> 'name', 'itemDamagedStatusDate', item.jsonb ->> 'itemDamagedStatusDate', 'materialType', mt.jsonb ->> 'name', 'permanentLoanType', plt.jsonb ->> 'name', 'temporaryLoanType', tlt.jsonb ->> 'name', 'electronicAccess', CASE WHEN item.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(item.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getItemNoteTypeName(item.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'tags', item.jsonb -> 'tags', 'statisticalCodes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getStatisticalCodes(item.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE item.id IS NOT NULL), '[]'::jsonb) ) itemsAndHoldings FROM test_tenant_mod_inventory_storage.holdings_record hr JOIN test_tenant_mod_inventory_storage.instance i ON i.id = hr.instanceid JOIN viewInstances vi ON vi.instId = i.id LEFT JOIN test_tenant_mod_inventory_storage.item item ON item.holdingsrecordid = hr.id -- Item's Effective location relation LEFT JOIN viewLocations itemEffLoc ON (item.jsonb ->> 'effectiveLocationId')::uuid = itemEffLoc.locId -- Item's Permanent location relation LEFT JOIN viewLocations itemPermLoc ON (item.jsonb ->> 'permanentLocationId')::uuid = itemPermLoc.locId -- Item's Temporary location relation LEFT JOIN viewLocations itemTempLoc ON (item.jsonb ->> 'temporaryLocationId')::uuid = itemTempLoc.locId -- Item's Material type relation LEFT JOIN test_tenant_mod_inventory_storage.material_type mt ON item.materialtypeid = mt.id -- Item's Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type cnt ON (item.jsonb #>> '{effectiveCallNumberComponents, typeId}')::uuid = cnt.id -- Item's Damaged status relation LEFT JOIN test_tenant_mod_inventory_storage.item_damaged_status itemDmgStat ON (item.jsonb ->> 'itemDamagedStatusId')::uuid = itemDmgStat.id -- Item's Permanent loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type plt ON (item.jsonb ->> 'permanentLoanTypeId')::uuid = plt.id -- Item's Temporary loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type tlt ON (item.jsonb ->> 'temporaryLoanTypeId')::uuid = tlt.id -- Holdings type relation LEFT JOIN test_tenant_mod_inventory_storage.holdings_type ht ON ht.id = hr.holdingstypeid -- Holdings Permanent location relation LEFT JOIN viewLocations holdPermLoc ON (hr.jsonb ->> 'permanentLocationId')::uuid = holdPermLoc.locId -- Holdings Temporary location relation LEFT JOIN viewLocations holdTempLoc ON (hr.jsonb ->> 'temporaryLocationId')::uuid = holdTempLoc.locId -- Holdings Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type hrcnt ON (hr.jsonb ->> 'callNumberTypeId')::uuid = hrcnt.id -- Holdings Ill policy relation LEFT JOIN test_tenant_mod_inventory_storage.ill_policy ilp ON hr.illpolicyid = ilp.id WHERE true AND NOT ($2 AND COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false)) AND NOT ($2 AND COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false)) GROUP BY 1 ) itemAndHoldingsAttrs ) -- Instances with items and holding records SELECT vi.instId AS "instanceId", vi.source AS "source", vi.modeOfIssuance AS "modeOfIssuance", vi.natureOfContent AS "natureOfContent", COALESCE(viah.records -> 'holdings', '[]'::jsonb) AS "holdings", COALESCE(viah.records -> 'items', '[]'::jsonb) AS "items" FROM viewInstances vi LEFT JOIN viewItemsAndHoldings viah ON viah.instId = vi.instId $BODY$ LANGUAGE sql; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.get_items_and_holdings_view(instanceIds uuid[], skipSuppressedFromDiscoveryRecords bool DEFAULT TRUE) RETURNS TABLE ( "instanceId" uuid, "source" varchar, "modeOfIssuance" varchar, "natureOfContent" jsonb, "holdings" jsonb, "items" jsonb ) AS $BODY$ WITH -- Locations viewLocations(locId, locJsonb, locCampJsonb, locLibJsonb, locInstJsonb) AS ( SELECT loc.id AS locId, loc.jsonb AS locJsonb, locCamp.jsonb AS locCampJsonb, locLib.jsonb AS locLibJsonb, locInst.jsonb AS locInstJsonb FROM location loc LEFT JOIN locinstitution locInst ON (loc.jsonb ->> 'institutionId')::uuid = locInst.id LEFT JOIN loccampus locCamp ON (loc.jsonb ->> 'campusId')::uuid = locCamp.id LEFT JOIN loclibrary locLib ON (loc.jsonb ->> 'libraryId')::uuid = locLib.id WHERE (loc.jsonb ->> 'isActive')::bool = true ), -- Passed instances ids viewInstances(instId, source, modeOfIssuance, natureOfContent) AS ( SELECT DISTINCT instId AS "instanceId", i.jsonb ->> 'source' AS source, moi.jsonb ->> 'name' AS modeOfIssuance, COALESCE(getNatureOfContentName(COALESCE(i.jsonb #> '{natureOfContentTermIds}', '[]'::jsonb)), '[]'::jsonb) AS natureOfContent FROM UNNEST( $1 ) instId JOIN instance i ON i.id = instId LEFT JOIN mode_of_issuance moi ON moi.id = (i.jsonb ->> 'modeOfIssuanceId')::uuid ), -- Prepared items and holdings viewItemsAndHoldings(instId, records) AS ( SELECT itemAndHoldingsAttrs.instanceId, jsonb_strip_nulls(itemAndHoldingsAttrs.itemsAndHoldings) FROM (SELECT i.id AS instanceId, jsonb_build_object('holdings', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', hr.id, 'hrId', hr.jsonb ->> 'hrId', 'suppressFromDiscovery', CASE WHEN hr.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'holdingsType', ht.jsonb ->> 'name', 'formerIds', hr.jsonb -> 'formerIds', 'location', CASE WHEN hr.id IS NOT NULL THEN json_build_object('permanentLocation', jsonb_build_object('name', COALESCE(holdPermLoc.locJsonb ->> 'discoveryDisplayName', holdPermLoc.locJsonb ->> 'name'), 'code', holdPermLoc.locJsonb ->> 'code', 'campusName', holdPermLoc.locCampJsonb ->> 'name', 'libraryName', holdPermLoc.locLibJsonb ->> 'name', 'institutionName', holdPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(holdTempLoc.locJsonb ->> 'discoveryDisplayName', holdTempLoc.locJsonb ->> 'name'), 'code', holdTempLoc.locJsonb ->> 'code', 'campusName', holdTempLoc.locCampJsonb ->> 'name', 'libraryName', holdTempLoc.locLibJsonb ->> 'name', 'institutionName', holdTempLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', json_build_object('prefix', hr.jsonb ->> 'callNumberPrefix', 'suffix', hr.jsonb ->> 'callNumberSuffix', 'typeId', hr.jsonb ->> 'callNumberTypeId', 'typeName', hrcnt.jsonb ->> 'name', 'callNumber', hr.jsonb ->> 'callNumber'), 'shelvingTitle', hr.jsonb ->> 'shelvingTitle', 'acquisitionFormat', hr.jsonb ->> 'acquisitionFormat', 'acquisitionMethod', hr.jsonb ->> 'acquisitionMethod', 'receiptStatus', hr.jsonb ->> 'receiptStatus', 'electronicAccess', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getHoldingNoteTypeName(hr.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'illPolicy', ilp.jsonb ->> 'name', 'retentionPolicy', hr.jsonb ->> 'retentionPolicy', 'digitizationPolicy', hr.jsonb ->> 'digitizationPolicy', 'holdingsStatements', hr.jsonb -> 'holdingsStatements', 'holdingsStatementsForIndexes', hr.jsonb -> 'holdingsStatementsForIndexes', 'holdingsStatementsForSupplements', hr.jsonb -> 'holdingsStatementsForSupplements', 'copyNumber', hr.jsonb ->> 'copyNumber', 'numberOfItems', hr.jsonb ->> 'numberOfItems', 'receivingHistory', hr.jsonb -> 'receivingHistory', 'tags', hr.jsonb -> 'tags', 'statisticalCodes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getStatisticalCodes(hr.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE hr.id IS NOT NULL), '[]'::jsonb), 'items', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', item.id, 'hrId', item.jsonb ->> 'hrId', 'holdingsRecordId', (item.jsonb ->> 'holdingsRecordId')::UUID, 'suppressFromDiscovery', CASE WHEN item.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'status', item.jsonb #>> '{status, name}', 'formerIds', item.jsonb -> 'formerIds', 'location', CASE WHEN item.id IS NOT NULL THEN json_build_object('location', jsonb_build_object('name', COALESCE(itemEffLoc.locJsonb ->> 'discoveryDisplayName', itemEffLoc.locJsonb ->> 'name'), 'code', itemEffLoc.locJsonb ->> 'code', 'campusName', itemEffLoc.locCampJsonb ->> 'name', 'libraryName', itemEffLoc.locLibJsonb ->> 'name', 'institutionName', itemEffLoc.locInstJsonb ->> 'name'), 'permanentLocation', jsonb_build_object('name', COALESCE(itemPermLoc.locJsonb ->> 'discoveryDisplayName', itemPermLoc.locJsonb ->> 'name'), 'code', itemPermLoc.locJsonb ->> 'code', 'campusName', itemPermLoc.locCampJsonb ->> 'name', 'libraryName', itemPermLoc.locLibJsonb ->> 'name', 'institutionName', itemPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(itemTempLoc.locJsonb ->> 'discoveryDisplayName', itemTempLoc.locJsonb ->> 'name'), 'code', itemTempLoc.locJsonb ->> 'code', 'campusName', itemTempLoc.locCampJsonb ->> 'name', 'libraryName', itemTempLoc.locLibJsonb ->> 'name', 'institutionName', itemTempLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName', cnt.jsonb ->> 'name'), 'accessionNumber', item.jsonb ->> 'accessionNumber', 'barcode', item.jsonb ->> 'barcode', 'copyNumber', item.jsonb ->> 'copyNumber', 'volume', item.jsonb ->> 'volume', 'enumeration', item.jsonb ->> 'enumeration', 'chronology', item.jsonb ->>'chronology', 'yearCaption', item.jsonb -> 'yearCaption', 'itemIdentifier', item.jsonb ->> 'itemIdentifier', 'numberOfPieces', item.jsonb ->> 'numberOfPieces', 'descriptionOfPieces', item.jsonb ->> 'descriptionOfPieces', 'numberOfMissingPieces', item.jsonb ->> 'numberOfMissingPieces', 'missingPieces', item.jsonb ->> 'missingPieces', 'missingPiecesDate', item.jsonb ->> 'missingPiecesDate', 'itemDamagedStatus', itemDmgStat.jsonb ->> 'name', 'itemDamagedStatusDate', item.jsonb ->> 'itemDamagedStatusDate', 'materialType', mt.jsonb ->> 'name', 'permanentLoanType', plt.jsonb ->> 'name', 'temporaryLoanType', tlt.jsonb ->> 'name', 'electronicAccess', CASE WHEN item.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(item.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getItemNoteTypeName(item.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'tags', item.jsonb -> 'tags', 'statisticalCodes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getStatisticalCodes(item.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE item.id IS NOT NULL), '[]'::jsonb) ) itemsAndHoldings FROM test_tenant_mod_inventory_storage.holdings_record hr JOIN test_tenant_mod_inventory_storage.instance i ON i.id = hr.instanceid JOIN viewInstances vi ON vi.instId = i.id LEFT JOIN test_tenant_mod_inventory_storage.item item ON item.holdingsrecordid = hr.id -- Item's Effective location relation LEFT JOIN viewLocations itemEffLoc ON (item.jsonb ->> 'effectiveLocationId')::uuid = itemEffLoc.locId -- Item's Permanent location relation LEFT JOIN viewLocations itemPermLoc ON (item.jsonb ->> 'permanentLocationId')::uuid = itemPermLoc.locId -- Item's Temporary location relation LEFT JOIN viewLocations itemTempLoc ON (item.jsonb ->> 'temporaryLocationId')::uuid = itemTempLoc.locId -- Item's Material type relation LEFT JOIN test_tenant_mod_inventory_storage.material_type mt ON item.materialtypeid = mt.id -- Item's Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type cnt ON (item.jsonb #>> '{effectiveCallNumberComponents, typeId}')::uuid = cnt.id -- Item's Damaged status relation LEFT JOIN test_tenant_mod_inventory_storage.item_damaged_status itemDmgStat ON (item.jsonb ->> 'itemDamagedStatusId')::uuid = itemDmgStat.id -- Item's Permanent loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type plt ON (item.jsonb ->> 'permanentLoanTypeId')::uuid = plt.id -- Item's Temporary loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type tlt ON (item.jsonb ->> 'temporaryLoanTypeId')::uuid = tlt.id -- Holdings type relation LEFT JOIN test_tenant_mod_inventory_storage.holdings_type ht ON ht.id = hr.holdingstypeid -- Holdings Permanent location relation LEFT JOIN viewLocations holdPermLoc ON (hr.jsonb ->> 'permanentLocationId')::uuid = holdPermLoc.locId -- Holdings Temporary location relation LEFT JOIN viewLocations holdTempLoc ON (hr.jsonb ->> 'temporaryLocationId')::uuid = holdTempLoc.locId -- Holdings Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type hrcnt ON (hr.jsonb ->> 'callNumberTypeId')::uuid = hrcnt.id -- Holdings Ill policy relation LEFT JOIN test_tenant_mod_inventory_storage.ill_policy ilp ON hr.illpolicyid = ilp.id WHERE true AND NOT ($2 AND COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false)) AND NOT ($2 AND COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false)) GROUP BY 1 ) itemAndHoldingsAttrs ) -- Instances with items and holding records SELECT vi.instId AS "instanceId", vi.source AS "source", vi.modeOfIssuance AS "modeOfIssuance", vi.natureOfContent AS "natureOfContent", COALESCE(viah.records -> 'holdings', '[]'::jsonb) AS "holdings", COALESCE(viah.records -> 'items', '[]'::jsonb) AS "items" FROM viewInstances vi LEFT JOIN viewItemsAndHoldings viah ON viah.instId = vi.instId $BODY$ LANGUAGE sql; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.ill_policy SET jsonb = jsonb_set(jsonb, '{name}', '"Will not lend"') where id='b0f97013-87f5-4bab-87f2-ac4a5191b489'; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.ill_policy SET jsonb = jsonb_set(jsonb, '{name}', '"Will not lend"') where id='b0f97013-87f5-4bab-87f2-ac4a5191b489'; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO test_tenant_mod_inventory_storage.identifier_type (id, jsonb) VALUES ('fc4e3f2a-887a-46e5-8057-aeeb271a4e56', json_build_object('id','fc4e3f2a-887a-46e5-8057-aeeb271a4e56', 'name', 'Cancelled system control number', 'source', 'folio')) ON CONFLICT DO NOTHING; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO test_tenant_mod_inventory_storage.identifier_type (id, jsonb) VALUES ('fc4e3f2a-887a-46e5-8057-aeeb271a4e56', json_build_object('id','fc4e3f2a-887a-46e5-8057-aeeb271a4e56', 'name', 'Cancelled system control number', 'source', 'folio')) ON CONFLICT DO NOTHING; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getElectronicAccessName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e) FROM ( SELECT e || jsonb_build_object('name', ( SELECT jsonb ->> 'name' FROM test_tenant_mod_inventory_storage.electronic_access_relationship WHERE id = nullif(e ->> 'relationshipId','')::uuid )) e FROM jsonb_array_elements($1) AS e ) e1 $$ LANGUAGE sql strict; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getElectronicAccessName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e) FROM ( SELECT e || jsonb_build_object('name', ( SELECT jsonb ->> 'name' FROM test_tenant_mod_inventory_storage.electronic_access_relationship WHERE id = nullif(e ->> 'relationshipId','')::uuid )) e FROM jsonb_array_elements($1) AS e ) e1 $$ LANGUAGE sql strict; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getItemNoteTypeName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e) FROM ( SELECT e - 'itemNoteTypeId' - 'staffOnly' || jsonb_build_object('itemNoteTypeName', ( SELECT jsonb ->> 'name' FROM item_note_type WHERE id = nullif(e ->> 'itemNoteTypeId','')::uuid )) e FROM jsonb_array_elements( $1 ) AS e WHERE NOT (e ->> 'staffOnly')::bool ) e1 $$ LANGUAGE sql strict; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getItemNoteTypeName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e) FROM ( SELECT e - 'itemNoteTypeId' - 'staffOnly' || jsonb_build_object('itemNoteTypeName', ( SELECT jsonb ->> 'name' FROM item_note_type WHERE id = nullif(e ->> 'itemNoteTypeId','')::uuid )) e FROM jsonb_array_elements( $1 ) AS e WHERE NOT (e ->> 'staffOnly')::bool ) e1 $$ LANGUAGE sql strict; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getHoldingNoteTypeName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e) FROM ( SELECT e - 'holdingsNoteTypeId' - 'staffOnly' || jsonb_build_object('holdingsNoteTypeName', ( SELECT jsonb ->> 'name' FROM holdings_note_type WHERE id = nullif(e ->> 'holdingsNoteTypeId','')::uuid )) e FROM jsonb_array_elements( $1 ) AS e WHERE NOT (e ->> 'staffOnly')::bool ) e1 $$ LANGUAGE sql strict; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getHoldingNoteTypeName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e) FROM ( SELECT e - 'holdingsNoteTypeId' - 'staffOnly' || jsonb_build_object('holdingsNoteTypeName', ( SELECT jsonb ->> 'name' FROM holdings_note_type WHERE id = nullif(e ->> 'holdingsNoteTypeId','')::uuid )) e FROM jsonb_array_elements( $1 ) AS e WHERE NOT (e ->> 'staffOnly')::bool ) e1 $$ LANGUAGE sql strict; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getStatisticalCodes(val jsonb) RETURNS jsonb AS $$ WITH stat_codes(statCodeId, statCodeJsonb, statCodeTypeJsonb) AS ( SELECT sc.id, sc.jsonb, sct.jsonb FROM statistical_code sc JOIN statistical_code_type sct ON sct.id = sc.statisticalcodetypeid ) SELECT jsonb_agg(DISTINCT jsonb_build_object('id', sc.statCodeJsonb ->> 'id') || jsonb_build_object('code', sc.statCodeJsonb ->> 'code') || jsonb_build_object('name', sc.statCodeJsonb ->> 'name') || jsonb_build_object('statisticalCodeType', sc.statCodeTypeJsonb ->> 'name') || jsonb_build_object('source', sc.statCodeTypeJsonb ->> 'source')) FROM jsonb_array_elements( $1 ) AS e, stat_codes sc WHERE sc.statCodeId = nullif(e ->> 0,'')::uuid $$ LANGUAGE sql strict; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getStatisticalCodes(val jsonb) RETURNS jsonb AS $$ WITH stat_codes(statCodeId, statCodeJsonb, statCodeTypeJsonb) AS ( SELECT sc.id, sc.jsonb, sct.jsonb FROM statistical_code sc JOIN statistical_code_type sct ON sct.id = sc.statisticalcodetypeid ) SELECT jsonb_agg(DISTINCT jsonb_build_object('id', sc.statCodeJsonb ->> 'id') || jsonb_build_object('code', sc.statCodeJsonb ->> 'code') || jsonb_build_object('name', sc.statCodeJsonb ->> 'name') || jsonb_build_object('statisticalCodeType', sc.statCodeTypeJsonb ->> 'name') || jsonb_build_object('source', sc.statCodeTypeJsonb ->> 'source')) FROM jsonb_array_elements( $1 ) AS e, stat_codes sc WHERE sc.statCodeId = nullif(e ->> 0,'')::uuid $$ LANGUAGE sql strict; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getNatureOfContentName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e.name) FROM ( SELECT (jsonb ->> 'name') AS "name" FROM test_tenant_mod_inventory_storage.nature_of_content_term JOIN jsonb_array_elements($1) as insNoctIds ON id = nullif(insNoctIds ->> 0,'')::uuid) e $$ LANGUAGE sql strict; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.getNatureOfContentName(val jsonb) RETURNS jsonb AS $$ SELECT jsonb_agg(DISTINCT e.name) FROM ( SELECT (jsonb ->> 'name') AS "name" FROM test_tenant_mod_inventory_storage.nature_of_content_term JOIN jsonb_array_elements($1) as insNoctIds ON id = nullif(insNoctIds ->> 0,'')::uuid) e $$ LANGUAGE sql strict; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.pmh_view_function(startDate timestamptz, endDate timestamptz, deletedRecordSupport bool default true, skipSuppressedFromDiscoveryRecords bool default true) returns table ( instanceId uuid, updatedDate timestamptz, deleted boolean, itemsAndHoldingsFields jsonb ) as $body$ with instanceIdsInRange as ( select inst.id as instanceId, (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) as maxDate from test_tenant_mod_inventory_storage.instance inst where (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) union all select instanceid, greatest((strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')), (strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate'))) as maxDate from holdings_record hr join test_tenant_mod_inventory_storage.item item on item.holdingsrecordid = hr.id where ((strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) or (strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2)) union all select (audit_holdings_record.jsonb #>> '{record,instanceId}')::uuid, greatest((strtotimestamp(audit_item.jsonb -> 'record' ->> 'updatedDate')), (strtotimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate'))) as maxDate from audit_holdings_record audit_holdings_record join audit_item audit_item on (audit_item.jsonb ->> '{record,holdingsRecordId}')::uuid = audit_holdings_record.id where ((strToTimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) or (strToTimestamp(audit_item.jsonb #>> '{record,updatedDate}')) between dateOrMin($1) and dateOrMax($2)) ), instanceIdsAndDatesInRange as ( select instanceId, max(instanceIdsInRange.maxDate) as maxDate, (instance.jsonb ->> 'discoverySuppress')::bool as suppressFromDiscovery from instanceIdsInRange, instance where instanceIdsInRange.maxDate between dateOrMin($1) and dateOrMax($2) and instance.id = instanceIdsInRange.instanceId and not ($4 and coalesce((instance.jsonb ->> 'discoverySuppress')::bool, false)) group by 1, 3) select instanceIdsAndDatesInRange.instanceId, instanceIdsAndDatesInRange.maxDate, false as deleted, ( select to_jsonb(itemAndHoldingsAttrs) as instanceFields from ( select hr.instanceid, instanceIdsAndDatesInRange.suppressFromDiscovery as suppressFromDiscovery, jsonb_agg(jsonb_build_object('id', item.id, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName',cnt.jsonb ->> 'name'), 'location', json_build_object('location', jsonb_build_object('institutionId', itemLocInst.id, 'institutionName', itemLocInst.jsonb ->> 'name', 'campusId', itemLocCamp.id, 'campusName', itemLocCamp.jsonb ->> 'name', 'libraryId', itemLocLib.id, 'libraryName', itemLocLib.jsonb ->> 'name'), 'name', coalesce(loc.jsonb ->> 'discoveryDisplayName', loc.jsonb ->> 'name')), 'volume', item.jsonb -> 'volume', 'enumeration', item.jsonb -> 'enumeration', 'materialType', mt.jsonb -> 'name', 'electronicAccess', getElectronicAccessName( coalesce(item.jsonb #> '{electronicAccess}', '[]'::jsonb) || coalesce(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), 'suppressFromDiscovery', case when instanceIdsAndDatesInRange.suppressFromDiscovery then true else coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false) or coalesce((item.jsonb ->> 'discoverySuppress')::bool, false) end, 'notes', getItemNoteTypeName(item.jsonb-> 'notes'), 'barcode', item.jsonb->>'barcode', 'chronology', item.jsonb->>'chronology', 'copyNumber', item.jsonb->>'copyNumber', 'holdingsRecordId', hr.id )) items from holdings_record hr join test_tenant_mod_inventory_storage.item item on item.holdingsrecordid = hr.id join test_tenant_mod_inventory_storage.location loc on (item.jsonb ->> 'effectiveLocationId')::uuid = loc.id and (loc.jsonb ->> 'isActive')::bool = true join test_tenant_mod_inventory_storage.locinstitution itemLocInst on (loc.jsonb ->> 'institutionId')::uuid = itemLocInst.id join test_tenant_mod_inventory_storage.loccampus itemLocCamp on (loc.jsonb ->> 'campusId')::uuid = itemLocCamp.id join test_tenant_mod_inventory_storage.loclibrary itemLocLib on (loc.jsonb ->> 'libraryId')::uuid = itemLocLib.id left join test_tenant_mod_inventory_storage.material_type mt on item.materialtypeid = mt.id left join test_tenant_mod_inventory_storage.call_number_type cnt on nullif(item.jsonb #>> '{effectiveCallNumberComponents, typeId}','')::uuid = cnt.id where instanceId = instanceIdsAndDatesInRange.instanceId and not ($4 and coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false)) and not ($4 and coalesce((item.jsonb ->> 'discoverySuppress')::bool, false)) group by 1) itemAndHoldingsAttrs ) from instanceIdsAndDatesInRange union all select (audit_instance.jsonb #>> '{record,id}')::uuid as instanceId, strToTimestamp(jsonb ->> 'createdDate') as maxDate, true as deleted, null as itemFields from test_tenant_mod_inventory_storage.audit_instance where $3 and strToTimestamp(jsonb ->> 'createdDate') between dateOrMin($1) and dateOrMax($2) $body$ language sql; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.pmh_view_function(startDate timestamptz, endDate timestamptz, deletedRecordSupport bool default true, skipSuppressedFromDiscoveryRecords bool default true) returns table ( instanceId uuid, updatedDate timestamptz, deleted boolean, itemsAndHoldingsFields jsonb ) as $body$ with instanceIdsInRange as ( select inst.id as instanceId, (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) as maxDate from test_tenant_mod_inventory_storage.instance inst where (strToTimestamp(inst.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) union all select instanceid, greatest((strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')), (strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate'))) as maxDate from holdings_record hr join test_tenant_mod_inventory_storage.item item on item.holdingsrecordid = hr.id where ((strToTimestamp(hr.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) or (strToTimestamp(item.jsonb -> 'metadata' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2)) union all select (audit_holdings_record.jsonb #>> '{record,instanceId}')::uuid, greatest((strtotimestamp(audit_item.jsonb -> 'record' ->> 'updatedDate')), (strtotimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate'))) as maxDate from audit_holdings_record audit_holdings_record join audit_item audit_item on (audit_item.jsonb ->> '{record,holdingsRecordId}')::uuid = audit_holdings_record.id where ((strToTimestamp(audit_holdings_record.jsonb -> 'record' ->> 'updatedDate')) between dateOrMin($1) and dateOrMax($2) or (strToTimestamp(audit_item.jsonb #>> '{record,updatedDate}')) between dateOrMin($1) and dateOrMax($2)) ), instanceIdsAndDatesInRange as ( select instanceId, max(instanceIdsInRange.maxDate) as maxDate, (instance.jsonb ->> 'discoverySuppress')::bool as suppressFromDiscovery from instanceIdsInRange, instance where instanceIdsInRange.maxDate between dateOrMin($1) and dateOrMax($2) and instance.id = instanceIdsInRange.instanceId and not ($4 and coalesce((instance.jsonb ->> 'discoverySuppress')::bool, false)) group by 1, 3) select instanceIdsAndDatesInRange.instanceId, instanceIdsAndDatesInRange.maxDate, false as deleted, ( select to_jsonb(itemAndHoldingsAttrs) as instanceFields from ( select hr.instanceid, instanceIdsAndDatesInRange.suppressFromDiscovery as suppressFromDiscovery, jsonb_agg(jsonb_build_object('id', item.id, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName',cnt.jsonb ->> 'name'), 'location', json_build_object('location', jsonb_build_object('institutionId', itemLocInst.id, 'institutionName', itemLocInst.jsonb ->> 'name', 'campusId', itemLocCamp.id, 'campusName', itemLocCamp.jsonb ->> 'name', 'libraryId', itemLocLib.id, 'libraryName', itemLocLib.jsonb ->> 'name'), 'name', coalesce(loc.jsonb ->> 'discoveryDisplayName', loc.jsonb ->> 'name')), 'volume', item.jsonb -> 'volume', 'enumeration', item.jsonb -> 'enumeration', 'materialType', mt.jsonb -> 'name', 'electronicAccess', getElectronicAccessName( coalesce(item.jsonb #> '{electronicAccess}', '[]'::jsonb) || coalesce(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), 'suppressFromDiscovery', case when instanceIdsAndDatesInRange.suppressFromDiscovery then true else coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false) or coalesce((item.jsonb ->> 'discoverySuppress')::bool, false) end, 'notes', getItemNoteTypeName(item.jsonb-> 'notes'), 'barcode', item.jsonb->>'barcode', 'chronology', item.jsonb->>'chronology', 'copyNumber', item.jsonb->>'copyNumber', 'holdingsRecordId', hr.id )) items from holdings_record hr join test_tenant_mod_inventory_storage.item item on item.holdingsrecordid = hr.id join test_tenant_mod_inventory_storage.location loc on (item.jsonb ->> 'effectiveLocationId')::uuid = loc.id and (loc.jsonb ->> 'isActive')::bool = true join test_tenant_mod_inventory_storage.locinstitution itemLocInst on (loc.jsonb ->> 'institutionId')::uuid = itemLocInst.id join test_tenant_mod_inventory_storage.loccampus itemLocCamp on (loc.jsonb ->> 'campusId')::uuid = itemLocCamp.id join test_tenant_mod_inventory_storage.loclibrary itemLocLib on (loc.jsonb ->> 'libraryId')::uuid = itemLocLib.id left join test_tenant_mod_inventory_storage.material_type mt on item.materialtypeid = mt.id left join test_tenant_mod_inventory_storage.call_number_type cnt on nullif(item.jsonb #>> '{effectiveCallNumberComponents, typeId}','')::uuid = cnt.id where instanceId = instanceIdsAndDatesInRange.instanceId and not ($4 and coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false)) and not ($4 and coalesce((item.jsonb ->> 'discoverySuppress')::bool, false)) group by 1) itemAndHoldingsAttrs ) from instanceIdsAndDatesInRange union all select (audit_instance.jsonb #>> '{record,id}')::uuid as instanceId, strToTimestamp(jsonb ->> 'createdDate') as maxDate, true as deleted, null as itemFields from test_tenant_mod_inventory_storage.audit_instance where $3 and strToTimestamp(jsonb ->> 'createdDate') between dateOrMin($1) and dateOrMax($2) $body$ language sql; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} create or replace function test_tenant_mod_inventory_storage.pmh_instance_view_function(instanceIds uuid[], skipSuppressedFromDiscoveryRecords bool default true) returns table ( instanceId uuid, itemsAndHoldingsFields jsonb ) as $body$ select instId, (select to_jsonb(itemAndHoldingsAttrs) as itemsAndHoldingsFields from ( select hr.instanceid, jsonb_agg(jsonb_build_object('id', item.id, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName',cnt.jsonb ->> 'name'), 'location', json_build_object('location', jsonb_build_object('institutionId', itemLocInst.id, 'institutionName', itemLocInst.jsonb ->> 'name', 'campusId', itemLocCamp.id, 'campusName', itemLocCamp.jsonb ->> 'name', 'libraryId', itemLocLib.id, 'libraryName', itemLocLib.jsonb ->> 'name'), 'name', coalesce(loc.jsonb ->> 'discoveryDisplayName', loc.jsonb ->> 'name')), 'volume', item.jsonb -> 'volume', 'enumeration', item.jsonb -> 'enumeration', 'materialType', mt.jsonb -> 'name', 'electronicAccess', getElectronicAccessName( coalesce(item.jsonb #> '{electronicAccess}', '[]'::jsonb) || coalesce(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), 'suppressFromDiscovery', coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false) or coalesce((item.jsonb ->> 'discoverySuppress')::bool, false), 'notes', getItemNoteTypeName(item.jsonb-> 'notes'), 'barcode', item.jsonb->>'barcode', 'chronology', item.jsonb->>'chronology', 'copyNumber', item.jsonb->>'copyNumber', 'holdingsRecordId', hr.id )) items from holdings_record hr join test_tenant_mod_inventory_storage.item item on item.holdingsrecordid = hr.id join test_tenant_mod_inventory_storage.location loc on (item.jsonb ->> 'effectiveLocationId')::uuid = loc.id and (loc.jsonb ->> 'isActive')::bool = true join test_tenant_mod_inventory_storage.locinstitution itemLocInst on (loc.jsonb ->> 'institutionId')::uuid = itemLocInst.id join test_tenant_mod_inventory_storage.loccampus itemLocCamp on (loc.jsonb ->> 'campusId')::uuid = itemLocCamp.id join test_tenant_mod_inventory_storage.loclibrary itemLocLib on (loc.jsonb ->> 'libraryId')::uuid = itemLocLib.id left join test_tenant_mod_inventory_storage.material_type mt on item.materialtypeid = mt.id left join test_tenant_mod_inventory_storage.call_number_type cnt on nullif(item.jsonb #>> '{effectiveCallNumberComponents, typeId}','')::uuid = cnt.id where instanceId = instId and not ($2 and coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false)) and not ($2 and coalesce((item.jsonb ->> 'discoverySuppress')::bool, false)) group by 1) itemAndHoldingsAttrs) FROM unnest( $1 ) AS instId; $body$ language sql; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed create or replace function test_tenant_mod_inventory_storage.pmh_instance_view_function(instanceIds uuid[], skipSuppressedFromDiscoveryRecords bool default true) returns table ( instanceId uuid, itemsAndHoldingsFields jsonb ) as $body$ select instId, (select to_jsonb(itemAndHoldingsAttrs) as itemsAndHoldingsFields from ( select hr.instanceid, jsonb_agg(jsonb_build_object('id', item.id, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName',cnt.jsonb ->> 'name'), 'location', json_build_object('location', jsonb_build_object('institutionId', itemLocInst.id, 'institutionName', itemLocInst.jsonb ->> 'name', 'campusId', itemLocCamp.id, 'campusName', itemLocCamp.jsonb ->> 'name', 'libraryId', itemLocLib.id, 'libraryName', itemLocLib.jsonb ->> 'name'), 'name', coalesce(loc.jsonb ->> 'discoveryDisplayName', loc.jsonb ->> 'name')), 'volume', item.jsonb -> 'volume', 'enumeration', item.jsonb -> 'enumeration', 'materialType', mt.jsonb -> 'name', 'electronicAccess', getElectronicAccessName( coalesce(item.jsonb #> '{electronicAccess}', '[]'::jsonb) || coalesce(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), 'suppressFromDiscovery', coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false) or coalesce((item.jsonb ->> 'discoverySuppress')::bool, false), 'notes', getItemNoteTypeName(item.jsonb-> 'notes'), 'barcode', item.jsonb->>'barcode', 'chronology', item.jsonb->>'chronology', 'copyNumber', item.jsonb->>'copyNumber', 'holdingsRecordId', hr.id )) items from holdings_record hr join test_tenant_mod_inventory_storage.item item on item.holdingsrecordid = hr.id join test_tenant_mod_inventory_storage.location loc on (item.jsonb ->> 'effectiveLocationId')::uuid = loc.id and (loc.jsonb ->> 'isActive')::bool = true join test_tenant_mod_inventory_storage.locinstitution itemLocInst on (loc.jsonb ->> 'institutionId')::uuid = itemLocInst.id join test_tenant_mod_inventory_storage.loccampus itemLocCamp on (loc.jsonb ->> 'campusId')::uuid = itemLocCamp.id join test_tenant_mod_inventory_storage.loclibrary itemLocLib on (loc.jsonb ->> 'libraryId')::uuid = itemLocLib.id left join test_tenant_mod_inventory_storage.material_type mt on item.materialtypeid = mt.id left join test_tenant_mod_inventory_storage.call_number_type cnt on nullif(item.jsonb #>> '{effectiveCallNumberComponents, typeId}','')::uuid = cnt.id where instanceId = instId and not ($2 and coalesce((hr.jsonb ->> 'discoverySuppress')::bool, false)) and not ($2 and coalesce((item.jsonb ->> 'discoverySuppress')::bool, false)) group by 1) itemAndHoldingsAttrs) FROM unnest( $1 ) AS instId; $body$ language sql; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.get_items_and_holdings_view(instanceIds uuid[], skipSuppressedFromDiscoveryRecords bool DEFAULT TRUE) RETURNS TABLE ( "instanceId" uuid, "source" varchar, "modeOfIssuance" varchar, "natureOfContent" jsonb, "holdings" jsonb, "items" jsonb ) AS $BODY$ WITH -- Locations viewLocations(locId, locJsonb, locCampJsonb, locLibJsonb, locInstJsonb) AS ( SELECT loc.id AS locId, loc.jsonb AS locJsonb, locCamp.jsonb AS locCampJsonb, locLib.jsonb AS locLibJsonb, locInst.jsonb AS locInstJsonb FROM location loc LEFT JOIN locinstitution locInst ON (loc.jsonb ->> 'institutionId')::uuid = locInst.id LEFT JOIN loccampus locCamp ON (loc.jsonb ->> 'campusId')::uuid = locCamp.id LEFT JOIN loclibrary locLib ON (loc.jsonb ->> 'libraryId')::uuid = locLib.id WHERE (loc.jsonb ->> 'isActive')::bool = true ), -- Passed instances ids viewInstances(instId, source, modeOfIssuance, natureOfContent) AS ( SELECT DISTINCT instId AS "instanceId", i.jsonb ->> 'source' AS source, moi.jsonb ->> 'name' AS modeOfIssuance, COALESCE(getNatureOfContentName(COALESCE(i.jsonb #> '{natureOfContentTermIds}', '[]'::jsonb)), '[]'::jsonb) AS natureOfContent FROM UNNEST( $1 ) instId JOIN instance i ON i.id = instId LEFT JOIN mode_of_issuance moi ON moi.id = nullif(i.jsonb ->> 'modeOfIssuanceId','')::uuid ), -- Prepared items and holdings viewItemsAndHoldings(instId, records) AS ( SELECT itemAndHoldingsAttrs.instanceId, jsonb_strip_nulls(itemAndHoldingsAttrs.itemsAndHoldings) FROM (SELECT i.id AS instanceId, jsonb_build_object('holdings', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', hr.id, 'hrId', hr.jsonb ->> 'hrId', 'suppressFromDiscovery', CASE WHEN hr.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'holdingsType', ht.jsonb ->> 'name', 'formerIds', hr.jsonb -> 'formerIds', 'location', CASE WHEN hr.id IS NOT NULL THEN json_build_object('permanentLocation', jsonb_build_object('name', COALESCE(holdPermLoc.locJsonb ->> 'discoveryDisplayName', holdPermLoc.locJsonb ->> 'name'), 'code', holdPermLoc.locJsonb ->> 'code', 'campusName', holdPermLoc.locCampJsonb ->> 'name', 'libraryName', holdPermLoc.locLibJsonb ->> 'name', 'institutionName', holdPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(holdTempLoc.locJsonb ->> 'discoveryDisplayName', holdTempLoc.locJsonb ->> 'name'), 'code', holdTempLoc.locJsonb ->> 'code', 'campusName', holdTempLoc.locCampJsonb ->> 'name', 'libraryName', holdTempLoc.locLibJsonb ->> 'name', 'institutionName', holdTempLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', json_build_object('prefix', hr.jsonb ->> 'callNumberPrefix', 'suffix', hr.jsonb ->> 'callNumberSuffix', 'typeId', hr.jsonb ->> 'callNumberTypeId', 'typeName', hrcnt.jsonb ->> 'name', 'callNumber', hr.jsonb ->> 'callNumber'), 'shelvingTitle', hr.jsonb ->> 'shelvingTitle', 'acquisitionFormat', hr.jsonb ->> 'acquisitionFormat', 'acquisitionMethod', hr.jsonb ->> 'acquisitionMethod', 'receiptStatus', hr.jsonb ->> 'receiptStatus', 'electronicAccess', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getHoldingNoteTypeName(hr.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'illPolicy', ilp.jsonb ->> 'name', 'retentionPolicy', hr.jsonb ->> 'retentionPolicy', 'digitizationPolicy', hr.jsonb ->> 'digitizationPolicy', 'holdingsStatements', hr.jsonb -> 'holdingsStatements', 'holdingsStatementsForIndexes', hr.jsonb -> 'holdingsStatementsForIndexes', 'holdingsStatementsForSupplements', hr.jsonb -> 'holdingsStatementsForSupplements', 'copyNumber', hr.jsonb ->> 'copyNumber', 'numberOfItems', hr.jsonb ->> 'numberOfItems', 'receivingHistory', hr.jsonb -> 'receivingHistory', 'tags', hr.jsonb -> 'tags', 'statisticalCodes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getStatisticalCodes(hr.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE hr.id IS NOT NULL), '[]'::jsonb), 'items', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', item.id, 'hrId', item.jsonb ->> 'hrId', 'holdingsRecordId', (item.jsonb ->> 'holdingsRecordId')::UUID, 'suppressFromDiscovery', CASE WHEN item.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'status', item.jsonb #>> '{status, name}', 'formerIds', item.jsonb -> 'formerIds', 'location', CASE WHEN item.id IS NOT NULL THEN json_build_object('location', jsonb_build_object('name', COALESCE(itemEffLoc.locJsonb ->> 'discoveryDisplayName', itemEffLoc.locJsonb ->> 'name'), 'code', itemEffLoc.locJsonb ->> 'code', 'campusName', itemEffLoc.locCampJsonb ->> 'name', 'libraryName', itemEffLoc.locLibJsonb ->> 'name', 'institutionName', itemEffLoc.locInstJsonb ->> 'name'), 'permanentLocation', jsonb_build_object('name', COALESCE(itemPermLoc.locJsonb ->> 'discoveryDisplayName', itemPermLoc.locJsonb ->> 'name'), 'code', itemPermLoc.locJsonb ->> 'code', 'campusName', itemPermLoc.locCampJsonb ->> 'name', 'libraryName', itemPermLoc.locLibJsonb ->> 'name', 'institutionName', itemPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(itemTempLoc.locJsonb ->> 'discoveryDisplayName', itemTempLoc.locJsonb ->> 'name'), 'code', itemTempLoc.locJsonb ->> 'code', 'campusName', itemTempLoc.locCampJsonb ->> 'name', 'libraryName', itemTempLoc.locLibJsonb ->> 'name', 'institutionName', itemTempLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName', cnt.jsonb ->> 'name'), 'accessionNumber', item.jsonb ->> 'accessionNumber', 'barcode', item.jsonb ->> 'barcode', 'copyNumber', item.jsonb ->> 'copyNumber', 'volume', item.jsonb ->> 'volume', 'enumeration', item.jsonb ->> 'enumeration', 'chronology', item.jsonb ->>'chronology', 'yearCaption', item.jsonb -> 'yearCaption', 'itemIdentifier', item.jsonb ->> 'itemIdentifier', 'numberOfPieces', item.jsonb ->> 'numberOfPieces', 'descriptionOfPieces', item.jsonb ->> 'descriptionOfPieces', 'numberOfMissingPieces', item.jsonb ->> 'numberOfMissingPieces', 'missingPieces', item.jsonb ->> 'missingPieces', 'missingPiecesDate', item.jsonb ->> 'missingPiecesDate', 'itemDamagedStatus', itemDmgStat.jsonb ->> 'name', 'itemDamagedStatusDate', item.jsonb ->> 'itemDamagedStatusDate', 'materialType', mt.jsonb ->> 'name', 'permanentLoanType', plt.jsonb ->> 'name', 'temporaryLoanType', tlt.jsonb ->> 'name', 'electronicAccess', CASE WHEN item.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(item.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getItemNoteTypeName(item.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'tags', item.jsonb -> 'tags', 'statisticalCodes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getStatisticalCodes(item.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE item.id IS NOT NULL), '[]'::jsonb) ) itemsAndHoldings FROM test_tenant_mod_inventory_storage.holdings_record hr JOIN test_tenant_mod_inventory_storage.instance i ON i.id = hr.instanceid JOIN viewInstances vi ON vi.instId = i.id LEFT JOIN test_tenant_mod_inventory_storage.item item ON item.holdingsrecordid = hr.id -- Item's Effective location relation LEFT JOIN viewLocations itemEffLoc ON (item.jsonb ->> 'effectiveLocationId')::uuid = itemEffLoc.locId -- Item's Permanent location relation LEFT JOIN viewLocations itemPermLoc ON (item.jsonb ->> 'permanentLocationId')::uuid = itemPermLoc.locId -- Item's Temporary location relation LEFT JOIN viewLocations itemTempLoc ON (item.jsonb ->> 'temporaryLocationId')::uuid = itemTempLoc.locId -- Item's Material type relation LEFT JOIN test_tenant_mod_inventory_storage.material_type mt ON item.materialtypeid = mt.id -- Item's Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type cnt ON (item.jsonb #>> '{effectiveCallNumberComponents, typeId}')::uuid = cnt.id -- Item's Damaged status relation LEFT JOIN test_tenant_mod_inventory_storage.item_damaged_status itemDmgStat ON (item.jsonb ->> 'itemDamagedStatusId')::uuid = itemDmgStat.id -- Item's Permanent loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type plt ON (item.jsonb ->> 'permanentLoanTypeId')::uuid = plt.id -- Item's Temporary loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type tlt ON (item.jsonb ->> 'temporaryLoanTypeId')::uuid = tlt.id -- Holdings type relation LEFT JOIN test_tenant_mod_inventory_storage.holdings_type ht ON ht.id = hr.holdingstypeid -- Holdings Permanent location relation LEFT JOIN viewLocations holdPermLoc ON (hr.jsonb ->> 'permanentLocationId')::uuid = holdPermLoc.locId -- Holdings Temporary location relation LEFT JOIN viewLocations holdTempLoc ON (hr.jsonb ->> 'temporaryLocationId')::uuid = holdTempLoc.locId -- Holdings Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type hrcnt ON (hr.jsonb ->> 'callNumberTypeId')::uuid = hrcnt.id -- Holdings Ill policy relation LEFT JOIN test_tenant_mod_inventory_storage.ill_policy ilp ON hr.illpolicyid = ilp.id WHERE true AND NOT ($2 AND COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false)) AND NOT ($2 AND COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false)) GROUP BY 1 ) itemAndHoldingsAttrs ) -- Instances with items and holding records SELECT vi.instId AS "instanceId", vi.source AS "source", vi.modeOfIssuance AS "modeOfIssuance", vi.natureOfContent AS "natureOfContent", COALESCE(viah.records -> 'holdings', '[]'::jsonb) AS "holdings", COALESCE(viah.records -> 'items', '[]'::jsonb) AS "items" FROM viewInstances vi LEFT JOIN viewItemsAndHoldings viah ON viah.instId = vi.instId $BODY$ LANGUAGE sql; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.get_items_and_holdings_view(instanceIds uuid[], skipSuppressedFromDiscoveryRecords bool DEFAULT TRUE) RETURNS TABLE ( "instanceId" uuid, "source" varchar, "modeOfIssuance" varchar, "natureOfContent" jsonb, "holdings" jsonb, "items" jsonb ) AS $BODY$ WITH -- Locations viewLocations(locId, locJsonb, locCampJsonb, locLibJsonb, locInstJsonb) AS ( SELECT loc.id AS locId, loc.jsonb AS locJsonb, locCamp.jsonb AS locCampJsonb, locLib.jsonb AS locLibJsonb, locInst.jsonb AS locInstJsonb FROM location loc LEFT JOIN locinstitution locInst ON (loc.jsonb ->> 'institutionId')::uuid = locInst.id LEFT JOIN loccampus locCamp ON (loc.jsonb ->> 'campusId')::uuid = locCamp.id LEFT JOIN loclibrary locLib ON (loc.jsonb ->> 'libraryId')::uuid = locLib.id WHERE (loc.jsonb ->> 'isActive')::bool = true ), -- Passed instances ids viewInstances(instId, source, modeOfIssuance, natureOfContent) AS ( SELECT DISTINCT instId AS "instanceId", i.jsonb ->> 'source' AS source, moi.jsonb ->> 'name' AS modeOfIssuance, COALESCE(getNatureOfContentName(COALESCE(i.jsonb #> '{natureOfContentTermIds}', '[]'::jsonb)), '[]'::jsonb) AS natureOfContent FROM UNNEST( $1 ) instId JOIN instance i ON i.id = instId LEFT JOIN mode_of_issuance moi ON moi.id = nullif(i.jsonb ->> 'modeOfIssuanceId','')::uuid ), -- Prepared items and holdings viewItemsAndHoldings(instId, records) AS ( SELECT itemAndHoldingsAttrs.instanceId, jsonb_strip_nulls(itemAndHoldingsAttrs.itemsAndHoldings) FROM (SELECT i.id AS instanceId, jsonb_build_object('holdings', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', hr.id, 'hrId', hr.jsonb ->> 'hrId', 'suppressFromDiscovery', CASE WHEN hr.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'holdingsType', ht.jsonb ->> 'name', 'formerIds', hr.jsonb -> 'formerIds', 'location', CASE WHEN hr.id IS NOT NULL THEN json_build_object('permanentLocation', jsonb_build_object('name', COALESCE(holdPermLoc.locJsonb ->> 'discoveryDisplayName', holdPermLoc.locJsonb ->> 'name'), 'code', holdPermLoc.locJsonb ->> 'code', 'campusName', holdPermLoc.locCampJsonb ->> 'name', 'libraryName', holdPermLoc.locLibJsonb ->> 'name', 'institutionName', holdPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(holdTempLoc.locJsonb ->> 'discoveryDisplayName', holdTempLoc.locJsonb ->> 'name'), 'code', holdTempLoc.locJsonb ->> 'code', 'campusName', holdTempLoc.locCampJsonb ->> 'name', 'libraryName', holdTempLoc.locLibJsonb ->> 'name', 'institutionName', holdTempLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', json_build_object('prefix', hr.jsonb ->> 'callNumberPrefix', 'suffix', hr.jsonb ->> 'callNumberSuffix', 'typeId', hr.jsonb ->> 'callNumberTypeId', 'typeName', hrcnt.jsonb ->> 'name', 'callNumber', hr.jsonb ->> 'callNumber'), 'shelvingTitle', hr.jsonb ->> 'shelvingTitle', 'acquisitionFormat', hr.jsonb ->> 'acquisitionFormat', 'acquisitionMethod', hr.jsonb ->> 'acquisitionMethod', 'receiptStatus', hr.jsonb ->> 'receiptStatus', 'electronicAccess', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getHoldingNoteTypeName(hr.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'illPolicy', ilp.jsonb ->> 'name', 'retentionPolicy', hr.jsonb ->> 'retentionPolicy', 'digitizationPolicy', hr.jsonb ->> 'digitizationPolicy', 'holdingsStatements', hr.jsonb -> 'holdingsStatements', 'holdingsStatementsForIndexes', hr.jsonb -> 'holdingsStatementsForIndexes', 'holdingsStatementsForSupplements', hr.jsonb -> 'holdingsStatementsForSupplements', 'copyNumber', hr.jsonb ->> 'copyNumber', 'numberOfItems', hr.jsonb ->> 'numberOfItems', 'receivingHistory', hr.jsonb -> 'receivingHistory', 'tags', hr.jsonb -> 'tags', 'statisticalCodes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getStatisticalCodes(hr.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE hr.id IS NOT NULL), '[]'::jsonb), 'items', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', item.id, 'hrId', item.jsonb ->> 'hrId', 'holdingsRecordId', (item.jsonb ->> 'holdingsRecordId')::UUID, 'suppressFromDiscovery', CASE WHEN item.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'status', item.jsonb #>> '{status, name}', 'formerIds', item.jsonb -> 'formerIds', 'location', CASE WHEN item.id IS NOT NULL THEN json_build_object('location', jsonb_build_object('name', COALESCE(itemEffLoc.locJsonb ->> 'discoveryDisplayName', itemEffLoc.locJsonb ->> 'name'), 'code', itemEffLoc.locJsonb ->> 'code', 'campusName', itemEffLoc.locCampJsonb ->> 'name', 'libraryName', itemEffLoc.locLibJsonb ->> 'name', 'institutionName', itemEffLoc.locInstJsonb ->> 'name'), 'permanentLocation', jsonb_build_object('name', COALESCE(itemPermLoc.locJsonb ->> 'discoveryDisplayName', itemPermLoc.locJsonb ->> 'name'), 'code', itemPermLoc.locJsonb ->> 'code', 'campusName', itemPermLoc.locCampJsonb ->> 'name', 'libraryName', itemPermLoc.locLibJsonb ->> 'name', 'institutionName', itemPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(itemTempLoc.locJsonb ->> 'discoveryDisplayName', itemTempLoc.locJsonb ->> 'name'), 'code', itemTempLoc.locJsonb ->> 'code', 'campusName', itemTempLoc.locCampJsonb ->> 'name', 'libraryName', itemTempLoc.locLibJsonb ->> 'name', 'institutionName', itemTempLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName', cnt.jsonb ->> 'name'), 'accessionNumber', item.jsonb ->> 'accessionNumber', 'barcode', item.jsonb ->> 'barcode', 'copyNumber', item.jsonb ->> 'copyNumber', 'volume', item.jsonb ->> 'volume', 'enumeration', item.jsonb ->> 'enumeration', 'chronology', item.jsonb ->>'chronology', 'yearCaption', item.jsonb -> 'yearCaption', 'itemIdentifier', item.jsonb ->> 'itemIdentifier', 'numberOfPieces', item.jsonb ->> 'numberOfPieces', 'descriptionOfPieces', item.jsonb ->> 'descriptionOfPieces', 'numberOfMissingPieces', item.jsonb ->> 'numberOfMissingPieces', 'missingPieces', item.jsonb ->> 'missingPieces', 'missingPiecesDate', item.jsonb ->> 'missingPiecesDate', 'itemDamagedStatus', itemDmgStat.jsonb ->> 'name', 'itemDamagedStatusDate', item.jsonb ->> 'itemDamagedStatusDate', 'materialType', mt.jsonb ->> 'name', 'permanentLoanType', plt.jsonb ->> 'name', 'temporaryLoanType', tlt.jsonb ->> 'name', 'electronicAccess', CASE WHEN item.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(item.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getItemNoteTypeName(item.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'tags', item.jsonb -> 'tags', 'statisticalCodes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getStatisticalCodes(item.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE item.id IS NOT NULL), '[]'::jsonb) ) itemsAndHoldings FROM test_tenant_mod_inventory_storage.holdings_record hr JOIN test_tenant_mod_inventory_storage.instance i ON i.id = hr.instanceid JOIN viewInstances vi ON vi.instId = i.id LEFT JOIN test_tenant_mod_inventory_storage.item item ON item.holdingsrecordid = hr.id -- Item's Effective location relation LEFT JOIN viewLocations itemEffLoc ON (item.jsonb ->> 'effectiveLocationId')::uuid = itemEffLoc.locId -- Item's Permanent location relation LEFT JOIN viewLocations itemPermLoc ON (item.jsonb ->> 'permanentLocationId')::uuid = itemPermLoc.locId -- Item's Temporary location relation LEFT JOIN viewLocations itemTempLoc ON (item.jsonb ->> 'temporaryLocationId')::uuid = itemTempLoc.locId -- Item's Material type relation LEFT JOIN test_tenant_mod_inventory_storage.material_type mt ON item.materialtypeid = mt.id -- Item's Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type cnt ON (item.jsonb #>> '{effectiveCallNumberComponents, typeId}')::uuid = cnt.id -- Item's Damaged status relation LEFT JOIN test_tenant_mod_inventory_storage.item_damaged_status itemDmgStat ON (item.jsonb ->> 'itemDamagedStatusId')::uuid = itemDmgStat.id -- Item's Permanent loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type plt ON (item.jsonb ->> 'permanentLoanTypeId')::uuid = plt.id -- Item's Temporary loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type tlt ON (item.jsonb ->> 'temporaryLoanTypeId')::uuid = tlt.id -- Holdings type relation LEFT JOIN test_tenant_mod_inventory_storage.holdings_type ht ON ht.id = hr.holdingstypeid -- Holdings Permanent location relation LEFT JOIN viewLocations holdPermLoc ON (hr.jsonb ->> 'permanentLocationId')::uuid = holdPermLoc.locId -- Holdings Temporary location relation LEFT JOIN viewLocations holdTempLoc ON (hr.jsonb ->> 'temporaryLocationId')::uuid = holdTempLoc.locId -- Holdings Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type hrcnt ON (hr.jsonb ->> 'callNumberTypeId')::uuid = hrcnt.id -- Holdings Ill policy relation LEFT JOIN test_tenant_mod_inventory_storage.ill_policy ilp ON hr.illpolicyid = ilp.id WHERE true AND NOT ($2 AND COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false)) AND NOT ($2 AND COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false)) GROUP BY 1 ) itemAndHoldingsAttrs ) -- Instances with items and holding records SELECT vi.instId AS "instanceId", vi.source AS "source", vi.modeOfIssuance AS "modeOfIssuance", vi.natureOfContent AS "natureOfContent", COALESCE(viah.records -> 'holdings', '[]'::jsonb) AS "holdings", COALESCE(viah.records -> 'items', '[]'::jsonb) AS "items" FROM viewInstances vi LEFT JOIN viewItemsAndHoldings viah ON viah.instId = vi.instId $BODY$ LANGUAGE sql; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE VIEW test_tenant_mod_inventory_storage.instance_holdings_item_view AS SELECT instance.id as id, JSONB_BUILD_OBJECT( 'instanceId', instance.id, 'instance', instance.jsonb, 'holdingsRecords', (SELECT jsonb_agg(jsonb) FROM test_tenant_mod_inventory_storage.holdings_record WHERE holdings_record.instanceId = instance.id), 'items', (SELECT jsonb_agg(item.jsonb) FROM test_tenant_mod_inventory_storage.holdings_record as hr JOIN test_tenant_mod_inventory_storage.item ON item.holdingsRecordId=hr.id AND hr.instanceId = instance.id) ) AS jsonb FROM test_tenant_mod_inventory_storage.instance; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE VIEW test_tenant_mod_inventory_storage.instance_holdings_item_view AS SELECT instance.id as id, JSONB_BUILD_OBJECT( 'instanceId', instance.id, 'instance', instance.jsonb, 'holdingsRecords', (SELECT jsonb_agg(jsonb) FROM test_tenant_mod_inventory_storage.holdings_record WHERE holdings_record.instanceId = instance.id), 'items', (SELECT jsonb_agg(item.jsonb) FROM test_tenant_mod_inventory_storage.holdings_record as hr JOIN test_tenant_mod_inventory_storage.item ON item.holdingsRecordId=hr.id AND hr.instanceId = instance.id) ) AS jsonb FROM test_tenant_mod_inventory_storage.instance; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.get_items_and_holdings_view(instanceIds uuid[], skipSuppressedFromDiscoveryRecords bool DEFAULT TRUE) RETURNS TABLE ( "instanceId" uuid, "source" varchar, "modeOfIssuance" varchar, "natureOfContent" jsonb, "holdings" jsonb, "items" jsonb ) AS $BODY$ WITH -- Locations viewLocations(locId, locJsonb, locCampJsonb, locLibJsonb, locInstJsonb) AS ( SELECT loc.id AS locId, loc.jsonb AS locJsonb, locCamp.jsonb AS locCampJsonb, locLib.jsonb AS locLibJsonb, locInst.jsonb AS locInstJsonb FROM location loc LEFT JOIN locinstitution locInst ON (loc.jsonb ->> 'institutionId')::uuid = locInst.id LEFT JOIN loccampus locCamp ON (loc.jsonb ->> 'campusId')::uuid = locCamp.id LEFT JOIN loclibrary locLib ON (loc.jsonb ->> 'libraryId')::uuid = locLib.id WHERE (loc.jsonb ->> 'isActive')::bool = true ), -- Passed instances ids viewInstances(instId, source, modeOfIssuance, natureOfContent) AS ( SELECT DISTINCT instId AS "instanceId", i.jsonb ->> 'source' AS source, moi.jsonb ->> 'name' AS modeOfIssuance, COALESCE(getNatureOfContentName(COALESCE(i.jsonb #> '{natureOfContentTermIds}', '[]'::jsonb)), '[]'::jsonb) AS natureOfContent FROM UNNEST( $1 ) instId JOIN instance i ON i.id = instId LEFT JOIN mode_of_issuance moi ON moi.id = nullif(i.jsonb ->> 'modeOfIssuanceId','')::uuid ), -- Prepared items and holdings viewItemsAndHoldings(instId, records) AS ( SELECT itemAndHoldingsAttrs.instanceId, jsonb_strip_nulls(itemAndHoldingsAttrs.itemsAndHoldings) FROM (SELECT i.id AS instanceId, jsonb_build_object('holdings', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', hr.id, 'hrId', hr.jsonb ->> 'hrId', 'suppressFromDiscovery', CASE WHEN hr.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'holdingsType', ht.jsonb ->> 'name', 'formerIds', hr.jsonb -> 'formerIds', 'location', CASE WHEN hr.id IS NOT NULL THEN json_build_object('permanentLocation', jsonb_build_object('name', COALESCE(holdPermLoc.locJsonb ->> 'discoveryDisplayName', holdPermLoc.locJsonb ->> 'name'), 'code', holdPermLoc.locJsonb ->> 'code', 'campusName', holdPermLoc.locCampJsonb ->> 'name', 'libraryName', holdPermLoc.locLibJsonb ->> 'name', 'institutionName', holdPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(holdTempLoc.locJsonb ->> 'discoveryDisplayName', holdTempLoc.locJsonb ->> 'name'), 'code', holdTempLoc.locJsonb ->> 'code', 'campusName', holdTempLoc.locCampJsonb ->> 'name', 'libraryName', holdTempLoc.locLibJsonb ->> 'name', 'institutionName', holdTempLoc.locInstJsonb ->> 'name'), 'effectiveLocation', jsonb_build_object('name', COALESCE(holdEffLoc.locJsonb ->> 'discoveryDisplayName', holdEffLoc.locJsonb ->> 'name'), 'code', holdEffLoc.locJsonb ->> 'code', 'campusName', holdEffLoc.locCampJsonb ->> 'name', 'libraryName', holdEffLoc.locLibJsonb ->> 'name', 'institutionName', holdEffLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', json_build_object('prefix', hr.jsonb ->> 'callNumberPrefix', 'suffix', hr.jsonb ->> 'callNumberSuffix', 'typeId', hr.jsonb ->> 'callNumberTypeId', 'typeName', hrcnt.jsonb ->> 'name', 'callNumber', hr.jsonb ->> 'callNumber'), 'shelvingTitle', hr.jsonb ->> 'shelvingTitle', 'acquisitionFormat', hr.jsonb ->> 'acquisitionFormat', 'acquisitionMethod', hr.jsonb ->> 'acquisitionMethod', 'receiptStatus', hr.jsonb ->> 'receiptStatus', 'electronicAccess', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getHoldingNoteTypeName(hr.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'illPolicy', ilp.jsonb ->> 'name', 'retentionPolicy', hr.jsonb ->> 'retentionPolicy', 'digitizationPolicy', hr.jsonb ->> 'digitizationPolicy', 'holdingsStatements', hr.jsonb -> 'holdingsStatements', 'holdingsStatementsForIndexes', hr.jsonb -> 'holdingsStatementsForIndexes', 'holdingsStatementsForSupplements', hr.jsonb -> 'holdingsStatementsForSupplements', 'copyNumber', hr.jsonb ->> 'copyNumber', 'numberOfItems', hr.jsonb ->> 'numberOfItems', 'receivingHistory', hr.jsonb -> 'receivingHistory', 'tags', hr.jsonb -> 'tags', 'statisticalCodes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getStatisticalCodes(hr.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE hr.id IS NOT NULL), '[]'::jsonb), 'items', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', item.id, 'hrId', item.jsonb ->> 'hrId', 'holdingsRecordId', (item.jsonb ->> 'holdingsRecordId')::UUID, 'suppressFromDiscovery', CASE WHEN item.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'status', item.jsonb #>> '{status, name}', 'formerIds', item.jsonb -> 'formerIds', 'location', CASE WHEN item.id IS NOT NULL THEN json_build_object('location', jsonb_build_object('name', COALESCE(itemEffLoc.locJsonb ->> 'discoveryDisplayName', itemEffLoc.locJsonb ->> 'name'), 'code', itemEffLoc.locJsonb ->> 'code', 'campusName', itemEffLoc.locCampJsonb ->> 'name', 'libraryName', itemEffLoc.locLibJsonb ->> 'name', 'institutionName', itemEffLoc.locInstJsonb ->> 'name'), 'permanentLocation', jsonb_build_object('name', COALESCE(itemPermLoc.locJsonb ->> 'discoveryDisplayName', itemPermLoc.locJsonb ->> 'name'), 'code', itemPermLoc.locJsonb ->> 'code', 'campusName', itemPermLoc.locCampJsonb ->> 'name', 'libraryName', itemPermLoc.locLibJsonb ->> 'name', 'institutionName', itemPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(itemTempLoc.locJsonb ->> 'discoveryDisplayName', itemTempLoc.locJsonb ->> 'name'), 'code', itemTempLoc.locJsonb ->> 'code', 'campusName', itemTempLoc.locCampJsonb ->> 'name', 'libraryName', itemTempLoc.locLibJsonb ->> 'name', 'institutionName', itemTempLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName', cnt.jsonb ->> 'name'), 'accessionNumber', item.jsonb ->> 'accessionNumber', 'barcode', item.jsonb ->> 'barcode', 'copyNumber', item.jsonb ->> 'copyNumber', 'volume', item.jsonb ->> 'volume', 'enumeration', item.jsonb ->> 'enumeration', 'chronology', item.jsonb ->>'chronology', 'yearCaption', item.jsonb -> 'yearCaption', 'itemIdentifier', item.jsonb ->> 'itemIdentifier', 'numberOfPieces', item.jsonb ->> 'numberOfPieces', 'descriptionOfPieces', item.jsonb ->> 'descriptionOfPieces', 'numberOfMissingPieces', item.jsonb ->> 'numberOfMissingPieces', 'missingPieces', item.jsonb ->> 'missingPieces', 'missingPiecesDate', item.jsonb ->> 'missingPiecesDate', 'itemDamagedStatus', itemDmgStat.jsonb ->> 'name', 'itemDamagedStatusDate', item.jsonb ->> 'itemDamagedStatusDate', 'materialType', mt.jsonb ->> 'name', 'permanentLoanType', plt.jsonb ->> 'name', 'temporaryLoanType', tlt.jsonb ->> 'name', 'electronicAccess', CASE WHEN item.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(item.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getItemNoteTypeName(item.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'tags', item.jsonb -> 'tags', 'statisticalCodes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getStatisticalCodes(item.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE item.id IS NOT NULL), '[]'::jsonb) ) itemsAndHoldings FROM test_tenant_mod_inventory_storage.holdings_record hr JOIN test_tenant_mod_inventory_storage.instance i ON i.id = hr.instanceid JOIN viewInstances vi ON vi.instId = i.id LEFT JOIN test_tenant_mod_inventory_storage.item item ON item.holdingsrecordid = hr.id -- Item's Effective location relation LEFT JOIN viewLocations itemEffLoc ON (item.jsonb ->> 'effectiveLocationId')::uuid = itemEffLoc.locId -- Item's Permanent location relation LEFT JOIN viewLocations itemPermLoc ON (item.jsonb ->> 'permanentLocationId')::uuid = itemPermLoc.locId -- Item's Temporary location relation LEFT JOIN viewLocations itemTempLoc ON (item.jsonb ->> 'temporaryLocationId')::uuid = itemTempLoc.locId -- Item's Material type relation LEFT JOIN test_tenant_mod_inventory_storage.material_type mt ON item.materialtypeid = mt.id -- Item's Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type cnt ON (item.jsonb #>> '{effectiveCallNumberComponents, typeId}')::uuid = cnt.id -- Item's Damaged status relation LEFT JOIN test_tenant_mod_inventory_storage.item_damaged_status itemDmgStat ON (item.jsonb ->> 'itemDamagedStatusId')::uuid = itemDmgStat.id -- Item's Permanent loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type plt ON (item.jsonb ->> 'permanentLoanTypeId')::uuid = plt.id -- Item's Temporary loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type tlt ON (item.jsonb ->> 'temporaryLoanTypeId')::uuid = tlt.id -- Holdings type relation LEFT JOIN test_tenant_mod_inventory_storage.holdings_type ht ON ht.id = hr.holdingstypeid -- Holdings Permanent location relation LEFT JOIN viewLocations holdPermLoc ON (hr.jsonb ->> 'permanentLocationId')::uuid = holdPermLoc.locId -- Holdings Temporary location relation LEFT JOIN viewLocations holdTempLoc ON (hr.jsonb ->> 'temporaryLocationId')::uuid = holdTempLoc.locId -- Holdings Effective location relation LEFT JOIN viewLocations holdEffLoc ON (hr.jsonb ->> 'effectiveLocationId')::uuid = holdEffLoc.locId -- Holdings Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type hrcnt ON (hr.jsonb ->> 'callNumberTypeId')::uuid = hrcnt.id -- Holdings Ill policy relation LEFT JOIN test_tenant_mod_inventory_storage.ill_policy ilp ON hr.illpolicyid = ilp.id WHERE true AND NOT ($2 AND COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false)) AND NOT ($2 AND COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false)) GROUP BY 1 ) itemAndHoldingsAttrs ) -- Instances with items and holding records SELECT vi.instId AS "instanceId", vi.source AS "source", vi.modeOfIssuance AS "modeOfIssuance", vi.natureOfContent AS "natureOfContent", COALESCE(viah.records -> 'holdings', '[]'::jsonb) AS "holdings", COALESCE(viah.records -> 'items', '[]'::jsonb) AS "items" FROM viewInstances vi LEFT JOIN viewItemsAndHoldings viah ON viah.instId = vi.instId $BODY$ LANGUAGE sql;INSERT INTO test_tenant_mod_inventory_storage.instance_format (id, jsonb) VALUES ('0d9b1c3d-2d13-4f18-9472-cc1b91bf1752', json_build_object('id','0d9b1c3d-2d13-4f18-9472-cc1b91bf1752', 'code','sb', 'name','audio -- audio belt', 'source','rdacarrier')) ON CONFLICT DO NOTHING; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.get_items_and_holdings_view(instanceIds uuid[], skipSuppressedFromDiscoveryRecords bool DEFAULT TRUE) RETURNS TABLE ( "instanceId" uuid, "source" varchar, "modeOfIssuance" varchar, "natureOfContent" jsonb, "holdings" jsonb, "items" jsonb ) AS $BODY$ WITH -- Locations viewLocations(locId, locJsonb, locCampJsonb, locLibJsonb, locInstJsonb) AS ( SELECT loc.id AS locId, loc.jsonb AS locJsonb, locCamp.jsonb AS locCampJsonb, locLib.jsonb AS locLibJsonb, locInst.jsonb AS locInstJsonb FROM location loc LEFT JOIN locinstitution locInst ON (loc.jsonb ->> 'institutionId')::uuid = locInst.id LEFT JOIN loccampus locCamp ON (loc.jsonb ->> 'campusId')::uuid = locCamp.id LEFT JOIN loclibrary locLib ON (loc.jsonb ->> 'libraryId')::uuid = locLib.id WHERE (loc.jsonb ->> 'isActive')::bool = true ), -- Passed instances ids viewInstances(instId, source, modeOfIssuance, natureOfContent) AS ( SELECT DISTINCT instId AS "instanceId", i.jsonb ->> 'source' AS source, moi.jsonb ->> 'name' AS modeOfIssuance, COALESCE(getNatureOfContentName(COALESCE(i.jsonb #> '{natureOfContentTermIds}', '[]'::jsonb)), '[]'::jsonb) AS natureOfContent FROM UNNEST( $1 ) instId JOIN instance i ON i.id = instId LEFT JOIN mode_of_issuance moi ON moi.id = nullif(i.jsonb ->> 'modeOfIssuanceId','')::uuid ), -- Prepared items and holdings viewItemsAndHoldings(instId, records) AS ( SELECT itemAndHoldingsAttrs.instanceId, jsonb_strip_nulls(itemAndHoldingsAttrs.itemsAndHoldings) FROM (SELECT i.id AS instanceId, jsonb_build_object('holdings', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', hr.id, 'hrId', hr.jsonb ->> 'hrId', 'suppressFromDiscovery', CASE WHEN hr.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'holdingsType', ht.jsonb ->> 'name', 'formerIds', hr.jsonb -> 'formerIds', 'location', CASE WHEN hr.id IS NOT NULL THEN json_build_object('permanentLocation', jsonb_build_object('name', COALESCE(holdPermLoc.locJsonb ->> 'discoveryDisplayName', holdPermLoc.locJsonb ->> 'name'), 'code', holdPermLoc.locJsonb ->> 'code', 'campusName', holdPermLoc.locCampJsonb ->> 'name', 'libraryName', holdPermLoc.locLibJsonb ->> 'name', 'institutionName', holdPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(holdTempLoc.locJsonb ->> 'discoveryDisplayName', holdTempLoc.locJsonb ->> 'name'), 'code', holdTempLoc.locJsonb ->> 'code', 'campusName', holdTempLoc.locCampJsonb ->> 'name', 'libraryName', holdTempLoc.locLibJsonb ->> 'name', 'institutionName', holdTempLoc.locInstJsonb ->> 'name'), 'effectiveLocation', jsonb_build_object('name', COALESCE(holdEffLoc.locJsonb ->> 'discoveryDisplayName', holdEffLoc.locJsonb ->> 'name'), 'code', holdEffLoc.locJsonb ->> 'code', 'campusName', holdEffLoc.locCampJsonb ->> 'name', 'libraryName', holdEffLoc.locLibJsonb ->> 'name', 'institutionName', holdEffLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', json_build_object('prefix', hr.jsonb ->> 'callNumberPrefix', 'suffix', hr.jsonb ->> 'callNumberSuffix', 'typeId', hr.jsonb ->> 'callNumberTypeId', 'typeName', hrcnt.jsonb ->> 'name', 'callNumber', hr.jsonb ->> 'callNumber'), 'shelvingTitle', hr.jsonb ->> 'shelvingTitle', 'acquisitionFormat', hr.jsonb ->> 'acquisitionFormat', 'acquisitionMethod', hr.jsonb ->> 'acquisitionMethod', 'receiptStatus', hr.jsonb ->> 'receiptStatus', 'electronicAccess', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getHoldingNoteTypeName(hr.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'illPolicy', ilp.jsonb ->> 'name', 'retentionPolicy', hr.jsonb ->> 'retentionPolicy', 'digitizationPolicy', hr.jsonb ->> 'digitizationPolicy', 'holdingsStatements', hr.jsonb -> 'holdingsStatements', 'holdingsStatementsForIndexes', hr.jsonb -> 'holdingsStatementsForIndexes', 'holdingsStatementsForSupplements', hr.jsonb -> 'holdingsStatementsForSupplements', 'copyNumber', hr.jsonb ->> 'copyNumber', 'numberOfItems', hr.jsonb ->> 'numberOfItems', 'receivingHistory', hr.jsonb -> 'receivingHistory', 'tags', hr.jsonb -> 'tags', 'statisticalCodes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getStatisticalCodes(hr.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE hr.id IS NOT NULL), '[]'::jsonb), 'items', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', item.id, 'hrId', item.jsonb ->> 'hrId', 'holdingsRecordId', (item.jsonb ->> 'holdingsRecordId')::UUID, 'suppressFromDiscovery', CASE WHEN item.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'status', item.jsonb #>> '{status, name}', 'formerIds', item.jsonb -> 'formerIds', 'location', CASE WHEN item.id IS NOT NULL THEN json_build_object('location', jsonb_build_object('name', COALESCE(itemEffLoc.locJsonb ->> 'discoveryDisplayName', itemEffLoc.locJsonb ->> 'name'), 'code', itemEffLoc.locJsonb ->> 'code', 'campusName', itemEffLoc.locCampJsonb ->> 'name', 'libraryName', itemEffLoc.locLibJsonb ->> 'name', 'institutionName', itemEffLoc.locInstJsonb ->> 'name'), 'permanentLocation', jsonb_build_object('name', COALESCE(itemPermLoc.locJsonb ->> 'discoveryDisplayName', itemPermLoc.locJsonb ->> 'name'), 'code', itemPermLoc.locJsonb ->> 'code', 'campusName', itemPermLoc.locCampJsonb ->> 'name', 'libraryName', itemPermLoc.locLibJsonb ->> 'name', 'institutionName', itemPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(itemTempLoc.locJsonb ->> 'discoveryDisplayName', itemTempLoc.locJsonb ->> 'name'), 'code', itemTempLoc.locJsonb ->> 'code', 'campusName', itemTempLoc.locCampJsonb ->> 'name', 'libraryName', itemTempLoc.locLibJsonb ->> 'name', 'institutionName', itemTempLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName', cnt.jsonb ->> 'name'), 'accessionNumber', item.jsonb ->> 'accessionNumber', 'barcode', item.jsonb ->> 'barcode', 'copyNumber', item.jsonb ->> 'copyNumber', 'volume', item.jsonb ->> 'volume', 'enumeration', item.jsonb ->> 'enumeration', 'chronology', item.jsonb ->>'chronology', 'yearCaption', item.jsonb -> 'yearCaption', 'itemIdentifier', item.jsonb ->> 'itemIdentifier', 'numberOfPieces', item.jsonb ->> 'numberOfPieces', 'descriptionOfPieces', item.jsonb ->> 'descriptionOfPieces', 'numberOfMissingPieces', item.jsonb ->> 'numberOfMissingPieces', 'missingPieces', item.jsonb ->> 'missingPieces', 'missingPiecesDate', item.jsonb ->> 'missingPiecesDate', 'itemDamagedStatus', itemDmgStat.jsonb ->> 'name', 'itemDamagedStatusDate', item.jsonb ->> 'itemDamagedStatusDate', 'materialType', mt.jsonb ->> 'name', 'permanentLoanType', plt.jsonb ->> 'name', 'temporaryLoanType', tlt.jsonb ->> 'name', 'electronicAccess', CASE WHEN item.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(item.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getItemNoteTypeName(item.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'tags', item.jsonb -> 'tags', 'statisticalCodes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getStatisticalCodes(item.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE item.id IS NOT NULL), '[]'::jsonb) ) itemsAndHoldings FROM test_tenant_mod_inventory_storage.holdings_record hr JOIN test_tenant_mod_inventory_storage.instance i ON i.id = hr.instanceid JOIN viewInstances vi ON vi.instId = i.id LEFT JOIN test_tenant_mod_inventory_storage.item item ON item.holdingsrecordid = hr.id -- Item's Effective location relation LEFT JOIN viewLocations itemEffLoc ON (item.jsonb ->> 'effectiveLocationId')::uuid = itemEffLoc.locId -- Item's Permanent location relation LEFT JOIN viewLocations itemPermLoc ON (item.jsonb ->> 'permanentLocationId')::uuid = itemPermLoc.locId -- Item's Temporary location relation LEFT JOIN viewLocations itemTempLoc ON (item.jsonb ->> 'temporaryLocationId')::uuid = itemTempLoc.locId -- Item's Material type relation LEFT JOIN test_tenant_mod_inventory_storage.material_type mt ON item.materialtypeid = mt.id -- Item's Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type cnt ON (item.jsonb #>> '{effectiveCallNumberComponents, typeId}')::uuid = cnt.id -- Item's Damaged status relation LEFT JOIN test_tenant_mod_inventory_storage.item_damaged_status itemDmgStat ON (item.jsonb ->> 'itemDamagedStatusId')::uuid = itemDmgStat.id -- Item's Permanent loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type plt ON (item.jsonb ->> 'permanentLoanTypeId')::uuid = plt.id -- Item's Temporary loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type tlt ON (item.jsonb ->> 'temporaryLoanTypeId')::uuid = tlt.id -- Holdings type relation LEFT JOIN test_tenant_mod_inventory_storage.holdings_type ht ON ht.id = hr.holdingstypeid -- Holdings Permanent location relation LEFT JOIN viewLocations holdPermLoc ON (hr.jsonb ->> 'permanentLocationId')::uuid = holdPermLoc.locId -- Holdings Temporary location relation LEFT JOIN viewLocations holdTempLoc ON (hr.jsonb ->> 'temporaryLocationId')::uuid = holdTempLoc.locId -- Holdings Effective location relation LEFT JOIN viewLocations holdEffLoc ON (hr.jsonb ->> 'effectiveLocationId')::uuid = holdEffLoc.locId -- Holdings Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type hrcnt ON (hr.jsonb ->> 'callNumberTypeId')::uuid = hrcnt.id -- Holdings Ill policy relation LEFT JOIN test_tenant_mod_inventory_storage.ill_policy ilp ON hr.illpolicyid = ilp.id WHERE true AND NOT ($2 AND COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false)) AND NOT ($2 AND COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false)) GROUP BY 1 ) itemAndHoldingsAttrs ) -- Instances with items and holding records SELECT vi.instId AS "instanceId", vi.source AS "source", vi.modeOfIssuance AS "modeOfIssuance", vi.natureOfContent AS "natureOfContent", COALESCE(viah.records -> 'holdings', '[]'::jsonb) AS "holdings", COALESCE(viah.records -> 'items', '[]'::jsonb) AS "items" FROM viewInstances vi LEFT JOIN viewItemsAndHoldings viah ON viah.instId = vi.instId $BODY$ LANGUAGE sql;INSERT INTO test_tenant_mod_inventory_storage.instance_format (id, jsonb) VALUES ('0d9b1c3d-2d13-4f18-9472-cc1b91bf1752', json_build_object('id','0d9b1c3d-2d13-4f18-9472-cc1b91bf1752', 'code','sb', 'name','audio -- audio belt', 'source','rdacarrier')) ON CONFLICT DO NOTHING; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_effective_location_on_holding_update; 09:33:43 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_effective_location_on_holding_update() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_effective_location_on_holding_update; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_effective_location_on_item_update;INSERT INTO test_tenant_mod_inventory_storage.identifier_type (id, jsonb) VALUES ('b3ea81fb-3324-4c64-9efc-7c0c93d5943c', json_build_object('id','b3ea81fb-3324-4c64-9efc-7c0c93d5943c', 'name', 'Invalid UPC', 'source', 'folio')) ON CONFLICT DO NOTHING; 09:33:43 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='function test_tenant_mod_inventory_storage.update_effective_location_on_item_update() does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION IF EXISTS test_tenant_mod_inventory_storage.update_effective_location_on_item_update;INSERT INTO test_tenant_mod_inventory_storage.identifier_type (id, jsonb) VALUES ('b3ea81fb-3324-4c64-9efc-7c0c93d5943c', json_build_object('id','b3ea81fb-3324-4c64-9efc-7c0c93d5943c', 'name', 'Invalid UPC', 'source', 'folio')) ON CONFLICT DO NOTHING; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO test_tenant_mod_inventory_storage.identifier_type (id, jsonb) VALUES ('ebfd00b6-61d3-4d87-a6d8-810c941176d5', json_build_object('id','ebfd00b6-61d3-4d87-a6d8-810c941176d5', 'name', 'ISMN', 'source', 'folio')) ON CONFLICT DO NOTHING; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO test_tenant_mod_inventory_storage.identifier_type (id, jsonb) VALUES ('ebfd00b6-61d3-4d87-a6d8-810c941176d5', json_build_object('id','ebfd00b6-61d3-4d87-a6d8-810c941176d5', 'name', 'ISMN', 'source', 'folio')) ON CONFLICT DO NOTHING; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO test_tenant_mod_inventory_storage.identifier_type (id, jsonb) VALUES ('4f07ea37-6c7f-4836-add2-14249e628ed1', json_build_object('id','4f07ea37-6c7f-4836-add2-14249e628ed1', 'name', 'Invalid ISMN', 'source', 'folio')) ON CONFLICT DO NOTHING; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO test_tenant_mod_inventory_storage.identifier_type (id, jsonb) VALUES ('4f07ea37-6c7f-4836-add2-14249e628ed1', json_build_object('id','4f07ea37-6c7f-4836-add2-14249e628ed1', 'name', 'Invalid ISMN', 'source', 'folio')) ON CONFLICT DO NOTHING; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} INSERT INTO test_tenant_mod_inventory_storage.identifier_type (id, jsonb) VALUES ('1795ea23-6856-48a5-a772-f356e16a8a6c', json_build_object('id','1795ea23-6856-48a5-a772-f356e16a8a6c', 'name', 'UPC', 'source', 'folio')) ON CONFLICT DO NOTHING; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed INSERT INTO test_tenant_mod_inventory_storage.identifier_type (id, jsonb) VALUES ('1795ea23-6856-48a5-a772-f356e16a8a6c', json_build_object('id','1795ea23-6856-48a5-a772-f356e16a8a6c', 'name', 'UPC', 'source', 'folio')) ON CONFLICT DO NOTHING; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.get_items_and_holdings_view(instanceIds uuid[], skipSuppressedFromDiscoveryRecords bool DEFAULT TRUE) RETURNS TABLE ( "instanceId" uuid, "source" varchar, "modeOfIssuance" varchar, "natureOfContent" jsonb, "holdings" jsonb, "items" jsonb ) AS $BODY$ WITH -- Locations viewLocations(locId, locJsonb, locCampJsonb, locLibJsonb, locInstJsonb) AS ( SELECT loc.id AS locId, loc.jsonb AS locJsonb, locCamp.jsonb AS locCampJsonb, locLib.jsonb AS locLibJsonb, locInst.jsonb AS locInstJsonb FROM location loc LEFT JOIN locinstitution locInst ON (loc.jsonb ->> 'institutionId')::uuid = locInst.id LEFT JOIN loccampus locCamp ON (loc.jsonb ->> 'campusId')::uuid = locCamp.id LEFT JOIN loclibrary locLib ON (loc.jsonb ->> 'libraryId')::uuid = locLib.id WHERE (loc.jsonb ->> 'isActive')::bool = true ), -- Passed instances ids viewInstances(instId, source, modeOfIssuance, natureOfContent) AS ( SELECT DISTINCT instId AS "instanceId", i.jsonb ->> 'source' AS source, moi.jsonb ->> 'name' AS modeOfIssuance, COALESCE(getNatureOfContentName(COALESCE(i.jsonb #> '{natureOfContentTermIds}', '[]'::jsonb)), '[]'::jsonb) AS natureOfContent FROM UNNEST( $1 ) instId JOIN instance i ON i.id = instId LEFT JOIN mode_of_issuance moi ON moi.id = nullif(i.jsonb ->> 'modeOfIssuanceId','')::uuid ), -- Prepared items and holdings viewItemsAndHoldings(instId, records) AS ( SELECT itemAndHoldingsAttrs.instanceId, jsonb_strip_nulls(itemAndHoldingsAttrs.itemsAndHoldings) FROM (SELECT i.id AS instanceId, jsonb_build_object('holdings', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', hr.id, 'hrId', hr.jsonb ->> 'hrId', 'suppressFromDiscovery', CASE WHEN hr.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'holdingsType', ht.jsonb ->> 'name', 'formerIds', hr.jsonb -> 'formerIds', 'location', CASE WHEN hr.id IS NOT NULL THEN json_build_object('permanentLocation', jsonb_build_object('name', COALESCE(holdPermLoc.locJsonb ->> 'discoveryDisplayName', holdPermLoc.locJsonb ->> 'name'), 'code', holdPermLoc.locJsonb ->> 'code', 'campusName', holdPermLoc.locCampJsonb ->> 'name', 'libraryName', holdPermLoc.locLibJsonb ->> 'name', 'institutionName', holdPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(holdTempLoc.locJsonb ->> 'discoveryDisplayName', holdTempLoc.locJsonb ->> 'name'), 'code', holdTempLoc.locJsonb ->> 'code', 'campusName', holdTempLoc.locCampJsonb ->> 'name', 'libraryName', holdTempLoc.locLibJsonb ->> 'name', 'institutionName', holdTempLoc.locInstJsonb ->> 'name'), 'effectiveLocation', jsonb_build_object('name', COALESCE(holdEffLoc.locJsonb ->> 'discoveryDisplayName', holdEffLoc.locJsonb ->> 'name'), 'code', holdEffLoc.locJsonb ->> 'code', 'campusName', holdEffLoc.locCampJsonb ->> 'name', 'libraryName', holdEffLoc.locLibJsonb ->> 'name', 'institutionName', holdEffLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', json_build_object('prefix', hr.jsonb ->> 'callNumberPrefix', 'suffix', hr.jsonb ->> 'callNumberSuffix', 'typeId', hr.jsonb ->> 'callNumberTypeId', 'typeName', hrcnt.jsonb ->> 'name', 'callNumber', hr.jsonb ->> 'callNumber'), 'shelvingTitle', hr.jsonb ->> 'shelvingTitle', 'acquisitionFormat', hr.jsonb ->> 'acquisitionFormat', 'acquisitionMethod', hr.jsonb ->> 'acquisitionMethod', 'receiptStatus', hr.jsonb ->> 'receiptStatus', 'electronicAccess', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getHoldingNoteTypeName(hr.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'illPolicy', ilp.jsonb ->> 'name', 'retentionPolicy', hr.jsonb ->> 'retentionPolicy', 'digitizationPolicy', hr.jsonb ->> 'digitizationPolicy', 'holdingsStatements', hr.jsonb -> 'holdingsStatements', 'holdingsStatementsForIndexes', hr.jsonb -> 'holdingsStatementsForIndexes', 'holdingsStatementsForSupplements', hr.jsonb -> 'holdingsStatementsForSupplements', 'copyNumber', hr.jsonb ->> 'copyNumber', 'numberOfItems', hr.jsonb ->> 'numberOfItems', 'receivingHistory', hr.jsonb -> 'receivingHistory', 'tags', hr.jsonb -> 'tags', 'statisticalCodes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getStatisticalCodes(hr.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE hr.id IS NOT NULL), '[]'::jsonb), 'items', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', item.id, 'hrId', item.jsonb ->> 'hrId', 'holdingsRecordId', (item.jsonb ->> 'holdingsRecordId')::UUID, 'suppressFromDiscovery', CASE WHEN item.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'status', item.jsonb #>> '{status, name}', 'formerIds', item.jsonb -> 'formerIds', 'location', CASE WHEN item.id IS NOT NULL THEN json_build_object('location', jsonb_build_object('name', COALESCE(itemEffLoc.locJsonb ->> 'discoveryDisplayName', itemEffLoc.locJsonb ->> 'name'), 'code', itemEffLoc.locJsonb ->> 'code', 'campusName', itemEffLoc.locCampJsonb ->> 'name', 'libraryName', itemEffLoc.locLibJsonb ->> 'name', 'institutionName', itemEffLoc.locInstJsonb ->> 'name'), 'permanentLocation', jsonb_build_object('name', COALESCE(itemPermLoc.locJsonb ->> 'discoveryDisplayName', itemPermLoc.locJsonb ->> 'name'), 'code', itemPermLoc.locJsonb ->> 'code', 'campusName', itemPermLoc.locCampJsonb ->> 'name', 'libraryName', itemPermLoc.locLibJsonb ->> 'name', 'institutionName', itemPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(itemTempLoc.locJsonb ->> 'discoveryDisplayName', itemTempLoc.locJsonb ->> 'name'), 'code', itemTempLoc.locJsonb ->> 'code', 'campusName', itemTempLoc.locCampJsonb ->> 'name', 'libraryName', itemTempLoc.locLibJsonb ->> 'name', 'institutionName', itemTempLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName', cnt.jsonb ->> 'name'), 'accessionNumber', item.jsonb ->> 'accessionNumber', 'barcode', item.jsonb ->> 'barcode', 'copyNumber', item.jsonb ->> 'copyNumber', 'volume', item.jsonb ->> 'volume', 'enumeration', item.jsonb ->> 'enumeration', 'chronology', item.jsonb ->>'chronology', 'yearCaption', item.jsonb -> 'yearCaption', 'itemIdentifier', item.jsonb ->> 'itemIdentifier', 'numberOfPieces', item.jsonb ->> 'numberOfPieces', 'descriptionOfPieces', item.jsonb ->> 'descriptionOfPieces', 'numberOfMissingPieces', item.jsonb ->> 'numberOfMissingPieces', 'missingPieces', item.jsonb ->> 'missingPieces', 'missingPiecesDate', item.jsonb ->> 'missingPiecesDate', 'itemDamagedStatus', itemDmgStat.jsonb ->> 'name', 'itemDamagedStatusDate', item.jsonb ->> 'itemDamagedStatusDate', 'materialType', mt.jsonb ->> 'name', 'permanentLoanType', plt.jsonb ->> 'name', 'temporaryLoanType', tlt.jsonb ->> 'name', 'electronicAccess', CASE WHEN item.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(item.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getItemNoteTypeName(item.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'tags', item.jsonb -> 'tags', 'statisticalCodes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getStatisticalCodes(item.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE item.id IS NOT NULL AND NOT ($2 AND COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false))), '[]'::jsonb) ) itemsAndHoldings FROM test_tenant_mod_inventory_storage.holdings_record hr JOIN test_tenant_mod_inventory_storage.instance i ON i.id = hr.instanceid JOIN viewInstances vi ON vi.instId = i.id LEFT JOIN test_tenant_mod_inventory_storage.item item ON item.holdingsrecordid = hr.id -- Item's Effective location relation LEFT JOIN viewLocations itemEffLoc ON (item.jsonb ->> 'effectiveLocationId')::uuid = itemEffLoc.locId -- Item's Permanent location relation LEFT JOIN viewLocations itemPermLoc ON (item.jsonb ->> 'permanentLocationId')::uuid = itemPermLoc.locId -- Item's Temporary location relation LEFT JOIN viewLocations itemTempLoc ON (item.jsonb ->> 'temporaryLocationId')::uuid = itemTempLoc.locId -- Item's Material type relation LEFT JOIN test_tenant_mod_inventory_storage.material_type mt ON item.materialtypeid = mt.id -- Item's Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type cnt ON (item.jsonb #>> '{effectiveCallNumberComponents, typeId}')::uuid = cnt.id -- Item's Damaged status relation LEFT JOIN test_tenant_mod_inventory_storage.item_damaged_status itemDmgStat ON (item.jsonb ->> 'itemDamagedStatusId')::uuid = itemDmgStat.id -- Item's Permanent loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type plt ON (item.jsonb ->> 'permanentLoanTypeId')::uuid = plt.id -- Item's Temporary loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type tlt ON (item.jsonb ->> 'temporaryLoanTypeId')::uuid = tlt.id -- Holdings type relation LEFT JOIN test_tenant_mod_inventory_storage.holdings_type ht ON ht.id = hr.holdingstypeid -- Holdings Permanent location relation LEFT JOIN viewLocations holdPermLoc ON (hr.jsonb ->> 'permanentLocationId')::uuid = holdPermLoc.locId -- Holdings Temporary location relation LEFT JOIN viewLocations holdTempLoc ON (hr.jsonb ->> 'temporaryLocationId')::uuid = holdTempLoc.locId -- Holdings Effective location relation LEFT JOIN viewLocations holdEffLoc ON (hr.jsonb ->> 'effectiveLocationId')::uuid = holdEffLoc.locId -- Holdings Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type hrcnt ON (hr.jsonb ->> 'callNumberTypeId')::uuid = hrcnt.id -- Holdings Ill policy relation LEFT JOIN test_tenant_mod_inventory_storage.ill_policy ilp ON hr.illpolicyid = ilp.id WHERE true AND NOT ($2 AND COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false)) GROUP BY 1 ) itemAndHoldingsAttrs ) -- Instances with items and holding records SELECT vi.instId AS "instanceId", vi.source AS "source", vi.modeOfIssuance AS "modeOfIssuance", vi.natureOfContent AS "natureOfContent", COALESCE(viah.records -> 'holdings', '[]'::jsonb) AS "holdings", COALESCE(viah.records -> 'items', '[]'::jsonb) AS "items" FROM viewInstances vi LEFT JOIN viewItemsAndHoldings viah ON viah.instId = vi.instId $BODY$ LANGUAGE sql; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION test_tenant_mod_inventory_storage.get_items_and_holdings_view(instanceIds uuid[], skipSuppressedFromDiscoveryRecords bool DEFAULT TRUE) RETURNS TABLE ( "instanceId" uuid, "source" varchar, "modeOfIssuance" varchar, "natureOfContent" jsonb, "holdings" jsonb, "items" jsonb ) AS $BODY$ WITH -- Locations viewLocations(locId, locJsonb, locCampJsonb, locLibJsonb, locInstJsonb) AS ( SELECT loc.id AS locId, loc.jsonb AS locJsonb, locCamp.jsonb AS locCampJsonb, locLib.jsonb AS locLibJsonb, locInst.jsonb AS locInstJsonb FROM location loc LEFT JOIN locinstitution locInst ON (loc.jsonb ->> 'institutionId')::uuid = locInst.id LEFT JOIN loccampus locCamp ON (loc.jsonb ->> 'campusId')::uuid = locCamp.id LEFT JOIN loclibrary locLib ON (loc.jsonb ->> 'libraryId')::uuid = locLib.id WHERE (loc.jsonb ->> 'isActive')::bool = true ), -- Passed instances ids viewInstances(instId, source, modeOfIssuance, natureOfContent) AS ( SELECT DISTINCT instId AS "instanceId", i.jsonb ->> 'source' AS source, moi.jsonb ->> 'name' AS modeOfIssuance, COALESCE(getNatureOfContentName(COALESCE(i.jsonb #> '{natureOfContentTermIds}', '[]'::jsonb)), '[]'::jsonb) AS natureOfContent FROM UNNEST( $1 ) instId JOIN instance i ON i.id = instId LEFT JOIN mode_of_issuance moi ON moi.id = nullif(i.jsonb ->> 'modeOfIssuanceId','')::uuid ), -- Prepared items and holdings viewItemsAndHoldings(instId, records) AS ( SELECT itemAndHoldingsAttrs.instanceId, jsonb_strip_nulls(itemAndHoldingsAttrs.itemsAndHoldings) FROM (SELECT i.id AS instanceId, jsonb_build_object('holdings', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', hr.id, 'hrId', hr.jsonb ->> 'hrId', 'suppressFromDiscovery', CASE WHEN hr.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'holdingsType', ht.jsonb ->> 'name', 'formerIds', hr.jsonb -> 'formerIds', 'location', CASE WHEN hr.id IS NOT NULL THEN json_build_object('permanentLocation', jsonb_build_object('name', COALESCE(holdPermLoc.locJsonb ->> 'discoveryDisplayName', holdPermLoc.locJsonb ->> 'name'), 'code', holdPermLoc.locJsonb ->> 'code', 'campusName', holdPermLoc.locCampJsonb ->> 'name', 'libraryName', holdPermLoc.locLibJsonb ->> 'name', 'institutionName', holdPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(holdTempLoc.locJsonb ->> 'discoveryDisplayName', holdTempLoc.locJsonb ->> 'name'), 'code', holdTempLoc.locJsonb ->> 'code', 'campusName', holdTempLoc.locCampJsonb ->> 'name', 'libraryName', holdTempLoc.locLibJsonb ->> 'name', 'institutionName', holdTempLoc.locInstJsonb ->> 'name'), 'effectiveLocation', jsonb_build_object('name', COALESCE(holdEffLoc.locJsonb ->> 'discoveryDisplayName', holdEffLoc.locJsonb ->> 'name'), 'code', holdEffLoc.locJsonb ->> 'code', 'campusName', holdEffLoc.locCampJsonb ->> 'name', 'libraryName', holdEffLoc.locLibJsonb ->> 'name', 'institutionName', holdEffLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', json_build_object('prefix', hr.jsonb ->> 'callNumberPrefix', 'suffix', hr.jsonb ->> 'callNumberSuffix', 'typeId', hr.jsonb ->> 'callNumberTypeId', 'typeName', hrcnt.jsonb ->> 'name', 'callNumber', hr.jsonb ->> 'callNumber'), 'shelvingTitle', hr.jsonb ->> 'shelvingTitle', 'acquisitionFormat', hr.jsonb ->> 'acquisitionFormat', 'acquisitionMethod', hr.jsonb ->> 'acquisitionMethod', 'receiptStatus', hr.jsonb ->> 'receiptStatus', 'electronicAccess', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(hr.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getHoldingNoteTypeName(hr.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'illPolicy', ilp.jsonb ->> 'name', 'retentionPolicy', hr.jsonb ->> 'retentionPolicy', 'digitizationPolicy', hr.jsonb ->> 'digitizationPolicy', 'holdingsStatements', hr.jsonb -> 'holdingsStatements', 'holdingsStatementsForIndexes', hr.jsonb -> 'holdingsStatementsForIndexes', 'holdingsStatementsForSupplements', hr.jsonb -> 'holdingsStatementsForSupplements', 'copyNumber', hr.jsonb ->> 'copyNumber', 'numberOfItems', hr.jsonb ->> 'numberOfItems', 'receivingHistory', hr.jsonb -> 'receivingHistory', 'tags', hr.jsonb -> 'tags', 'statisticalCodes', CASE WHEN hr.id IS NOT NULL THEN COALESCE(getStatisticalCodes(hr.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE hr.id IS NOT NULL), '[]'::jsonb), 'items', COALESCE(jsonb_agg(DISTINCT jsonb_build_object('id', item.id, 'hrId', item.jsonb ->> 'hrId', 'holdingsRecordId', (item.jsonb ->> 'holdingsRecordId')::UUID, 'suppressFromDiscovery', CASE WHEN item.id IS NOT NULL THEN COALESCE((i.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false) OR COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false) ELSE NULL END::bool, 'status', item.jsonb #>> '{status, name}', 'formerIds', item.jsonb -> 'formerIds', 'location', CASE WHEN item.id IS NOT NULL THEN json_build_object('location', jsonb_build_object('name', COALESCE(itemEffLoc.locJsonb ->> 'discoveryDisplayName', itemEffLoc.locJsonb ->> 'name'), 'code', itemEffLoc.locJsonb ->> 'code', 'campusName', itemEffLoc.locCampJsonb ->> 'name', 'libraryName', itemEffLoc.locLibJsonb ->> 'name', 'institutionName', itemEffLoc.locInstJsonb ->> 'name'), 'permanentLocation', jsonb_build_object('name', COALESCE(itemPermLoc.locJsonb ->> 'discoveryDisplayName', itemPermLoc.locJsonb ->> 'name'), 'code', itemPermLoc.locJsonb ->> 'code', 'campusName', itemPermLoc.locCampJsonb ->> 'name', 'libraryName', itemPermLoc.locLibJsonb ->> 'name', 'institutionName', itemPermLoc.locInstJsonb ->> 'name'), 'temporaryLocation', jsonb_build_object('name', COALESCE(itemTempLoc.locJsonb ->> 'discoveryDisplayName', itemTempLoc.locJsonb ->> 'name'), 'code', itemTempLoc.locJsonb ->> 'code', 'campusName', itemTempLoc.locCampJsonb ->> 'name', 'libraryName', itemTempLoc.locLibJsonb ->> 'name', 'institutionName', itemTempLoc.locInstJsonb ->> 'name')) ELSE NULL END::jsonb, 'callNumber', item.jsonb -> 'effectiveCallNumberComponents' || jsonb_build_object('typeName', cnt.jsonb ->> 'name'), 'accessionNumber', item.jsonb ->> 'accessionNumber', 'barcode', item.jsonb ->> 'barcode', 'copyNumber', item.jsonb ->> 'copyNumber', 'volume', item.jsonb ->> 'volume', 'enumeration', item.jsonb ->> 'enumeration', 'chronology', item.jsonb ->>'chronology', 'yearCaption', item.jsonb -> 'yearCaption', 'itemIdentifier', item.jsonb ->> 'itemIdentifier', 'numberOfPieces', item.jsonb ->> 'numberOfPieces', 'descriptionOfPieces', item.jsonb ->> 'descriptionOfPieces', 'numberOfMissingPieces', item.jsonb ->> 'numberOfMissingPieces', 'missingPieces', item.jsonb ->> 'missingPieces', 'missingPiecesDate', item.jsonb ->> 'missingPiecesDate', 'itemDamagedStatus', itemDmgStat.jsonb ->> 'name', 'itemDamagedStatusDate', item.jsonb ->> 'itemDamagedStatusDate', 'materialType', mt.jsonb ->> 'name', 'permanentLoanType', plt.jsonb ->> 'name', 'temporaryLoanType', tlt.jsonb ->> 'name', 'electronicAccess', CASE WHEN item.id IS NOT NULL THEN COALESCE(getElectronicAccessName(COALESCE(item.jsonb #> '{electronicAccess}', '[]'::jsonb)), '[]'::jsonb) ELSE NULL::jsonb END, 'notes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getItemNoteTypeName(item.jsonb -> 'notes'), '[]'::jsonb) ELSE NULL END::jsonb, 'tags', item.jsonb -> 'tags', 'statisticalCodes', CASE WHEN item.id IS NOT NULL THEN COALESCE(getStatisticalCodes(item.jsonb -> 'statisticalCodeIds'), '[]'::jsonb) ELSE NULL END ::jsonb)) FILTER (WHERE item.id IS NOT NULL AND NOT ($2 AND COALESCE((item.jsonb ->> 'discoverySuppress')::bool, false))), '[]'::jsonb) ) itemsAndHoldings FROM test_tenant_mod_inventory_storage.holdings_record hr JOIN test_tenant_mod_inventory_storage.instance i ON i.id = hr.instanceid JOIN viewInstances vi ON vi.instId = i.id LEFT JOIN test_tenant_mod_inventory_storage.item item ON item.holdingsrecordid = hr.id -- Item's Effective location relation LEFT JOIN viewLocations itemEffLoc ON (item.jsonb ->> 'effectiveLocationId')::uuid = itemEffLoc.locId -- Item's Permanent location relation LEFT JOIN viewLocations itemPermLoc ON (item.jsonb ->> 'permanentLocationId')::uuid = itemPermLoc.locId -- Item's Temporary location relation LEFT JOIN viewLocations itemTempLoc ON (item.jsonb ->> 'temporaryLocationId')::uuid = itemTempLoc.locId -- Item's Material type relation LEFT JOIN test_tenant_mod_inventory_storage.material_type mt ON item.materialtypeid = mt.id -- Item's Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type cnt ON (item.jsonb #>> '{effectiveCallNumberComponents, typeId}')::uuid = cnt.id -- Item's Damaged status relation LEFT JOIN test_tenant_mod_inventory_storage.item_damaged_status itemDmgStat ON (item.jsonb ->> 'itemDamagedStatusId')::uuid = itemDmgStat.id -- Item's Permanent loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type plt ON (item.jsonb ->> 'permanentLoanTypeId')::uuid = plt.id -- Item's Temporary loan type relation LEFT JOIN test_tenant_mod_inventory_storage.loan_type tlt ON (item.jsonb ->> 'temporaryLoanTypeId')::uuid = tlt.id -- Holdings type relation LEFT JOIN test_tenant_mod_inventory_storage.holdings_type ht ON ht.id = hr.holdingstypeid -- Holdings Permanent location relation LEFT JOIN viewLocations holdPermLoc ON (hr.jsonb ->> 'permanentLocationId')::uuid = holdPermLoc.locId -- Holdings Temporary location relation LEFT JOIN viewLocations holdTempLoc ON (hr.jsonb ->> 'temporaryLocationId')::uuid = holdTempLoc.locId -- Holdings Effective location relation LEFT JOIN viewLocations holdEffLoc ON (hr.jsonb ->> 'effectiveLocationId')::uuid = holdEffLoc.locId -- Holdings Call number type relation LEFT JOIN test_tenant_mod_inventory_storage.call_number_type hrcnt ON (hr.jsonb ->> 'callNumberTypeId')::uuid = hrcnt.id -- Holdings Ill policy relation LEFT JOIN test_tenant_mod_inventory_storage.ill_policy ilp ON hr.illpolicyid = ilp.id WHERE true AND NOT ($2 AND COALESCE((hr.jsonb ->> 'discoverySuppress')::bool, false)) GROUP BY 1 ) itemAndHoldingsAttrs ) -- Instances with items and holding records SELECT vi.instId AS "instanceId", vi.source AS "source", vi.modeOfIssuance AS "modeOfIssuance", vi.natureOfContent AS "natureOfContent", COALESCE(viah.records -> 'holdings', '[]'::jsonb) AS "holdings", COALESCE(viah.records -> 'items', '[]'::jsonb) AS "items" FROM viewInstances vi LEFT JOIN viewItemsAndHoldings viah ON viah.instId = vi.instId $BODY$ LANGUAGE sql; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} SET search_path TO test_tenant_mod_inventory_storage; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed SET search_path TO test_tenant_mod_inventory_storage; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} START TRANSACTION; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed START TRANSACTION; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE INDEX IF NOT EXISTS instance_publication_period on test_tenant_mod_inventory_storage.instance ((jsonb -> 'publicationPeriod')); 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE INDEX IF NOT EXISTS instance_publication_period on test_tenant_mod_inventory_storage.instance ((jsonb -> 'publicationPeriod')); 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE instance DISABLE TRIGGER USER; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE instance DISABLE TRIGGER USER; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION parse_start_year(jsonb) RETURNS int AS $$ SELECT COALESCE( (regexp_match($1->'publication'->0->>'dateOfPublication', '(\d{4})\w{0,2}(?:\s?-|\sand|\s?,)'))[1], (regexp_match($1->'publication'->0->>'dateOfPublication', '\d{4}'))[1] )::int; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION parse_start_year(jsonb) RETURNS int AS $$ SELECT COALESCE( (regexp_match($1->'publication'->0->>'dateOfPublication', '(\d{4})\w{0,2}(?:\s?-|\sand|\s?,)'))[1], (regexp_match($1->'publication'->0->>'dateOfPublication', '\d{4}'))[1] )::int; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION parse_end_year(jsonb) RETURNS int AS $$ SELECT COALESCE( (regexp_match($1->'publication'->-1->>'dateOfPublication', '(?:-\s?|and\s|,\s?)\w{0,2}(\d{4})'))[1], (regexp_match($1->'publication'->-1->>'dateOfPublication', '\d{4}'))[1], (regexp_match($1->'publication'-> 0->>'dateOfPublication', '(?:-\s?|and\s|,\s?)\w{0,2}(\d{4})'))[1], (regexp_match($1->'publication'-> 0->>'dateOfPublication', '\d{4}'))[1] )::int; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION parse_end_year(jsonb) RETURNS int AS $$ SELECT COALESCE( (regexp_match($1->'publication'->-1->>'dateOfPublication', '(?:-\s?|and\s|,\s?)\w{0,2}(\d{4})'))[1], (regexp_match($1->'publication'->-1->>'dateOfPublication', '\d{4}'))[1], (regexp_match($1->'publication'-> 0->>'dateOfPublication', '(?:-\s?|and\s|,\s?)\w{0,2}(\d{4})'))[1], (regexp_match($1->'publication'-> 0->>'dateOfPublication', '\d{4}'))[1] )::int; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION parse_publication_period(jsonb) RETURNS jsonb AS $$ SELECT CASE WHEN $1->'publication' IS NULL THEN NULL WHEN jsonb_array_length($1->'publication') = 0 THEN NULL WHEN parse_start_year($1) IS NULL AND parse_end_year($1) IS NULL THEN NULL WHEN parse_start_year($1) IS NULL THEN jsonb_build_object('end', parse_end_year($1)) WHEN parse_end_year($1) IS NULL OR parse_start_year($1) >= parse_end_year($1) THEN jsonb_build_object('start', parse_start_year($1)) ELSE jsonb_build_object('start', parse_start_year($1), 'end', parse_end_year($1)) END; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION parse_publication_period(jsonb) RETURNS jsonb AS $$ SELECT CASE WHEN $1->'publication' IS NULL THEN NULL WHEN jsonb_array_length($1->'publication') = 0 THEN NULL WHEN parse_start_year($1) IS NULL AND parse_end_year($1) IS NULL THEN NULL WHEN parse_start_year($1) IS NULL THEN jsonb_build_object('end', parse_end_year($1)) WHEN parse_end_year($1) IS NULL OR parse_start_year($1) >= parse_end_year($1) THEN jsonb_build_object('start', parse_start_year($1)) ELSE jsonb_build_object('start', parse_start_year($1), 'end', parse_end_year($1)) END; $$ LANGUAGE sql IMMUTABLE PARALLEL SAFE STRICT; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE instance SET jsonb = jsonb_set(jsonb, '{publicationPeriod}', parse_publication_period(jsonb)) WHERE jsonb->>'publicationPeriod' IS NULL AND parse_publication_period(jsonb) IS NOT NULL; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed UPDATE instance SET jsonb = jsonb_set(jsonb, '{publicationPeriod}', parse_publication_period(jsonb)) WHERE jsonb->>'publicationPeriod' IS NULL AND parse_publication_period(jsonb) IS NOT NULL; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} ALTER TABLE instance ENABLE TRIGGER USER; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed ALTER TABLE instance ENABLE TRIGGER USER; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} DROP FUNCTION parse_start_year(jsonb), parse_end_year(jsonb), parse_publication_period(jsonb); 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed DROP FUNCTION parse_start_year(jsonb), parse_end_year(jsonb), parse_publication_period(jsonb); 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} DROP INDEX IF EXISTS instance_publication_period; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed DROP INDEX IF EXISTS instance_publication_period; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} END TRANSACTION; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed END TRANSACTION; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} SET search_path TO test_tenant_mod_inventory_storage; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed SET search_path TO test_tenant_mod_inventory_storage; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE OR REPLACE FUNCTION check_statistical_code_references() RETURNS TRIGGER AS $$ DECLARE invalid text; BEGIN SELECT ref INTO invalid FROM jsonb_array_elements_text(NEW.jsonb->'statisticalCodeIds') ref LEFT JOIN statistical_code ON id=ref::uuid WHERE id IS NULL LIMIT 1; IF FOUND THEN RAISE foreign_key_violation USING MESSAGE='statistical code doesn''t exist: ' || invalid, DETAIL='foreign key violation in statisticalCodeIds array of ' || TG_TABLE_NAME || ' with id=' || NEW.id, SCHEMA=TG_TABLE_SCHEMA, TABLE=TG_TABLE_NAME; END IF; RETURN NEW; END; $$ LANGUAGE plpgsql; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE OR REPLACE FUNCTION check_statistical_code_references() RETURNS TRIGGER AS $$ DECLARE invalid text; BEGIN SELECT ref INTO invalid FROM jsonb_array_elements_text(NEW.jsonb->'statisticalCodeIds') ref LEFT JOIN statistical_code ON id=ref::uuid WHERE id IS NULL LIMIT 1; IF FOUND THEN RAISE foreign_key_violation USING MESSAGE='statistical code doesn''t exist: ' || invalid, DETAIL='foreign key violation in statisticalCodeIds array of ' || TG_TABLE_NAME || ' with id=' || NEW.id, SCHEMA=TG_TABLE_SCHEMA, TABLE=TG_TABLE_NAME; END IF; RETURN NEW; END; $$ LANGUAGE plpgsql; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS check_statistical_code_references_on_insert ON item CASCADE; 09:33:43 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "check_statistical_code_references_on_insert" for relation "item" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS check_statistical_code_references_on_insert ON item CASCADE; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER check_statistical_code_references_on_insert BEFORE INSERT ON item FOR EACH ROW WHEN (NEW.jsonb->'statisticalCodeIds' IS NOT NULL AND NEW.jsonb->'statisticalCodeIds' <> '[]') EXECUTE FUNCTION check_statistical_code_references(); 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER check_statistical_code_references_on_insert BEFORE INSERT ON item FOR EACH ROW WHEN (NEW.jsonb->'statisticalCodeIds' IS NOT NULL AND NEW.jsonb->'statisticalCodeIds' <> '[]') EXECUTE FUNCTION check_statistical_code_references(); 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} DROP TRIGGER IF EXISTS check_statistical_code_references_on_update ON item CASCADE; 09:33:43 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='trigger "check_statistical_code_references_on_update" for relation "item" does not exist, skipping', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dropcmds.c', line='491', routine='does_not_exist_skipping', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed DROP TRIGGER IF EXISTS check_statistical_code_references_on_update ON item CASCADE; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} CREATE TRIGGER check_statistical_code_references_on_update BEFORE UPDATE ON item FOR EACH ROW WHEN (NEW.jsonb->'statisticalCodeIds' IS NOT NULL AND NEW.jsonb->'statisticalCodeIds' <> '[]' AND OLD.jsonb->'statisticalCodeIds' IS DISTINCT FROM NEW.jsonb->'statisticalCodeIds') EXECUTE FUNCTION check_statistical_code_references(); 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed CREATE TRIGGER check_statistical_code_references_on_update BEFORE UPDATE ON item FOR EACH ROW WHEN (NEW.jsonb->'statisticalCodeIds' IS NOT NULL AND NEW.jsonb->'statisticalCodeIds' <> '[]' AND OLD.jsonb->'statisticalCodeIds' IS DISTINCT FROM NEW.jsonb->'statisticalCodeIds') EXECUTE FUNCTION check_statistical_code_references(); 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE aname TEXT; BEGIN FOR aname IN SELECT name FROM test_tenant_mod_inventory_storage.rmb_internal_index WHERE remove = TRUE LOOP EXECUTE 'DROP INDEX IF EXISTS ' || aname; END LOOP; END $$; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE aname TEXT; BEGIN FOR aname IN SELECT name FROM test_tenant_mod_inventory_storage.rmb_internal_index WHERE remove = TRUE LOOP EXECUTE 'DROP INDEX IF EXISTS ' || aname; END LOOP; END $$; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE version TEXT; i RECORD; newindexdef TEXT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM test_tenant_mod_inventory_storage.rmb_internal; IF version !~ '^(\d\.|1\d\.|2[0-8]\.|29\.[0-3]\.)' THEN -- skip this upgrade if last install/upgrade was made by RMB >= 29.4.x RETURN; END IF; FOR i IN SELECT * FROM pg_catalog.pg_indexes WHERE schemaname = 'test_tenant_mod_inventory_storage' LOOP newindexdef := regexp_replace(i.indexdef, -- \m = beginning of a word, \M = end of a word '\mpublic\.(f_unaccent|concat_space_sql|concat_array_object_values|concat_array_object)\M', 'test_tenant_mod_inventory_storage.\1', 'g'); IF newindexdef <> i.indexdef THEN EXECUTE 'DROP INDEX ' || i.indexname; EXECUTE newindexdef; EXECUTE 'INSERT INTO rmb_internal_analyze VALUES ($1)' USING i.tablename; END IF; END LOOP; END $$; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE version TEXT; i RECORD; newindexdef TEXT; BEGIN SELECT jsonb->>'rmbVersion' INTO version FROM test_tenant_mod_inventory_storage.rmb_internal; IF version !~ '^(\d\.|1\d\.|2[0-8]\.|29\.[0-3]\.)' THEN -- skip this upgrade if last install/upgrade was made by RMB >= 29.4.x RETURN; END IF; FOR i IN SELECT * FROM pg_catalog.pg_indexes WHERE schemaname = 'test_tenant_mod_inventory_storage' LOOP newindexdef := regexp_replace(i.indexdef, -- \m = beginning of a word, \M = end of a word '\mpublic\.(f_unaccent|concat_space_sql|concat_array_object_values|concat_array_object)\M', 'test_tenant_mod_inventory_storage.\1', 'g'); IF newindexdef <> i.indexdef THEN EXECUTE 'DROP INDEX ' || i.indexname; EXECUTE newindexdef; EXECUTE 'INSERT INTO rmb_internal_analyze VALUES ($1)' USING i.tablename; END IF; END LOOP; END $$; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} DO $$ DECLARE t TEXT; BEGIN FOR t IN SELECT DISTINCT tablename FROM rmb_internal_analyze LOOP EXECUTE 'ANALYZE ' || t; END LOOP; END $$; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed DO $$ DECLARE t TEXT; BEGIN FOR t IN SELECT DISTINCT tablename FROM rmb_internal_analyze LOOP EXECUTE 'ANALYZE ' || t; END LOOP; END $$; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} TRUNCATE rmb_internal_analyze; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed TRUNCATE rmb_internal_analyze; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA test_tenant_mod_inventory_storage TO test_tenant_mod_inventory_storage; 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA test_tenant_mod_inventory_storage TO test_tenant_mod_inventory_storage; 09:33:43 [] [] [] [] INFO PostgresClient trying to execute: {} UPDATE test_tenant_mod_inventory_storage.rmb_internal SET jsonb = jsonb || jsonb_build_object( 'rmbVersion', '33.1.1', 'moduleVersion', 'mod-inventory-storage-1.0.0', 'schemaJson', $mainftl${ "tables": [ { "tableName": "authority", "fromModuleVersion": "22.1.0", "withMetadata": true, "withAuditing": false, "withOptimisticLocking": "logOnConflict" }, { "tableName": "loan_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "material_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "locinstitution", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "loccampus", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ], "foreignKeys": [ { "fieldName": "institutionId", "targetTable": "locinstitution", "tOps": "ADD" } ] }, { "tableName": "loclibrary", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ], "foreignKeys": [ { "fieldName": "campusId", "targetTable": "loccampus", "tOps": "ADD" } ] }, { "tableName": "location", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" }, { "fieldName": "code", "tOps": "ADD" } ], "foreignKeys": [ { "fieldName": "institutionId", "targetTable": "locinstitution", "tOps": "ADD" }, { "fieldName": "campusId", "targetTable": "loccampus", "tOps": "ADD" }, { "fieldName": "libraryId", "targetTable": "loclibrary", "tOps": "ADD" } ], "index": [ { "fieldName": "primaryServicePoint", "tOps": "ADD", "caseSensitive": false, "removeAccents": false } ] }, { "tableName": "service_point", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" }, { "fieldName": "code", "tOps": "ADD" } ], "index": [ { "fieldName": "pickupLocation", "tOps": "ADD", "caseSensitive": false, "removeAccents": false } ] }, { "tableName": "service_point_user", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "userId", "tOps": "ADD" } ], "foreignKeys": [ { "fieldName": "defaultServicePointId", "targetTable": "service_point", "tOps": "ADD" } ] }, { "tableName": "identifier_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "instance_relationship_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "contributor_type", "withMetadata": false, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" }, { "fieldName": "code", "tOps": "ADD" } ] }, { "tableName": "contributor_name_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "instance_type", "withMetadata": false, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" }, { "fieldName": "code", "tOps": "ADD" } ] }, { "tableName": "instance_format", "withMetadata": false, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" }, { "fieldName": "code", "tOps": "ADD" } ] }, { "tableName": "nature_of_content_term", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "classification_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "electronic_access_relationship", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "statistical_code_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "code", "tOps": "ADD" } ] }, { "tableName": "statistical_code", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "code, statisticalCodeTypeId", "tOps": "ADD" }, { "fieldName": "name", "tOps": "ADD" } ], "foreignKeys": [ { "fieldName": "statisticalCodeTypeId", "targetTable": "statistical_code_type", "tOps": "ADD" } ] }, { "tableName": "instance_status", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" }, { "fieldName": "code", "tOps": "ADD" } ] }, { "tableName": "mode_of_issuance", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "alternative_title_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "instance", "fromModuleVersion": "19.2.0", "withMetadata": true, "withAuditing": true, "withOptimisticLocking": "logOnConflict", "auditingTableName": "audit_instance", "auditingFieldName": "record", "customSnippetPath": "audit-delete-trigger.sql", "foreignKeys": [ { "fieldName": "instanceStatusId", "targetTable": "instance_status", "tOps": "ADD" }, { "fieldName": "modeOfIssuanceId", "targetTable": "mode_of_issuance", "tOps": "ADD" }, { "fieldName": "instanceTypeId", "targetTable": "instance_type", "tOps": "ADD" } ], "uniqueIndex": [ { "fieldName": "hrid", "tOps": "ADD" }, { "fieldName": "matchKey", "tOps": "ADD" } ], "ginIndex": [ { "fieldName": "title", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "indexTitle", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "contributors", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "identifiers", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "subjects", "tOps": "DELETE", "caseSensitive": false, "removeAccents": true } ], "index": [ { "fieldName": "source", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "indexTitle", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "title", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "statisticalCodeIds", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "contributors", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "publication", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "staffSuppress", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "discoverySuppress", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "metadata.updatedDate", "tOps": "ADD", "caseSensitive": false, "removeAccents": false } ], "fullTextIndex": [ { "fieldName": "classifications", "arraySubfield" : "classificationNumber", "arrayModifiers": ["classificationTypeId"] }, { "fieldName": "keyword", "multiFieldNames": "title,indexTitle,alternativeTitles[*].alternativeTitle,series,contributors[*].name,identifiers[*].value" }, { "fieldName": "allTitles", "multiFieldNames": "title,indexTitle,alternativeTitles[*].alternativeTitle,series" }, { "fieldName": "contributorsNames", "multiFieldNames": "contributors[*].name" }, { "fieldName": "title" }, { "fieldName": "languages" }, { "fieldName": "contributors", "arraySubfield" : "name", "arrayModifiers": ["contributorNameTypeId"] }, { "fieldName": "identifiers", "arraySubfield" : "value", "arrayModifiers": ["identifierTypeId"] }, { "fieldName": "invalidIsbn", "sqlExpression" : "normalize_invalid_isbns(jsonb->'identifiers')", "sqlExpressionQuery": "normalize_digits($)" }, { "fieldName": "isbn", "sqlExpression" : "normalize_isbns(jsonb->'identifiers')", "sqlExpressionQuery": "normalize_digits($)" }, { "fieldName": "dateOfPublication", "sqlExpression" : "concat_array_object_values(jsonb->'publication', 'dateOfPublication')" }, { "fieldName": "subjects", "tOps": "ADD", "caseSensitive": false, "removeAccents": true } ] }, { "tableName": "instance_relationship", "withMetadata": true, "foreignKeys": [ { "fieldName": "superInstanceId", "targetTable": "instance", "tOps": "ADD" }, { "fieldName": "subInstanceId", "targetTable": "instance", "tOps": "ADD" }, { "fieldName": "instanceRelationshipTypeId", "targetTable": "instance_relationship_type", "tOps": "ADD" } ] }, { "tableName": "instance_source_marc", "withMetadata": true, "customSnippetPath": "instanceSourceMarc.sql" }, { "tableName": "ill_policy", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "call_number_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "holdings_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "authority_note_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "instance_note_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "holdings_note_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "item_note_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "item_damaged_status", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "holdings_records_source", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "holdings_record", "fromModuleVersion": "19.2.0", "withMetadata": true, "withAuditing": true, "withOptimisticLocking": "logOnConflict", "auditingTableName": "audit_holdings_record", "auditingFieldName": "record", "customSnippetPath": "audit-delete-trigger.sql", "foreignKeys": [ { "fieldName": "instanceId", "targetTable": "instance", "tableAlias" : "holdingsRecords", "tOps": "ADD" }, { "fieldName": "permanentLocationId", "targetTable": "location", "tOps": "ADD" }, { "fieldName": "temporaryLocationId", "targetTable": "location", "tOps": "ADD" }, { "fieldName": "effectiveLocationId", "targetTable": "location", "tOps": "ADD" }, { "fieldName": "holdingsTypeId", "targetTable": "holdings_type", "tOps": "ADD" }, { "fieldName": "callNumberTypeId", "targetTable": "call_number_type", "tOps": "ADD" }, { "fieldName": "illPolicyId", "targetTable": "ill_policy", "tOps": "ADD" }, { "fieldName": "sourceId", "targetTable": "holdings_records_source", "tOps": "ADD" } ], "uniqueIndex": [ { "fieldName": "hrid", "tOps": "ADD" } ], "ginIndex": [ { "fieldName": "electronicAccess", "tOps": "ADD", "caseSensitive": false, "removeAccents": true } ], "index": [ { "fieldName": "callNumber", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "callNumberAndSuffix", "multiFieldNames": "callNumber, callNumberSuffix", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "fullCallNumber", "multiFieldNames": "callNumberPrefix, callNumber, callNumberSuffix", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "discoverySuppress", "tOps": "ADD", "caseSensitive": false, "removeAccents": false } ], "fullTextIndex": [ { "fieldName": "callNumberAndSuffixNormalized", "sqlExpression" : "normalize_holdings_call_number_and_suffix(jsonb)", "sqlExpressionQuery": "normalize_call_number_string($) || '*'" }, { "fieldName": "fullCallNumberNormalized", "sqlExpression" : "normalize_holdings_full_call_number(jsonb)", "sqlExpressionQuery": "normalize_call_number_string($) || '*'" } ] }, { "tableName": "item", "withMetadata": true, "fromModuleVersion": "19.2.0", "withAuditing": true, "withOptimisticLocking": "logOnConflict", "auditingTableName": "audit_item", "auditingFieldName": "record", "customSnippetPath": "audit-delete-trigger.sql", "foreignKeys": [ { "fieldName": "holdingsRecordId", "targetTable": "holdings_record", "targetTableAlias" : "holdingsRecords", "tableAlias": "item", "tOps": "ADD" }, { "targetPath": ["holdingsRecordId", "instanceId"], "targetTable": "instance", "targetTableAlias": "instance", "tableAlias": "item" }, { "fieldName": "permanentLoanTypeId", "targetTable": "loan_type", "tOps": "ADD" }, { "fieldName": "temporaryLoanTypeId", "targetTable": "loan_type", "tOps": "ADD" }, { "fieldName": "materialTypeId", "targetTable": "material_type", "tOps": "ADD" }, { "fieldName": "permanentLocationId", "targetTable": "location", "tOps": "ADD" }, { "fieldName": "temporaryLocationId", "targetTable": "location", "tOps": "ADD" }, { "fieldName": "effectiveLocationId", "targetTable": "location", "tOps": "ADD" } ], "uniqueIndex": [ { "fieldName": "barcode", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "hrid", "tOps": "ADD" } ], "index": [ { "fieldName": "accessionNumber", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "status.name", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "callNumberAndSuffix", "multiFieldNames": "effectiveCallNumberComponents.callNumber, effectiveCallNumberComponents.suffix", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "fullCallNumber", "multiFieldNames": "effectiveCallNumberComponents.prefix, effectiveCallNumberComponents.callNumber, effectiveCallNumberComponents.suffix", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "discoverySuppress", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "purchaseOrderLineIdentifier", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "effectiveCallNumberComponents.callNumber", "tOps": "ADD", "caseSensitive": false, "removeAccents": false } ], "ginIndex": [ { "fieldName": "status.name", "tOps": "ADD", "caseSensitive": false, "removeAccents": true } ], "fullTextIndex": [ { "fieldName": "callNumberAndSuffixNormalized", "sqlExpression" : "normalize_item_call_number_and_suffix(jsonb)", "sqlExpressionQuery": "normalize_call_number_string($) || '*'" }, { "fieldName": "fullCallNumberNormalized", "sqlExpression" : "normalize_item_full_call_number(jsonb)", "sqlExpressionQuery": "normalize_call_number_string($) || '*'" } ] }, { "tableName": "hrid_settings", "fromModuleVersion": "17.1.0", "withMetadata": false, "withAuditing": false, "customSnippetPath": "hridSettings.sql" }, { "tableName": "preceding_succeeding_title", "fromModuleVersion": "19.0.0", "withMetadata": true, "foreignKeys": [ { "fieldName": "precedingInstanceId", "targetTable": "instance" }, { "fieldName": "succeedingInstanceId", "targetTable": "instance" } ], "customSnippetPath": "alterPrecedingSucceedingTitle.sql" }, { "tableName": "reindex_job", "withMetadata": false, "withAuditing": false }, { "tableName": "bound_with_part", "withMetadata": true, "foreignKeys": [ { "fieldName": "itemId", "targetTable": "item", "tOps": "ADD" }, { "fieldName": "holdingsRecordId", "targetTable": "holdings_record", "tOps": "ADD" } ], "uniqueIndex": [ { "fieldName": "itemId, holdingsRecordId", "tOps": "ADD" } ] }, { "tableName": "notification_sending_error", "withMetadata": false, "withAuditing": false }, { "tableName": "iteration_job", "withMetadata": false, "withAuditing": false } ], "scripts": [ { "run":"after", "snippetPath":"setPreviouslyHeldDefault.sql", "fromModuleVersion":"20.2.0" }, { "run": "before", "snippetPath": "populateRmbInternalIndex.sql", "fromModuleVersion": "19.1.1" }, { "run": "before", "snippetPath": "createIsbnFunctions.sql", "fromModuleVersion": "19.2.0" }, { "run": "before", "snippetPath": "createCallNumberNormalizationFunctions.sql", "fromModuleVersion": "19.2.0" }, { "run":"after", "snippetPath":"setEffectiveHoldingsLocation.sql", "fromModuleVersion":"20.1.0" }, { "run": "after", "snippetPath": "dropLegacyItemEffectiveLocationTriggers.sql", "fromModuleVersion": "19.5.0" }, { "run": "after", "snippetPath": "populateRetainLeadingZeroesSetting.sql", "fromModuleVersion": "19.5.0" }, { "run": "after", "snippetPath": "populateEffectiveLocationForExistingItems.sql", "fromModuleVersion": "17.1.0" }, { "run": "after", "snippetPath": "populateEffectiveLocationForeignKey.sql", "fromModuleVersion": "18.2.0" }, { "run": "after", "snippetPath": "populateEffectiveCallNumberComponentsForExistingItems.sql", "fromModuleVersion": "18.3.0" }, { "run": "after", "snippetPath": "removeOldHridOperations.sql", "fromModuleVersion": "17.1.0" }, { "run": "after", "snippetPath": "instanceStatusUpdatedDateTrigger.sql", "fromModuleVersion": "17.1.0" }, { "run": "after", "snippetPath": "updateItemStatusDate.sql", "fromModuleVersion": "19.2.0" }, { "run": "after", "snippetPath": "alterHridSequences.sql", "fromModuleVersion": "18.2.0" }, { "run": "after", "snippetPath": "migrateItemCopyNumberToSingleValue.sql", "fromModuleVersion": "19.0.0" }, { "run": "after", "snippetPath": "renameModesOfIssuance.sql", "fromModuleVersion": "19.0.0" }, { "run": "after", "snippetPath": "migratePrecedingSucceedingTitles.sql", "fromModuleVersion": "19.0.0" }, { "run": "after", "snippetPath": "populateDiscoverySuppressIfNotSet.sql", "fromModuleVersion": "19.0.0" }, { "run": "after", "snippetPath": "oaipmh/createOaiPmhViewFunction.sql", "fromModuleVersion": "19.3.1" }, { "run": "after", "snippetPath": "removeOldPrecedingSucceedingTitles.sql", "fromModuleVersion": "19.2.0" }, { "run": "after", "snippetPath": "inventory-hierarchy/createRecordsViewFunction.sql", "fromModuleVersion": "19.4.0" }, { "run": "after", "snippetPath": "updateIllPolicyWillNotLend.sql", "fromModuleVersion": "19.4.0" }, { "run": "after", "snippetPath": "addIdentifierTypeCancelledSystemControlNumber.sql", "fromModuleVersion": "19.4.0" }, { "run": "after", "snippetPath": "inventory-hierarchy/addNullChecksToRecordsViewFunctions.sql", "fromModuleVersion": "19.5.0" }, { "run": "after", "snippetPath": "instance-hr-item/instance-hr-item-view.sql", "fromModuleVersion": "19.5.0" }, { "run": "after", "snippetPath": "inventory-hierarchy/addEffectiveHoldingsToItemsAndHoldingsView.sql", "fromModuleVersion": "20.3.0" }, { "run": "after", "snippetPath": "addInstanceFormatsAudioBelt.sql", "fromModuleVersion": "20.3.0" }, { "run": "after", "snippetPath": "dropLegacyItemEffectiveLocationFunctions.sql", "fromModuleVersion": "21.1.0" }, { "run": "after", "snippetPath": "addIdentifierTypesUpcIsmn.sql", "fromModuleVersion": "21.1.0" }, { "run": "after", "snippetPath": "inventory-hierarchy/addHoldingsIfItemsSuppressedItemsAndHoldingsView.sql", "fromModuleVersion": "22.0.0" }, { "run": "after", "snippetPath": "populatePublicationPeriod.sql", "fromModuleVersion": "22.1.0" }, { "run": "after", "snippetPath": "itemStatisticalCodeReferenceCheckTrigger.sql", "fromModuleVersion": "22.1.0" } ] } $mainftl$); 09:33:43 [] [] [] [] INFO PostgresClient Successfully executed UPDATE test_tenant_mod_inventory_storage.rmb_internal SET jsonb = jsonb || jsonb_build_object( 'rmbVersion', '33.1.1', 'moduleVersion', 'mod-inventory-storage-1.0.0', 'schemaJson', $mainftl${ "tables": [ { "tableName": "authority", "fromModuleVersion": "22.1.0", "withMetadata": true, "withAuditing": false, "withOptimisticLocking": "logOnConflict" }, { "tableName": "loan_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "material_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "locinstitution", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "loccampus", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ], "foreignKeys": [ { "fieldName": "institutionId", "targetTable": "locinstitution", "tOps": "ADD" } ] }, { "tableName": "loclibrary", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ], "foreignKeys": [ { "fieldName": "campusId", "targetTable": "loccampus", "tOps": "ADD" } ] }, { "tableName": "location", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" }, { "fieldName": "code", "tOps": "ADD" } ], "foreignKeys": [ { "fieldName": "institutionId", "targetTable": "locinstitution", "tOps": "ADD" }, { "fieldName": "campusId", "targetTable": "loccampus", "tOps": "ADD" }, { "fieldName": "libraryId", "targetTable": "loclibrary", "tOps": "ADD" } ], "index": [ { "fieldName": "primaryServicePoint", "tOps": "ADD", "caseSensitive": false, "removeAccents": false } ] }, { "tableName": "service_point", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" }, { "fieldName": "code", "tOps": "ADD" } ], "index": [ { "fieldName": "pickupLocation", "tOps": "ADD", "caseSensitive": false, "removeAccents": false } ] }, { "tableName": "service_point_user", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "userId", "tOps": "ADD" } ], "foreignKeys": [ { "fieldName": "defaultServicePointId", "targetTable": "service_point", "tOps": "ADD" } ] }, { "tableName": "identifier_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "instance_relationship_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "contributor_type", "withMetadata": false, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" }, { "fieldName": "code", "tOps": "ADD" } ] }, { "tableName": "contributor_name_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "instance_type", "withMetadata": false, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" }, { "fieldName": "code", "tOps": "ADD" } ] }, { "tableName": "instance_format", "withMetadata": false, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" }, { "fieldName": "code", "tOps": "ADD" } ] }, { "tableName": "nature_of_content_term", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "classification_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "electronic_access_relationship", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "statistical_code_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "code", "tOps": "ADD" } ] }, { "tableName": "statistical_code", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "code, statisticalCodeTypeId", "tOps": "ADD" }, { "fieldName": "name", "tOps": "ADD" } ], "foreignKeys": [ { "fieldName": "statisticalCodeTypeId", "targetTable": "statistical_code_type", "tOps": "ADD" } ] }, { "tableName": "instance_status", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" }, { "fieldName": "code", "tOps": "ADD" } ] }, { "tableName": "mode_of_issuance", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "alternative_title_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "instance", "fromModuleVersion": "19.2.0", "withMetadata": true, "withAuditing": true, "withOptimisticLocking": "logOnConflict", "auditingTableName": "audit_instance", "auditingFieldName": "record", "customSnippetPath": "audit-delete-trigger.sql", "foreignKeys": [ { "fieldName": "instanceStatusId", "targetTable": "instance_status", "tOps": "ADD" }, { "fieldName": "modeOfIssuanceId", "targetTable": "mode_of_issuance", "tOps": "ADD" }, { "fieldName": "instanceTypeId", "targetTable": "instance_type", "tOps": "ADD" } ], "uniqueIndex": [ { "fieldName": "hrid", "tOps": "ADD" }, { "fieldName": "matchKey", "tOps": "ADD" } ], "ginIndex": [ { "fieldName": "title", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "indexTitle", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "contributors", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "identifiers", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "subjects", "tOps": "DELETE", "caseSensitive": false, "removeAccents": true } ], "index": [ { "fieldName": "source", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "indexTitle", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "title", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "statisticalCodeIds", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "contributors", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "publication", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "staffSuppress", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "discoverySuppress", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "metadata.updatedDate", "tOps": "ADD", "caseSensitive": false, "removeAccents": false } ], "fullTextIndex": [ { "fieldName": "classifications", "arraySubfield" : "classificationNumber", "arrayModifiers": ["classificationTypeId"] }, { "fieldName": "keyword", "multiFieldNames": "title,indexTitle,alternativeTitles[*].alternativeTitle,series,contributors[*].name,identifiers[*].value" }, { "fieldName": "allTitles", "multiFieldNames": "title,indexTitle,alternativeTitles[*].alternativeTitle,series" }, { "fieldName": "contributorsNames", "multiFieldNames": "contributors[*].name" }, { "fieldName": "title" }, { "fieldName": "languages" }, { "fieldName": "contributors", "arraySubfield" : "name", "arrayModifiers": ["contributorNameTypeId"] }, { "fieldName": "identifiers", "arraySubfield" : "value", "arrayModifiers": ["identifierTypeId"] }, { "fieldName": "invalidIsbn", "sqlExpression" : "normalize_invalid_isbns(jsonb->'identifiers')", "sqlExpressionQuery": "normalize_digits($)" }, { "fieldName": "isbn", "sqlExpression" : "normalize_isbns(jsonb->'identifiers')", "sqlExpressionQuery": "normalize_digits($)" }, { "fieldName": "dateOfPublication", "sqlExpression" : "concat_array_object_values(jsonb->'publication', 'dateOfPublication')" }, { "fieldName": "subjects", "tOps": "ADD", "caseSensitive": false, "removeAccents": true } ] }, { "tableName": "instance_relationship", "withMetadata": true, "foreignKeys": [ { "fieldName": "superInstanceId", "targetTable": "instance", "tOps": "ADD" }, { "fieldName": "subInstanceId", "targetTable": "instance", "tOps": "ADD" }, { "fieldName": "instanceRelationshipTypeId", "targetTable": "instance_relationship_type", "tOps": "ADD" } ] }, { "tableName": "instance_source_marc", "withMetadata": true, "customSnippetPath": "instanceSourceMarc.sql" }, { "tableName": "ill_policy", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "call_number_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "holdings_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "authority_note_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "instance_note_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "holdings_note_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "item_note_type", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "item_damaged_status", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "holdings_records_source", "withMetadata": true, "withAuditing": false, "uniqueIndex": [ { "fieldName": "name", "tOps": "ADD" } ] }, { "tableName": "holdings_record", "fromModuleVersion": "19.2.0", "withMetadata": true, "withAuditing": true, "withOptimisticLocking": "logOnConflict", "auditingTableName": "audit_holdings_record", "auditingFieldName": "record", "customSnippetPath": "audit-delete-trigger.sql", "foreignKeys": [ { "fieldName": "instanceId", "targetTable": "instance", "tableAlias" : "holdingsRecords", "tOps": "ADD" }, { "fieldName": "permanentLocationId", "targetTable": "location", "tOps": "ADD" }, { "fieldName": "temporaryLocationId", "targetTable": "location", "tOps": "ADD" }, { "fieldName": "effectiveLocationId", "targetTable": "location", "tOps": "ADD" }, { "fieldName": "holdingsTypeId", "targetTable": "holdings_type", "tOps": "ADD" }, { "fieldName": "callNumberTypeId", "targetTable": "call_number_type", "tOps": "ADD" }, { "fieldName": "illPolicyId", "targetTable": "ill_policy", "tOps": "ADD" }, { "fieldName": "sourceId", "targetTable": "holdings_records_source", "tOps": "ADD" } ], "uniqueIndex": [ { "fieldName": "hrid", "tOps": "ADD" } ], "ginIndex": [ { "fieldName": "electronicAccess", "tOps": "ADD", "caseSensitive": false, "removeAccents": true } ], "index": [ { "fieldName": "callNumber", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "callNumberAndSuffix", "multiFieldNames": "callNumber, callNumberSuffix", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "fullCallNumber", "multiFieldNames": "callNumberPrefix, callNumber, callNumberSuffix", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "discoverySuppress", "tOps": "ADD", "caseSensitive": false, "removeAccents": false } ], "fullTextIndex": [ { "fieldName": "callNumberAndSuffixNormalized", "sqlExpression" : "normalize_holdings_call_number_and_suffix(jsonb)", "sqlExpressionQuery": "normalize_call_number_string($) || '*'" }, { "fieldName": "fullCallNumberNormalized", "sqlExpression" : "normalize_holdings_full_call_number(jsonb)", "sqlExpressionQuery": "normalize_call_number_string($) || '*'" } ] }, { "tableName": "item", "withMetadata": true, "fromModuleVersion": "19.2.0", "withAuditing": true, "withOptimisticLocking": "logOnConflict", "auditingTableName": "audit_item", "auditingFieldName": "record", "customSnippetPath": "audit-delete-trigger.sql", "foreignKeys": [ { "fieldName": "holdingsRecordId", "targetTable": "holdings_record", "targetTableAlias" : "holdingsRecords", "tableAlias": "item", "tOps": "ADD" }, { "targetPath": ["holdingsRecordId", "instanceId"], "targetTable": "instance", "targetTableAlias": "instance", "tableAlias": "item" }, { "fieldName": "permanentLoanTypeId", "targetTable": "loan_type", "tOps": "ADD" }, { "fieldName": "temporaryLoanTypeId", "targetTable": "loan_type", "tOps": "ADD" }, { "fieldName": "materialTypeId", "targetTable": "material_type", "tOps": "ADD" }, { "fieldName": "permanentLocationId", "targetTable": "location", "tOps": "ADD" }, { "fieldName": "temporaryLocationId", "targetTable": "location", "tOps": "ADD" }, { "fieldName": "effectiveLocationId", "targetTable": "location", "tOps": "ADD" } ], "uniqueIndex": [ { "fieldName": "barcode", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "hrid", "tOps": "ADD" } ], "index": [ { "fieldName": "accessionNumber", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "status.name", "tOps": "ADD", "caseSensitive": false, "removeAccents": true }, { "fieldName": "callNumberAndSuffix", "multiFieldNames": "effectiveCallNumberComponents.callNumber, effectiveCallNumberComponents.suffix", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "fullCallNumber", "multiFieldNames": "effectiveCallNumberComponents.prefix, effectiveCallNumberComponents.callNumber, effectiveCallNumberComponents.suffix", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "discoverySuppress", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "purchaseOrderLineIdentifier", "tOps": "ADD", "caseSensitive": false, "removeAccents": false }, { "fieldName": "effectiveCallNumberComponents.callNumber", "tOps": "ADD", "caseSensitive": false, "removeAccents": false } ], "ginIndex": [ { "fieldName": "status.name", "tOps": "ADD", "caseSensitive": false, "removeAccents": true } ], "fullTextIndex": [ { "fieldName": "callNumberAndSuffixNormalized", "sqlExpression" : "normalize_item_call_number_and_suffix(jsonb)", "sqlExpressionQuery": "normalize_call_number_string($) || '*'" }, { "fieldName": "fullCallNumberNormalized", "sqlExpression" : "normalize_item_full_call_number(jsonb)", "sqlExpressionQuery": "normalize_call_number_string($) || '*'" } ] }, { "tableName": "hrid_settings", "fromModuleVersion": "17.1.0", "withMetadata": false, "withAuditing": false, "customSnippetPath": "hridSettings.sql" }, { "tableName": "preceding_succeeding_title", "fromModuleVersion": "19.0.0", "withMetadata": true, "foreignKeys": [ { "fieldName": "precedingInstanceId", "targetTable": "instance" }, { "fieldName": "succeedingInstanceId", "targetTable": "instance" } ], "customSnippetPath": "alterPrecedingSucceedingTitle.sql" }, { "tableName": "reindex_job", "withMetadata": false, "withAuditing": false }, { "tableName": "bound_with_part", "withMetadata": true, "foreignKeys": [ { "fieldName": "itemId", "targetTable": "item", "tOps": "ADD" }, { "fieldName": "holdingsRecordId", "targetTable": "holdings_record", "tOps": "ADD" } ], "uniqueIndex": [ { "fieldName": "itemId, holdingsRecordId", "tOps": "ADD" } ] }, { "tableName": "notification_sending_error", "withMetadata": false, "withAuditing": false }, { "tableName": "iteration_job", "withMetadata": false, "withAuditing": false } ], "scripts": [ { "run":"after", "snippetPath":"setPreviouslyHeldDefault.sql", "fromModuleVersion":"20.2.0" }, { "run": "before", "snippetPath": "populateRmbInternalIndex.sql", "fromModuleVersion": "19.1.1" }, { "run": "before", "snippetPath": "createIsbnFunctions.sql", "fromModuleVersion": "19.2.0" }, { "run": "before", "snippetPath": "createCallNumberNormalizationFunctions.sql", "fromModuleVersion": "19.2.0" }, { "run":"after", "snippetPath":"setEffectiveHoldingsLocation.sql", "fromModuleVersion":"20.1.0" }, { "run": "after", "snippetPath": "dropLegacyItemEffectiveLocationTriggers.sql", "fromModuleVersion": "19.5.0" }, { "run": "after", "snippetPath": "populateRetainLeadingZeroesSetting.sql", "fromModuleVersion": "19.5.0" }, { "run": "after", "snippetPath": "populateEffectiveLocationForExistingItems.sql", "fromModuleVersion": "17.1.0" }, { "run": "after", "snippetPath": "populateEffectiveLocationForeignKey.sql", "fromModuleVersion": "18.2.0" }, { "run": "after", "snippetPath": "populateEffectiveCallNumberComponentsForExistingItems.sql", "fromModuleVersion": "18.3.0" }, { "run": "after", "snippetPath": "removeOldHridOperations.sql", "fromModuleVersion": "17.1.0" }, { "run": "after", "snippetPath": "instanceStatusUpdatedDateTrigger.sql", "fromModuleVersion": "17.1.0" }, { "run": "after", "snippetPath": "updateItemStatusDate.sql", "fromModuleVersion": "19.2.0" }, { "run": "after", "snippetPath": "alterHridSequences.sql", "fromModuleVersion": "18.2.0" }, { "run": "after", "snippetPath": "migrateItemCopyNumberToSingleValue.sql", "fromModuleVersion": "19.0.0" }, { "run": "after", "snippetPath": "renameModesOfIssuance.sql", "fromModuleVersion": "19.0.0" }, { "run": "after", "snippetPath": "migratePrecedingSucceedingTitles.sql", "fromModuleVersion": "19.0.0" }, { "run": "after", "snippetPath": "populateDiscoverySuppressIfNotSet.sql", "fromModuleVersion": "19.0.0" }, { "run": "after", "snippetPath": "oaipmh/createOaiPmhViewFunction.sql", "fromModuleVersion": "19.3.1" }, { "run": "after", "snippetPath": "removeOldPrecedingSucceedingTitles.sql", "fromModuleVersion": "19.2.0" }, { "run": "after", "snippetPath": "inventory-hierarchy/createRecordsViewFunction.sql", "fromModuleVersion": "19.4.0" }, { "run": "after", "snippetPath": "updateIllPolicyWillNotLend.sql", "fromModuleVersion": "19.4.0" }, { "run": "after", "snippetPath": "addIdentifierTypeCancelledSystemControlNumber.sql", "fromModuleVersion": "19.4.0" }, { "run": "after", "snippetPath": "inventory-hierarchy/addNullChecksToRecordsViewFunctions.sql", "fromModuleVersion": "19.5.0" }, { "run": "after", "snippetPath": "instance-hr-item/instance-hr-item-view.sql", "fromModuleVersion": "19.5.0" }, { "run": "after", "snippetPath": "inventory-hierarchy/addEffectiveHoldingsToItemsAndHoldingsView.sql", "fromModuleVersion": "20.3.0" }, { "run": "after", "snippetPath": "addInstanceFormatsAudioBelt.sql", "fromModuleVersion": "20.3.0" }, { "run": "after", "snippetPath": "dropLegacyItemEffectiveLocationFunctions.sql", "fromModuleVersion": "21.1.0" }, { "run": "after", "snippetPath": "addIdentifierTypesUpcIsmn.sql", "fromModuleVersion": "21.1.0" }, { "run": "after", "snippetPath": "inventory-hierarchy/addHoldingsIfItemsSuppressedItemsAndHoldingsView.sql", "fromModuleVersion": "22.0.0" }, { "run": "after", "snippetPath": "populatePublicationPeriod.sql", "fromModuleVersion": "22.1.0" }, { "run": "after", "snippetPath": "itemStatisticalCodeReferenceCheckTrigger.sql", "fromModuleVersion": "22.1.0" } ] } $mainftl$); 09:33:43 [] [] [] [] WARN ? Backend notice: severity='WARNING', code='25P01', message='there is no transaction in progress', detail='null', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='xact.c', line='3828', routine='EndTransactionBlock', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:43 [] [] [] [] INFO kaAdminClientService Creating topics [NewTopic{name=folio.test_tenant.inventory.authority,numPartitions=50,replicationFactor=1,replicasAssignments=null,config=null}, NewTopic{name=folio.test_tenant.inventory.instance-contribution,numPartitions=50,replicationFactor=1,replicasAssignments=null,config=null}] 09:33:44 [] [] [] [] ERROR kaAdminClientService Unable to create topics org.apache.kafka.common.errors.TopicExistsException: Topic 'folio.test_tenant.inventory.authority' already exists. 09:33:44 [] [] [] [] INFO TenantAPI job f88f3acf-a095-4bb0-97e8-879a292965c2 completed 09:33:44 [] [] [] [] INFO LogUtil 127.0.0.1:57378 GET /_/tenant/f88f3acf-a095-4bb0-97e8-879a292965c2 wait=60000 HTTP_1_1 200 421 3864 tid=test_tenant OK 09:33:44 [] [] [] [] INFO HttpClient POST http://localhost:49391/_/tenant, Request: { "purge" : true } 09:33:44 [] [] [] [] INFO RestRouting invoking postTenant 09:33:49 [] [] [] [] INFO kaAdminClientService Topics deleted successfully 09:33:49 [] [] [] [] INFO PostgresClient Executing multiple statements with id 40817440 09:33:49 [] [] [] [] INFO PostgresClient trying to execute: {} DROP SCHEMA IF EXISTS test_tenant_mod_inventory_storage CASCADE; 09:33:49 [] [] [] [] WARN ? Backend notice: severity='NOTICE', code='00000', message='drop cascades to 188 other objects', detail='drop cascades to table rmb_internal drop cascades to table rmb_job drop cascades to table rmb_internal_index drop cascades to table rmb_internal_analyze drop cascades to function uuid_smaller(uuid,uuid) drop cascades to function uuid_larger(uuid,uuid) drop cascades to function next_uuid(uuid) drop cascades to function max(uuid) drop cascades to function min(uuid) drop cascades to function count_estimate_smart2(bigint,bigint,text) drop cascades to function count_estimate_default(text) drop cascades to function count_estimate(text) drop cascades to function upsert(text,uuid,anyelement) drop cascades to function f_unaccent(text) drop cascades to function get_tsvector(text) drop cascades to function tsquery_and(text) drop cascades to function tsquery_or(text) drop cascades to function tsquery_phrase(text) drop cascades to function normalize_digits(text) drop cascades to function set_id_in_jsonb() drop cascades to function concat_space_sql(text[]) drop cascades to function concat_array_object_values(jsonb,text) drop cascades to function concat_array_object_values(jsonb,text,text,text) drop cascades to function first_array_object_value(jsonb,text,text,text) drop cascades to function concat_array_object(jsonb) drop cascades to function rmb_internal_index(text,text,text,text) drop cascades to function normalize_isbns(jsonb) drop cascades to function normalize_invalid_isbns(jsonb) drop cascades to function normalize_call_number_string(text) drop cascades to function normalize_holdings_full_call_number(jsonb) drop cascades to function normalize_holdings_call_number_and_suffix(jsonb) drop cascades to function normalize_item_full_call_number(jsonb) drop cascades to function normalize_item_call_number_and_suffix(jsonb) drop cascades to table authority drop cascades to function authority_set_md() drop cascades to function set_authority_md_json() drop cascades to function authority_set_ol_version() drop cascades to table loan_type drop cascades to function loan_type_set_md() drop cascades to function set_loan_type_md_json() drop cascades to table material_type drop cascades to function material_type_set_md() drop cascades to function set_material_type_md_json() drop cascades to table locinstitution drop cascades to function locinstitution_set_md() drop cascades to function set_locinstitution_md_json() drop cascades to table loccampus drop cascades to function update_loccampus_references() drop cascades to function loccampus_set_md() drop cascades to function set_loccampus_md_json() drop cascades to table loclibrary drop cascades to function update_loclibrary_references() drop cascades to function loclibrary_set_md() drop cascades to function set_loclibrary_md_json() drop cascades to table location drop cascades to function update_location_references() drop cascades to function location_set_md() drop cascades to function set_location_md_json() drop cascades to table service_point drop cascades to function service_point_set_md() drop cascades to function set_service_point_md_json() drop cascades to table service_point_user drop cascades to function update_service_point_user_references() drop cascades to function service_point_user_set_md() drop cascades to function set_service_point_user_md_json() drop cascades to table identifier_type drop cascades to function identifier_type_set_md() drop cascades to function set_identifier_type_md_json() drop cascades to table instance_relationship_type drop cascades to function instance_relationship_type_set_md() drop cascades to function set_instance_relationship_type_md_json() drop cascades to table contributor_type drop cascades to table contributor_name_type drop cascades to function contributor_name_type_set_md() drop cascades to function set_contributor_name_type_md_json() drop cascades to table instance_type drop cascades to table instance_format drop cascades to table nature_of_content_term drop cascades to function nature_of_content_term_set_md() drop cascades to function set_nature_of_content_term_md_json() drop cascades to table classification_type drop cascades to function classification_type_set_md() drop cascades to function set_classification_type_md_json() drop cascades to table electronic_access_relationship drop cascades to function electronic_access_relationship_set_md() drop cascades to function set_electronic_access_relationship_md_json() drop cascades to table statistical_code_type drop cascades to function statistical_code_type_set_md() drop cascades to function set_statistical_code_type_md_json() drop cascades to table statistical_code drop cascades to function update_statistical_code_references() drop cascades to function statistical_code_set_md() drop cascades to function set_statistical_code_md_json() drop cascades to table instance_status drop cascades to function instance_status_set_md() drop cascades to function set_instance_status_md_json() drop cascades to table mode_of_issuance drop cascades to function mode_of_issuance_set_md() drop cascades to function set_mode_of_issuance_md_json() drop cascades to table alternative_title_type and 88 other objects (see server log for list)', hint='null', position='null', internalPosition='null', internalQuery='null', where='null', file='dependency.c', line='1205', routine='reportDependentObjects', schema='null', table='null', column='null', dataType='null', constraint='null' 09:33:49 [] [] [] [] INFO PostgresClient Successfully executed DROP SCHEMA IF EXISTS test_tenant_mod_inventory_storage CASCADE; 09:33:49 [] [] [] [] INFO PostgresClient trying to execute: {} DROP ROLE IF EXISTS test_tenant_mod_inventory_storage; 09:33:49 [] [] [] [] INFO PostgresClient Successfully executed DROP ROLE IF EXISTS test_tenant_mod_inventory_storage; 09:33:49 [] [] [] [] INFO LogUtil 127.0.0.1:57388 POST /_/tenant null HTTP_1_1 204 0 4941 tid=test_tenant No Content 09:33:50 [] [] [] [] INFO RestVerticle No shutdown hook implementation found, continuing with shutdown 09:33:50 [] [] [] [] INFO PostgresClient Stopping postgres tester Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 57.887 sec <<< FAILURE! - in org.folio.rest.api.SampleDataTest org.folio.rest.api.SampleDataTest Time elapsed: 57.886 sec <<< ERROR! java.lang.IllegalStateException: Topic 'folio.test_tenant.inventory.authority' already exists. at org.folio.rest.api.SampleDataTest.beforeAny(SampleDataTest.java:35) Results : Tests in error: SampleDataTest.beforeAny:35 ยป IllegalState Topic 'folio.test_tenant.inventory.... Tests run: 1, Failures: 0, Errors: 1, Skipped: 0 [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 01:41 min [INFO] Finished at: 2021-11-25T09:33:55+01:00 [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.19.1:test (default-test) on project mod-inventory-storage: There are test failures. [ERROR] [ERROR] Please refer to /home/julian/git/mod-inventory-storage/target/surefire-reports for the individual test results. [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException