Notifications

27 views

Description

Currency type fields defined in the [var_dictionary] table are being widened it during Update Set commits. The commit fails with error "Syntax Error or Access Rule Violation detected by database".

Steps to Reproduce

  1. Import the attached [var_dictionary] dictionary record.
    2) Import the attached Update Set.
  2. Preview the Update Set.
    3) Commit the Update Set.
    4) Observe the following commit error:

    com.glide.db.GlideSQLException: FAILED TRYING TO EXECUTE ON CONNECTION 5: ALTER TABLE a50cc0c1db760f0092773220ad9619 MODIFY /*Currency field widening*/ `u_cost` DECIMAL(20,4) /* emprplondon001, gs:glide.scheduler.worker.1, tx:e5a0a2b3dbcea788a62071198c96194e */
    Syntax Error or Access Rule Violation detected by database (Table 'emprplondon_1.a50cc0c1db760f0092773220ad9619' doesn't exist)

    at com.glide.db.DBIError.wrapAndThrow(DBIError.java:119)
    at com.glide.db.DBIError.handleException(DBIError.java:72)
    at com.glide.db.DBI.executeStatement(DBI.java:1031)
    at com.glide.db.DBI.executeStatement(DBI.java:970)
    at com.glide.db.ddl.DDLStatementExecutor.execute(DDLStatementExecutor.java:88)
    at com.glide.db.DBI.executeDDLStatement(DBI.java:1364)
    at com.glide.db.DBI.executeAlterTable(DBI.java:1351)
    at com.glide.db.ddl.TableAlterBuilderExecutor.execute0(TableAlterBuilderExecutor.java:62)
    at com.glide.db.ddl.TableAlterBuilderExecutor.execute(TableAlterBuilderExecutor.java:47)
    at com.glide.db.ddl.TableAlterBuilderExecutor.execute(TableAlterBuilderExecutor.java:43)
    at com.glide.db.ddl.TableAlterer.alter(TableAlterer.java:39)
    at com.glide.db.ddl.TableAlterer.alter(TableAlterer.java:21)
    at com.glide.db.bootstrap.xml.StorageTableChangeCommitter.commit(StorageTableChangeCommitter.java:94)
    at com.glide.db.bootstrap.xml.BootstrapBatcher.commit(BootstrapBatcher.java:429)
    at com.glide.update.UpdateSetBootstrapBatcher.commit(UpdateSetBootstrapBatcher.java:56)
    at com.glide.update.UpdateSetCommit.handleAlterBatching(UpdateSetCommit.java:374)
    at com.glide.update.UpdateSetCommit.handleLoads(UpdateSetCommit.java:240)
    at com.glide.update.UpdateSetCommit.loadSetItems(UpdateSetCommit.java:188)
    at com.glide.update.UpdateSetCommit.commitUpdateSet0(UpdateSetCommit.java:166)
    at com.glide.update.UpdateSetCommit.commitUpdateSet(UpdateSetCommit.java:145)
    at com.glide.update.UpdateSetWorker.commitUpdateSet(UpdateSetWorker.java:1356)
    at com.glide.update.UpdateSetWorker.startWork(UpdateSetWorker.java:254)
    at com.glide.worker.AbstractProgressWorker.startAndWait(AbstractProgressWorker.java:123)
    at com.glide.worker.HierarchicalProgressWorker.startAndWait(HierarchicalProgressWorker.java:35)
    at com.glide.worker.BackgroundProgressJob.execute(BackgroundProgressJob.java:54)
    at com.glide.schedule.JobExecutor.lambda$executeJob$52(JobExecutor.java:107)
    at com.glide.schedule.JobExecutor.executeJob(JobExecutor.java:110)
    at com.glide.schedule.JobExecutor.execute(JobExecutor.java:94)
    at com.glide.schedule.GlideScheduleWorker.executeJob(GlideScheduleWorker.java:236)
    at com.glide.schedule.GlideScheduleWorker.lambda$process$50(GlideScheduleWorker.java:165)
    at com.glide.worker.TransactionalWorkerThread.executeInTransaction(TransactionalWorkerThread.java:35)
    at com.glide.schedule.GlideScheduleWorker.process(GlideScheduleWorker.java:165)
    at com.glide.schedule.GlideScheduleWorker.run(GlideScheduleWorker.java:75)
    Caused by: java.sql.SQLSyntaxErrorException: Table 'honeywell_1.a50cc0c1db760f0092773220ad9619' doesn't exist
    at org.mariadb.jdbc.internal.SQLExceptionMapper.get(SQLExceptionMapper.java:138)
    at org.mariadb.jdbc.internal.SQLExceptionMapper.throwException(SQLExceptionMapper.java:106)
    at org.mariadb.jdbc.MySQLStatement.executeQueryEpilog(MySQLStatement.java:274)
    at org.mariadb.jdbc.MySQLStatement.execute(MySQLStatement.java:302)
    at org.mariadb.jdbc.MySQLStatement.execute(MySQLStatement.java:393)
    at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.glide.db.StatementWrapper.invoke(StatementWrapper.java:40)
    at com.sun.proxy.$Proxy7.execute(Unknown Source)
    at com.glide.db.DBI.executeStatement0(DBI.java:1053)
    at com.glide.db.DBI.executeStatement(DBI.java:1009)
    ... 30 more
    Caused by: org.mariadb.jdbc.internal.common.QueryException: Table 'honeywell_1.a50cc0c1db760f0092773220ad9619' doesn't exist
    at org.mariadb.jdbc.internal.mysql.MySQLProtocol.getResult(MySQLProtocol.java:1020)
    at org.mariadb.jdbc.internal.mysql.MySQLProtocol.executeQuery(MySQLProtocol.java:1076)
    at org.mariadb.jdbc.internal.mysql.MySQLProtocol.executeQuery(MySQLProtocol.java:1055)
    at org.mariadb.jdbc.MySQLStatement.execute(MySQLStatement.java:295)
    ... 38 more

Workaround

The logic of widening the Currency type fields is only intended for Currency type records defined in the [sys_dictionary] table and not the [var_dictionary] table.  

This problem has been fixed. If you are able to upgrade, review the Fixed In or Intended Fix Version fields to determine whether any versions have a planned or permanent fix.


Related Problem: PRB1319838

Seen In

London

Intended Fix Version

New York

Safe Harbor Statement

This "Intended Fix Version" information is meant to outline ServiceNow's general product direction and should not be relied upon in making a purchasing decision. The information provided here is for information purposes only and may not be incorporated into any contract. It is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. The development, release, and timing of any features or functionality described for our products remains at ServiceNow's sole discretion.

Associated Community Threads

There is no data to report.

Article Information

Last Updated:2019-07-05 09:29:25
Published:2019-07-05
sys_remote_update_set_cbf81e21db5aa300c0f45b3e5e961980.xmlvar_dictionary_cc7e00c5db760f0092773220ad961991.xml