transactd 2.4.5 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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