1 /* 2 * 3 * 4 * RCS Modification History: 5 * $Log: medschema.h,v $ 6 * Revision 6.0 1997/08/25 18:36:35 madden 7 * Revision changed to 6.0 8 * 9 * Revision 1.2 1995/05/17 17:55:15 epstein 10 * add RCS log revision history 11 * 12 */ 13 14 #ifndef DEFS_MODULE_MEDSCHEMA_H 15 16 #include "sybase.h" 17 18 #define MAX_STRING_SIZE 255 19 #define MAX_BINARY_SIZE 255 20 #define MAX_ABSTRACT_SIZE (6*1024) 21 #define MAX_AUTHOR_COUNT 150 22 #define MAX_MESH_COUNT 40 23 #define MAX_QUALIFIER_COUNT 10 24 #define MAX_SUBSTANCE_COUNT 50 25 #define MAX_XREF_COUNT 50 26 #define MAX_IDNUM_COUNT 20 27 #define MAX_GENESYM_COUNT 25 28 29 #define DbString(Name,Size) DBCHAR Name[Size+1] 30 #define DbBinary(Name,Size) DBBINARY Name[Size+1] 31 32 /* Define the maximum character column size */ 33 34 typedef DBCHAR MaxString[SRV_MAXCHAR+1]; 35 typedef unsigned char MaxBinary[SRV_MAXCHAR]; 36 37 /* Define the sizes of various fields in various tables */ 38 39 /* Table Article */ 40 41 #define DBSIZE_Article_pages 40 42 #define DBSIZE_Article_title 245 43 #define DBSIZE_Article_title1 255 44 #define DBSIZE_Article_vtitle 245 45 #define DBSIZE_Article_vtitle1 255 46 #define DBSIZE_Article_address 255 47 48 #define DBSIZE_Abstract_abstract 255 49 50 #define DBSIZE_CrossReference_accession 30 51 52 #define DBSIZE_Databases_database_name 30 53 54 #define DBSIZE_Issue_volume 25 55 #define DBSIZE_Issue_issue 25 56 #define DBSIZE_Issue_pubdate 30 57 #define DBSIZE_Issue_special_list 1 58 59 #define DBSIZE_Language_language_code 3 60 #define DBSIZE_Mesh_heading 128 61 #define DBSIZE_Mesh_main_point 1 62 63 #define DBSIZE_Journal_med_abbr 128 64 65 #define DBSIZE_Name_name 128 66 67 #define DBSIZE_Subheading_code 2 68 #define DBSIZE_Subheading_main_point 1 69 #define DBSIZE_Subheading_name 30 70 #define DBSIZE_Subheading_description 60 71 72 #define DBSIZE_Substance_number 30 73 #define DBSIZE_Substance_name 250 74 75 #define DBSIZE_ResearchSupport_id 255 76 77 #define DBSIZE_GeneSymbol_symbol 72 78 79 #if defined(__STDC__) 80 /* NOTE: ANSI-C has a portable concatenation mechanism, unlike the 81 non ANSI-C compilers which use the code below. */ 82 83 #define DbNColumn(Table,Column,Name) \ 84 DBCHAR Name[DBSIZE_ ## Table ## _ ## Column + 1] 85 #define DbTitle(Title) \ 86 DBCHAR Title[DBSIZE_Article_ ## Title + DBSIZE_Article_ ## Title ## 1 + 1] 87 88 #else 89 /* WARNING- The method used for concatenation used in the macros 90 below is not portable. This method works for Sun compilers. 91 Your compiler may use a different method. If so, substitute 92 your concatenation operator for the slash,star,star,slash 93 below. If your compiler doesn't support concatenation, you'll 94 have to recode the types by hand. */ 95 96 #define DbNColumn(Table,Column,Name) \ 97 DBCHAR Name[DBSIZE_/**/Table/**/_/**/Column + 1] 98 #define DbTitle(Title) \ 99 DBCHAR Title[DBSIZE_Article_/**/Title + DBSIZE_Article_/**/Title/**/1 + 1] 100 101 #endif 102 #define DbColumn(Table,Column) DbNColumn(Table,Column,Column) 103 104 #endif /* DEFS_MODULE_MEDSCHEMA_H */ 105