Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [egit-dev] Database error on push to EGit

> com.google.gerrit.server.git.ReceiveCommits : Error creating change for
> commit 0453eb7db021cb3bcb29f907849c65d8ac3d3c85
> com.google.gwtorm.client.OrmException: insert failure on
> patch_set_ancestors
>         at
> com.google.gwtorm.schema.sql.SqlDialect.convertError(SqlDialect.java:12
> 2)
> ...
> Caused by: java.sql.BatchUpdateException: Duplicate entry '1-1-1' for
> key 1
>         at
> com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement
> .java:2007)
>
> What the heck is '1-1-1' from?

I am guessing but maybe this helps:
the structure of the patch_set_ancestors table:
                         Table "public.patch_set_ancestors"
      Column       |         Type          |               Modifiers
-------------------+-----------------------+----------------------------------------
 ancestor_revision | character varying(40) | not null default ''::character varying
 change_id         | integer               | not null default 0
 patch_set_id      | integer               | not null default 0
 position          | integer               | not null default 0
Indexes:
    "patch_set_ancestors_pkey" PRIMARY KEY, btree (change_id, patch_set_id, "position")
    "patch_set_ancestors_desc" btree (ancestor_revision)

shows that the primary key consists of (change_id, patch_set_id, position)

So I assume that '1-1-1' is a string representation of the primary key (1,1,1) to be inserted
and either there are two entries in the batch with the same '1-1-1' key or this key
already exists in the patch_set_ancestors table.

The question is how are these keys generated and if some counters/sequences were reset?

Sasa Zivkov


Back to the top