0

I am working on ERP solution that contains about 700 programs developed in embedded C language *.ec, the database (Postgres) has about 2000 db tables each table is designed as structure in its header file tableXX.h in order to simplify the use of all tables inside the ERP's programs. example tableXX.h

[dev]>cat tableXX.h
struct record_type_tablexx
{
  int field1;
  int field2;
  string field3[10];
  double field4;
  ...
  long filed60;
};

typedef struct record_type_tablexx TABLEXXTYP;
TABLEXXTYP tablexx;

The problem is: each time when the Consultants decide to change one table structure for any reason, I have to recompile all programs that are using that table, this process {Dev+test+(Prod update)} costs much effort.

I am asking who faced such problems up about a solution that minimize that effort regarding your experiences

  • 1) as long as the out-facing API doesn't change, you can avoid recompliation with pimpl: http://en.wikipedia.org/wiki/Opaque_pointer 2) do parallel compilation (distributed cc) on many machines. – Karoly Horvath Mar 11 '15 at 13:01
  • It's not a problem for me to recompile all programs (just few shell lines do the need), my problem how to avoid the test effort for testers. I want to fix a new process to release it in order to short-circuit 2 weeks of test each time when I have to change the table structure. – The smart Eagle Mar 11 '15 at 13:10
  • 3
    you need automated tests. – Karoly Horvath Mar 11 '15 at 13:23
  • I would try a separate directory tree for the generated header files. The ones used in the build-tree can be synchronised by `diff -q src dst && cp src dst` or something like that; avoiding unchanged files to be touched. – wildplasser Mar 11 '15 at 13:23
  • @Karoly The automated tests are unwanted and unreleased in the current process – The smart Eagle Mar 11 '15 at 13:27
  • @wildplasser I need a new concept to minimize the effort when I have to change the header files. – The smart Eagle Mar 11 '15 at 13:28

0 Answers0