What is the difference between Server tables and Serverlog tables.

  • 23 May 2014
  • 1 reply
  • 7 views

Badge +1

The majority of tables in the K2 database have both a Server and ServerLog schema version.  Where people have put  together views these tend to use the synonyms which in the vast majority of cases are for the ServerLog tables.  The APIs from what I can see tend to use the Server tables or first write to Server then to ServerLog.

 

Although there are tables such as ProcInst in both schemas the columns in each table are not the same, there are common fields but also distinct fields in both sides.  

 

Is there ever a reason to use Server tables directly?

Is there a chance that if the API uses Server and views use ServerLog the results will be inconsistent?

We certainly have different number of rows in Server.ProcInst and ServerLog.ProcInst although they are similar, is this expected.

 


1 reply

Badge +8

As I recall, the tables in the Server schema are more like "working space" for the K2 server.  Data in those tables shouldn't be trusted for much of anything in the long run. 

 

Tables in the ServerLog schema represent comleted actions.  Once data is written to these ables, it is permanent in K2.  However, there could be a delay (very brief or several minutes) between when an action actually occurs and when it is written to the ServerLog tables.

 

We recently implemented views for searching some of our larger processes.  See this thread for some additional details.

Reply