transactd 2.4.5 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (145) hide show
  1. checksums.yaml +4 -4
  2. data/CMakeLists.txt +1 -1
  3. data/README-JA.md +52 -529
  4. data/README.md +52 -523
  5. data/bin/common/tdclc_32_3_0.dll +0 -0
  6. data/bin/common/tdclc_64_3_0.dll +0 -0
  7. data/build/common/system.cmake +2 -1
  8. data/build/common/transactd_cl_common.cmake +3 -6
  9. data/build/swig/ruby/ruby.swg +85 -28
  10. data/build/swig/ruby/tdclrb_wrap.cpp +3195 -1578
  11. data/build/swig/tdcl.i +161 -5
  12. data/build/tdclc/CMakeLists.txt +1 -0
  13. data/build/tdclc/tdclc.cbproj +7 -1
  14. data/build/tdclc/tdclc.rc +4 -4
  15. data/build/tdclcpp/tdclcpp.rc +4 -4
  16. data/build/tdclcpp/tdclcpp_bc.cbproj +2 -5
  17. data/build/tdclrb/tdclrb.rc +4 -4
  18. data/source/bzs/db/blobStructs.h +1 -1
  19. data/source/bzs/db/engine/mysql/database.cpp +199 -74
  20. data/source/bzs/db/engine/mysql/database.h +47 -18
  21. data/source/bzs/db/engine/mysql/dbManager.cpp +1 -0
  22. data/source/bzs/db/engine/mysql/mysqlInternal.h +32 -8
  23. data/source/bzs/db/protocol/tdap/btrDate.cpp +110 -75
  24. data/source/bzs/db/protocol/tdap/btrDate.h +46 -21
  25. data/source/bzs/db/protocol/tdap/client/activeTable.cpp +18 -18
  26. data/source/bzs/db/protocol/tdap/client/activeTable.h +25 -25
  27. data/source/bzs/db/protocol/tdap/client/activeTableImple.h +10 -4
  28. data/source/bzs/db/protocol/tdap/client/client.cpp +6 -5
  29. data/source/bzs/db/protocol/tdap/client/client.h +82 -15
  30. data/source/bzs/db/protocol/tdap/client/database.cpp +531 -142
  31. data/source/bzs/db/protocol/tdap/client/database.h +19 -6
  32. data/source/bzs/db/protocol/tdap/client/dbDef.cpp +461 -408
  33. data/source/bzs/db/protocol/tdap/client/dbDef.h +11 -17
  34. data/source/bzs/db/protocol/tdap/client/dllmain.cpp +61 -13
  35. data/source/bzs/db/protocol/tdap/client/field.cpp +1592 -1398
  36. data/source/bzs/db/protocol/tdap/client/field.h +110 -121
  37. data/source/bzs/db/protocol/tdap/client/fields.h +40 -10
  38. data/source/bzs/db/protocol/tdap/client/filter.h +69 -55
  39. data/source/bzs/db/protocol/tdap/client/groupQuery.cpp +296 -164
  40. data/source/bzs/db/protocol/tdap/client/groupQuery.h +77 -25
  41. data/source/bzs/db/protocol/tdap/client/memRecord.cpp +31 -13
  42. data/source/bzs/db/protocol/tdap/client/memRecord.h +31 -21
  43. data/source/bzs/db/protocol/tdap/client/nsDatabase.cpp +1 -1
  44. data/source/bzs/db/protocol/tdap/client/nsDatabase.h +4 -1
  45. data/source/bzs/db/protocol/tdap/client/nsTable.cpp +69 -24
  46. data/source/bzs/db/protocol/tdap/client/nsTable.h +3 -1
  47. data/source/bzs/db/protocol/tdap/client/recordset.cpp +1 -0
  48. data/source/bzs/db/protocol/tdap/client/recordsetImple.h +46 -27
  49. data/source/bzs/db/protocol/tdap/client/request.h +2 -1
  50. data/source/bzs/db/protocol/tdap/client/serializer.cpp +44 -9
  51. data/source/bzs/db/protocol/tdap/client/serializer.h +1 -1
  52. data/source/bzs/db/protocol/tdap/client/sqlBuilder.cpp +182 -76
  53. data/source/bzs/db/protocol/tdap/client/sqlBuilder.h +23 -12
  54. data/source/bzs/db/protocol/tdap/client/stringConverter.h +8 -10
  55. data/source/bzs/db/protocol/tdap/client/table.cpp +172 -93
  56. data/source/bzs/db/protocol/tdap/client/table.h +112 -37
  57. data/source/bzs/db/protocol/tdap/client/trdboostapi.h +17 -0
  58. data/source/bzs/db/protocol/tdap/client/trdboostapiInternal.h +0 -1
  59. data/source/bzs/db/protocol/tdap/client/trdclcppautolink.h +0 -2
  60. data/source/bzs/db/protocol/tdap/client/trdormapi.h +1 -1
  61. data/source/bzs/db/protocol/tdap/fieldComp.h +698 -14
  62. data/source/bzs/db/protocol/tdap/myDateTime.cpp +723 -307
  63. data/source/bzs/db/protocol/tdap/myDateTime.h +294 -0
  64. data/source/bzs/db/protocol/tdap/mysql/databaseSchema.cpp +164 -54
  65. data/source/bzs/db/protocol/tdap/mysql/databaseSchema.h +6 -3
  66. data/source/bzs/db/protocol/tdap/mysql/recordsetReader.h +133 -550
  67. data/source/bzs/db/protocol/tdap/mysql/request.h +6 -5
  68. data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.cpp +217 -82
  69. data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.h +1 -1
  70. data/source/bzs/db/protocol/tdap/tdapRequest.h +4 -9
  71. data/source/bzs/db/protocol/tdap/tdapSchema.cpp +808 -17
  72. data/source/bzs/db/protocol/tdap/tdapSchema.h +656 -164
  73. data/source/bzs/db/protocol/tdap/tdapcapi.h +130 -28
  74. data/source/bzs/db/protocol/tdap/uri.h +40 -32
  75. data/source/bzs/db/transactd/connManager.cpp +1 -1
  76. data/source/bzs/db/transactd/transactd.cpp +7 -0
  77. data/source/bzs/env/compiler.h +107 -94
  78. data/source/bzs/env/crosscompile.cpp +24 -12
  79. data/source/bzs/env/crosscompile.h +75 -6
  80. data/source/bzs/env/mbcswchrLinux.cpp +2 -2
  81. data/source/bzs/env/tcharMinGW.h +4 -0
  82. data/source/bzs/example/changeSchema.cpp +22 -17
  83. data/source/bzs/example/queryData.cpp +4 -0
  84. data/source/bzs/netsvc/client/iconnection.h +3 -1
  85. data/source/bzs/netsvc/client/tcpClient.h +10 -3
  86. data/source/bzs/rtl/stringBuffers.cpp +7 -0
  87. data/source/bzs/test/tdclatl/bench_query_atl.js +6 -0
  88. data/source/bzs/test/tdclatl/bench_tdclatl.js +8 -1
  89. data/source/bzs/test/tdclatl/test_query_atl.js +22 -2
  90. data/source/bzs/test/tdclatl/test_v3.js +1017 -0
  91. data/source/bzs/test/tdclphp/transactd_Test.php +55 -21
  92. data/source/bzs/test/tdclphp/transactd_datetime_Test.php +0 -5
  93. data/source/bzs/test/tdclphp/transactd_pool_Test.php +2 -0
  94. data/source/bzs/test/tdclphp/transactd_v3_Test.php +743 -0
  95. data/source/bzs/test/tdclrb/transactd_datetime_spec.rb +0 -5
  96. data/source/bzs/test/tdclrb/transactd_pool_spec.rb +2 -0
  97. data/source/bzs/test/tdclrb/transactd_spec.rb +39 -16
  98. data/source/bzs/test/tdclrb/transactd_v3_spec.rb +748 -0
  99. data/source/bzs/test/transactdBench/transactdBench.cpp +55 -58
  100. data/source/bzs/test/transactdBench/transactdBench2.cpp +1 -3
  101. data/source/bzs/test/trdclengn/testField.h +3305 -0
  102. data/source/bzs/test/trdclengn/test_tdclcpp_v3.cpp +1050 -0
  103. data/source/bzs/test/trdclengn/test_trdclengn.cpp +112 -190
  104. data/source/bzs/test/trdclengn/testbase.h +137 -0
  105. data/source/global/ormsrcgen/srcgen.cpp +23 -12
  106. data/source/global/ormsrcgen/template/ormDataClass_template.h +2 -0
  107. data/source/global/querystmts/querystmts.cpp +2 -3
  108. data/source/global/tdclatl/Bitset.cpp +38 -0
  109. data/source/global/tdclatl/Bitset.h +63 -0
  110. data/source/global/tdclatl/Database.cpp +59 -18
  111. data/source/global/tdclatl/Database.h +7 -4
  112. data/source/global/tdclatl/DbDef.cpp +6 -6
  113. data/source/global/tdclatl/DbDef.h +2 -1
  114. data/source/global/tdclatl/Field.cpp +112 -0
  115. data/source/global/tdclatl/Field.h +19 -5
  116. data/source/global/tdclatl/FieldDef.cpp +137 -16
  117. data/source/global/tdclatl/FieldDef.h +18 -2
  118. data/source/global/tdclatl/FieldDefs.cpp +54 -1
  119. data/source/global/tdclatl/FieldDefs.h +3 -0
  120. data/source/global/tdclatl/GroupQuery.cpp +8 -8
  121. data/source/global/tdclatl/QueryBase.cpp +65 -0
  122. data/source/global/tdclatl/QueryBase.h +10 -0
  123. data/source/global/tdclatl/Record.cpp +33 -2
  124. data/source/global/tdclatl/Record.h +3 -1
  125. data/source/global/tdclatl/RecordsetQuery.cpp +42 -0
  126. data/source/global/tdclatl/RecordsetQuery.h +8 -0
  127. data/source/global/tdclatl/Table.cpp +127 -3
  128. data/source/global/tdclatl/Table.h +10 -1
  129. data/source/global/tdclatl/TableDef.cpp +41 -8
  130. data/source/global/tdclatl/TableDef.h +7 -2
  131. data/source/global/tdclatl/activeTable.cpp +40 -71
  132. data/source/global/tdclatl/resource.h +0 -0
  133. data/source/global/tdclatl/tdclatl.idl +222 -28
  134. data/source/linux/tchar.h +100 -96
  135. data/transactd.gemspec +2 -2
  136. metadata +13 -11
  137. data/BUILD_UNIX-JA.md +0 -161
  138. data/BUILD_WIN-JA.md +0 -326
  139. data/README_ORMSRCGEN-JA.md +0 -115
  140. data/README_ORMSRCGEN.md +0 -118
  141. data/RELEASE_NOTE-JA.md +0 -356
  142. data/RELEASE_NOTE.md +0 -360
  143. data/bin/common/tdclc_32_2_4.dll +0 -0
  144. data/bin/common/tdclc_64_2_4.dll +0 -0
  145. data/source/bzs/test/trdclengn/test_blob.cpp +0 -375
@@ -73,12 +73,13 @@ public:
73
73
  virtual unsigned char* allocBlobBlock(size_t size) = 0;
74
74
  virtual unsigned char* ptr(size_t row, int stat) = 0;
75
75
  virtual void setJoinType(int v) = 0;
76
- virtual void setInvalidRecord(size_t row, bool v) = 0;
76
+ virtual void setInvalidMemblock(size_t row, bool v) = 0;
77
77
  virtual void setJoinRowMap(
78
78
  const std::vector<std::vector<int> >* v /*, size_t size*/) = 0;
79
79
  virtual const std::vector<std::vector<int> >* joinRowMap() const = 0;
80
80
  virtual void duplicateRow(int row, int count) = 0;
81
81
  virtual void removeLastMemBlock(int row) = 0;
82
+ virtual int joinType() const = 0;
82
83
  };
83
84
 
84
85
  class filter;
@@ -86,6 +87,7 @@ typedef boost::shared_ptr<filter> pq_handle;
86
87
 
87
88
  /** @endcond */
88
89
 
90
+
89
91
  class DLLLIB table : public nstable
90
92
  {
91
93
  static void* __STDCALL DDBA(client::table* tb, uint_td size);
@@ -94,6 +96,7 @@ class DLLLIB table : public nstable
94
96
  friend class database;
95
97
  friend class filter;
96
98
  friend class fields;
99
+ friend class writableRecord;
97
100
  friend struct logic;
98
101
 
99
102
  struct tbimpl* m_impl;
@@ -119,11 +122,13 @@ class DLLLIB table : public nstable
119
122
  uint_td doRecordCount(bool estimate, bool fromCurrent); // orverride
120
123
  short_td doBtrvErr(HWND hWnd, _TCHAR* retbuf = NULL); // orverride
121
124
  void doFind(ushort_td op, bool notIncCurrent);
125
+ void* getExtendBufferForOpen(uint_td& size); // orverride
122
126
  bool setSeekValueField(int row);
123
127
  void btrvSeekMulti();
124
128
  bool doSeekMultiAfter(int row);
125
129
  void* doDdba(uint_td size);
126
130
  bool isReadContinue(ushort_td& op);
131
+ void incTabledefRefCount(tabledef* td, bool mysqlMullmode);
127
132
 
128
133
  protected:
129
134
  explicit table(nsdatabase* pbe); // Inheritance is impossible
@@ -151,12 +156,18 @@ protected:
151
156
 
152
157
  void onInsertAfter(int beforeResult); // orverride
153
158
  bool isUniqeKey(char_td keynum); // orverride
154
- void init(tabledef** def, short filenum, bool regularDir);
159
+ void init(tabledef** def, short filenum, bool regularDir, bool mysqlnull);
155
160
  void* attachBuffer(void* newPtr, bool unpack = false, size_t size = 0);
156
161
  void dettachBuffer();
157
162
  bool doPrepare();
158
163
 
159
- virtual void doInit(tabledef** def, short filenum, bool regularDir);
164
+ inline unsigned int nullBytes() const
165
+ {
166
+ return (m_tableDef && (*m_tableDef)->isMysqlNullMode()) ?
167
+ (*m_tableDef)->nullbytes() : 0;
168
+ }
169
+
170
+ virtual void doInit(tabledef** def, short filenum, bool regularDir, bool mysqlnull);
160
171
 
161
172
  virtual void onRecordCounting(size_t count, bool& cancel);
162
173
 
@@ -164,6 +175,7 @@ protected:
164
175
 
165
176
  public:
166
177
  using nstable::eFindType;
178
+ enum eNullReset{clearNull, defaultNull};
167
179
 
168
180
  inline const tabledef* tableDef() const { return *m_tableDef; };
169
181
  inline const tabledef** tableDefPtr() const
@@ -173,7 +185,7 @@ public:
173
185
 
174
186
  inline bool valiableFormatType() const
175
187
  {
176
- return (*m_tableDef)->optionFlags.bitA;
188
+ return (*m_tableDef)->optionFlags.bitA || (*m_tableDef)->m_nullbytes;
177
189
  }
178
190
 
179
191
  inline bool blobFieldUsed() const { return (*m_tableDef)->optionFlags.bitB; }
@@ -187,7 +199,7 @@ public:
187
199
  int bookmarksCount() const;
188
200
  void moveBookmarks(unsigned int index);
189
201
  bookmark_td bookmarks(unsigned int index) const;
190
- void clearBuffer();
202
+ void clearBuffer(eNullReset resetType = defaultNull);
191
203
  unsigned int getRecordHash();
192
204
  void smartUpdate();
193
205
 
@@ -211,25 +223,38 @@ public:
211
223
 
212
224
  void setFilter(const _TCHAR* str, ushort_td rejectCount,
213
225
  ushort_td cacheCount, bool autoEscape = true);
214
- short fieldNumByName(const _TCHAR* name);
215
- unsigned char getFVbyt(short index);
216
- short getFVsht(short index);
217
- int getFVint(short index);
218
- int getFVlng(short index);
219
- __int64 getFV64(short index);
220
- float getFVflt(short index);
221
- double getFVdbl(short index);
222
- const char* getFVAstr(short index);
223
- void* getFVbin(short index, uint_td& size);
224
- unsigned char getFVbyt(const _TCHAR* fieldName);
225
- short getFVsht(const _TCHAR* fieldName);
226
- int getFVint(const _TCHAR* fieldName);
227
- int getFVlng(const _TCHAR* fieldName);
228
- __int64 getFV64(const _TCHAR* fieldName);
229
- float getFVflt(const _TCHAR* fieldName);
230
- double getFVdbl(const _TCHAR* fieldName);
231
- const char* getFVAstr(const _TCHAR* fieldName);
232
- void* getFVbin(const _TCHAR* fieldName, uint_td& size);
226
+ short fieldNumByName(const _TCHAR* name) const ;
227
+ unsigned char getFVbyt(short index) const;
228
+ short getFVsht(short index) const;
229
+ int getFVint(short index) const;
230
+ int getFVlng(short index) const;
231
+ __int64 getFV64(short index) const;
232
+ float getFVflt(short index) const;
233
+ double getFVdbl(short index) const;
234
+ const char* getFVAstr(short index) const;
235
+ void* getFVbin(short index, uint_td& size) const;
236
+ unsigned char getFVbyt(const _TCHAR* fieldName) const;
237
+ short getFVsht(const _TCHAR* fieldName) const;
238
+ int getFVint(const _TCHAR* fieldName) const;
239
+ int getFVlng(const _TCHAR* fieldName) const;
240
+ __int64 getFV64(const _TCHAR* fieldName) const;
241
+ float getFVflt(const _TCHAR* fieldName) const;
242
+ double getFVdbl(const _TCHAR* fieldName) const;
243
+ const char* getFVAstr(const _TCHAR* fieldName) const;
244
+ void* getFVbin(const _TCHAR* fieldName, uint_td& size) const;
245
+ bool getFVNull(short index) const ;
246
+ bool getFVNull(const _TCHAR* fieldName) const;
247
+
248
+ inline bitset getFVbits(short index) const
249
+ {
250
+ return bitset(getFV64(index));
251
+ }
252
+
253
+ inline bitset getFVbits(const _TCHAR* fieldName) const
254
+ {
255
+ return bitset(getFV64(fieldName));
256
+ }
257
+
233
258
  void setFV(short index, double data);
234
259
  void setFV(short index, float data);
235
260
  void setFV(short index, unsigned char data);
@@ -239,23 +264,25 @@ public:
239
264
  void setFV(short index, const void* data, uint_td size);
240
265
  void setFV(const _TCHAR* fieldName, int data);
241
266
  void setFVA(const _TCHAR* fieldName, const char* data);
267
+ void setFVNull(short index, bool v);
268
+ void setFVNull(const _TCHAR* fieldName, bool v);
242
269
 
243
270
  #ifdef _WIN32
244
- const wchar_t* getFVWstr(const _TCHAR* fieldName);
245
- const wchar_t* getFVWstr(short index);
271
+ const wchar_t* getFVWstr(const _TCHAR* fieldName) const;
272
+ const wchar_t* getFVWstr(short index) const;
246
273
  void setFVW(short index, const wchar_t* data);
247
274
  void setFVW(const _TCHAR* fieldName, const wchar_t* data);
248
275
  #endif
249
276
 
250
277
  #ifdef _UNICODE
251
- inline const wchar_t* getFVstr(short index) { return getFVWstr(index); };
252
- inline const wchar_t* getFVstr(const wchar_t* fieldName)
278
+ inline const wchar_t* getFVstr(short index) const { return getFVWstr(index); };
279
+ inline const wchar_t* getFVstr(const wchar_t* fieldName) const
253
280
  {
254
281
  return getFVWstr(fieldName);
255
282
  };
256
283
  #else
257
- inline const char* getFVstr(short index) { return getFVAstr(index); };
258
- inline const char* getFVstr(const char* fieldName)
284
+ inline const char* getFVstr(short index) const { return getFVAstr(index); };
285
+ inline const char* getFVstr(const char* fieldName) const
259
286
  {
260
287
  return getFVAstr(fieldName);
261
288
  };
@@ -276,6 +303,17 @@ public:
276
303
  setFVW(fieldName, data);
277
304
  };
278
305
  #endif
306
+
307
+ inline void setFV(short index, const bitset& bits)
308
+ {
309
+ setFV(index, bits.internalValue());
310
+ }
311
+
312
+ inline void setFV(const _TCHAR* fieldName, const bitset& bits)
313
+ {
314
+ setFV(fieldName, bits.internalValue());
315
+ }
316
+
279
317
 
280
318
  void setFV(const _TCHAR* fieldName, double data);
281
319
  void setFV(const _TCHAR* fieldName, float data);
@@ -410,14 +448,14 @@ inline std::_tstring lexical_cast(char v)
410
448
  inline std::_tstring lexical_cast(double v)
411
449
  {
412
450
  _TCHAR tmp[256];
413
- _stprintf_s(tmp, 256, _T("%.*f"), 15, v);
451
+ _stprintf_s(tmp, 256, _T("%.*f"), 16, v);
414
452
  return std::_tstring(tmp);
415
453
  }
416
454
 
417
455
  inline std::_tstring lexical_cast(float v)
418
456
  {
419
457
  _TCHAR tmp[256];
420
- _stprintf_s(tmp, 256, _T("%.*f"), 15, v);
458
+ _stprintf_s(tmp, 256, _T("%.*f"), 16, v);
421
459
  return std::_tstring(tmp);
422
460
  }
423
461
 
@@ -425,9 +463,12 @@ inline std::_tstring lexical_cast(const _TCHAR* v)
425
463
  {
426
464
  if (v)
427
465
  return std::_tstring(v);
466
+ THROW_BZS_ERROR_WITH_CODEMSG(STATUS_FILTERSTRING_ERROR,
467
+ _T("Invalid the value, The value is NULL."));
428
468
  return std::_tstring(_T(""));
429
469
  }
430
470
 
471
+
431
472
  class qlogic
432
473
  {
433
474
  std::_tstring m_name;
@@ -502,6 +543,18 @@ public:
502
543
  return *this;
503
544
  }
504
545
 
546
+ query& whereIsNull(const _TCHAR* name)
547
+ {
548
+ addLogic(name, _T("<==>"), _T(""));
549
+ return *this;
550
+ }
551
+
552
+ query& whereIsNotNull(const _TCHAR* name)
553
+ {
554
+ addLogic(name, _T("<!=>"), _T(""));
555
+ return *this;
556
+ }
557
+
505
558
  template <class T>
506
559
  query& and_(const _TCHAR* name, const _TCHAR* qlogic, T value)
507
560
  {
@@ -513,6 +566,18 @@ public:
513
566
  return *this;
514
567
  }
515
568
 
569
+ query& andIsNull(const _TCHAR* name)
570
+ {
571
+ addLogic(_T("and"), name, _T("<==>"), _T(""));
572
+ return *this;
573
+ }
574
+
575
+ query& andIsNotNull(const _TCHAR* name)
576
+ {
577
+ addLogic(_T("and"), name, _T("<!=>"), _T(""));
578
+ return *this;
579
+ }
580
+
516
581
  template <class T>
517
582
  query& or_(const _TCHAR* name, const _TCHAR* qlogic, T value)
518
583
  {
@@ -524,6 +589,19 @@ public:
524
589
  return *this;
525
590
  }
526
591
 
592
+ query& orIsNull(const _TCHAR* name)
593
+ {
594
+ addLogic(_T("or"), name, _T("<==>"), _T(""));
595
+ return *this;
596
+ }
597
+
598
+ query& orIsNotNull(const _TCHAR* name)
599
+ {
600
+ addLogic(_T("or"), name, _T("<!=>"), _T(""));
601
+ return *this;
602
+ }
603
+
604
+
527
605
  template <class T0, class T1, class T2, class T3, class T4, class T5,
528
606
  class T6, class T7>
529
607
  query& in(const T0 kv0, const T1 kv1, const T2 kv2, const T3 kv3,
@@ -611,6 +689,8 @@ public:
611
689
  return *this;
612
690
  }
613
691
 
692
+ inline query& segmentsForInValue(int v) { joinKeySize(v); return *this;}
693
+
614
694
  static query* create(); // implemet int activeTable.cpp
615
695
  };
616
696
 
@@ -632,11 +712,6 @@ bool DLLLIB supplyValue(pq_handle& filter, int index, __int64 v);
632
712
  bool DLLLIB supplyValue(pq_handle& filter, int index, float v);
633
713
  bool DLLLIB supplyValue(pq_handle& filter, int index, double v);
634
714
 
635
- //bool DLLLIB supplyInValues(pq_handle& filter, const _TCHAR* values[], size_t size, int segments);
636
-
637
-
638
-
639
-
640
715
 
641
716
  #pragma warning(default : 4251)
642
717
 
@@ -67,6 +67,8 @@ enum eFindCurrntType
67
67
  ePosNeedPrev = -1
68
68
  };
69
69
 
70
+ #pragma warning(disable : 4996)
71
+
70
72
  class connectParams
71
73
  {
72
74
  _TCHAR m_buf[MAX_PATH];
@@ -142,6 +144,7 @@ public:
142
144
 
143
145
  inline short type() const { return m_type; };
144
146
  };
147
+ #pragma warning(default : 4996)
145
148
 
146
149
  /* databaseManager interface
147
150
  If use some databases, implemnt a this interface and set the activeTable
@@ -1055,6 +1058,20 @@ inline void updateTableDef(dbdef* def, short tableid)
1055
1058
  }
1056
1059
  }
1057
1060
 
1061
+ inline void synchronizeSeverSchema(dbdef* def, short tableid)
1062
+ {
1063
+ def->synchronizeSeverSchema(tableid);
1064
+ if (def->stat() != 0)
1065
+ {
1066
+ std::_tstring s;
1067
+ if (def->tableDefs(tableid))
1068
+ s = def->tableDefs(tableid)->tableName();
1069
+ nstable::throwError((std::_tstring(_T("synchronize Sever Schema ")) + s).c_str(),
1070
+ def->stat());
1071
+ }
1072
+ }
1073
+
1074
+
1058
1075
  /** @cond INTERNAL */
1059
1076
 
1060
1077
  template <class T> inline table* getTable(T& it)
@@ -24,7 +24,6 @@
24
24
  #include "fields.h"
25
25
  #include <boost/bind.hpp>
26
26
  #include <boost/function.hpp>
27
- #include <boost/type_traits.hpp>
28
27
 
29
28
  namespace bzs
30
29
  {
@@ -28,8 +28,6 @@ library path in project option.
28
28
  #ifdef TRDCL_AUTOLINK
29
29
  #include <bzs/env/compiler.h>
30
30
  #include <bzs/db/protocol/tdap/tdapcapi.h>
31
- #define TD_CPP_LIB_NAME \
32
- LIB_PREFIX TD_CPP_LIB_PRE CPP_INTERFACE_VERSTR SHARED_LIB_EXTENTION
33
31
  #pragma comment(lib, TD_CPP_LIB_NAME)
34
32
  #endif // TRDCL_AUTOLINK
35
33
 
@@ -22,7 +22,7 @@
22
22
  #include "fieldNameAlias.h"
23
23
  #include "memRecord.h"
24
24
  #include "groupComp.h"
25
- #include "filter.h"
25
+ #include <bzs/db/protocol/tdap/client/filter.h>
26
26
  #include <boost/shared_array.hpp>
27
27
  #include <vector>
28
28