1

I was wondering how does FileNet calculate the GUID (i.e. the object_id) of each record that is inserted in a table in the object store.

I want to insert a record in Event table by using an insert statement in SQL (using SQL Server 2008), but I do not know what GUID to insert in the object_id field for the new record. Has anyone ever done something like this before?

Or is it a very bad idea to manually insert a record in a table in the object store using SQL?

ᄂ ᄀ
  • 5,669
  • 6
  • 43
  • 57
Nikos A.
  • 11
  • 3

2 Answers2

1

In releases prior to 5.2.1, the unique identifiers assigned to objects were generated using an algorithm that produces completely random values. In the 5.2.1 release, a new algorithm is available that produces sequential IDs. Sequential IDs have a time- and counter-based portion that is combined with a random portion in such a way that consecutively created IDs are sequential (monotonic) per the natural ordering applied by the underlying database.

The new UseSequentialIds property on the ObjectStore interface specifies whether an object store should assign random or sequential IDs when a new object is created in that object store. An indexed database column or a table with a clustered index on the primary key containing sequential IDs might be stored more compactly and managed more efficiently than completely random IDs, hence potentially providing a performance benefit and space savings.

The default value for this property is true (assign sequential IDs). If you do not want new objects in an object store to have sequential IDs, set the value of the UseSequentialIds property to false.

The GUID that you obtain from the ACCE or through APIs are different looking than that of the object_id stored in the database tables as bit reversal is used.

It's not recommend to insert value manually into database. Use ACCE/APIs to trigger the events.

sin
  • 126
  • 2
  • 14
  • 1
    GUIDs as seen through CE interfaces and DB are in no way different. This is a matter of persisting and presenting them. GUID is simply a 128-bit number. – ᄂ ᄀ Jun 12 '16 at 11:22
0

There is a unique ID assigned to each event record and there is a event counter , source object ID , version series . You need to consider all these before manually inserting , coming to GUID , these are stored in different byte orders for different DB brands , In MS SQL the GUID is stored without the '{' & '}'. I recommend trigerring the event from the FN objects so that CPE can write the required record into DB.

Bharath R
  • 1,491
  • 1
  • 11
  • 23