transactd 3.6.0 → 3.6.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d116ab5360eb7789d41862e6fabc2be44a3ec7d3
4
- data.tar.gz: 6a9e18f0c31602788a5ef8e7abd7ef8a13b5416a
3
+ metadata.gz: e02c507a10f36f6c37d43e624c1bafc4416e6b67
4
+ data.tar.gz: 337df3d8b1c58be04d5ee5f01ba317e08963fdd8
5
5
  SHA512:
6
- metadata.gz: ae1c90babbdc2f3508044321fcdb3f789767da7dba9a8c7c2e041d2d2eeba385e79abcc4e9e1b1eef49ae7b515b47d022cb0d40558ff127e6ef9d613e46c3643
7
- data.tar.gz: 874d4e215d760534e4bda9804fc6bbd9f767b7eafb8a4aa3c6407e28cf763a8791bfad1fc1cc64ee02c47f9a16f19799eee560b0c713d7322eb9f55bb488f519
6
+ metadata.gz: 4537e3aae536a5f3b5b15109614f488280ec1d1cf589f717f7de285d802320166c18f366e21d32e4cb6ac70f388cf11d27593dc6ee3058187a54c7b0e3b70237
7
+ data.tar.gz: 266b14eacd03941c7d270bf6659abde9fef56aea0a1c3fa31931e2c9443c22079c0d1e6924a2b078c1464d73801a5a791eea0f051ebd487a73e81b59d81a929e
Binary file
Binary file
data/build/tdclc/tdclc.rc CHANGED
@@ -29,8 +29,8 @@
29
29
  //
30
30
 
31
31
  VS_VERSION_INFO VERSIONINFO
32
- FILEVERSION 3,6,0,244
33
- PRODUCTVERSION 3,6,0,244
32
+ FILEVERSION 3,6,1,245
33
+ PRODUCTVERSION 3,6,1,245
34
34
  FILEFLAGSMASK 0x3fL
35
35
  #ifdef _DEBUG
36
36
  FILEFLAGS 0x1L
@@ -47,9 +47,9 @@ BEGIN
47
47
  BEGIN
48
48
  VALUE "CompanyName", "BizStation Corp."
49
49
  VALUE "FileDescription", "Transactd C client"
50
- VALUE "FileVersion", "3.6.0.244"
50
+ VALUE "FileVersion", "3.6.1.245"
51
51
  VALUE "LegalCopyright", "Copyright(C) 2016 BizStation Corp"
52
- VALUE "ProductVersion", "3.6.0.244"
52
+ VALUE "ProductVersion", "3.6.1.245"
53
53
  VALUE "ProductName", "Transactd Client (GPL V2)"
54
54
  END
55
55
  END
@@ -29,8 +29,8 @@
29
29
  //
30
30
 
31
31
  VS_VERSION_INFO VERSIONINFO
32
- FILEVERSION 3,6,0,244
33
- PRODUCTVERSION 3,6,0,244
32
+ FILEVERSION 3,6,1,245
33
+ PRODUCTVERSION 3,6,1,245
34
34
  FILEFLAGSMASK 0x3fL
35
35
  #ifdef _DEBUG
36
36
  FILEFLAGS 0x1L
@@ -47,9 +47,9 @@ BEGIN
47
47
  BEGIN
48
48
  VALUE "CompanyName", "BizStation Corp."
49
49
  VALUE "FileDescription", "Transactd C++ client"
50
- VALUE "FileVersion", "3.6.0.244"
50
+ VALUE "FileVersion", "3.6.1.245"
51
51
  VALUE "LegalCopyright", "Copyright(C) 2016 BizStation Corp"
52
- VALUE "ProductVersion", "3.6.0.244"
52
+ VALUE "ProductVersion", "3.6.1.245"
53
53
  VALUE "ProductName", "Transactd Client (GPL V2)"
54
54
  END
55
55
  END
@@ -29,8 +29,8 @@
29
29
  //
30
30
 
31
31
  VS_VERSION_INFO VERSIONINFO
32
- FILEVERSION 3,6,0,244
33
- PRODUCTVERSION 3,6,0,244
32
+ FILEVERSION 3,6,1,245
33
+ PRODUCTVERSION 3,6,1,245
34
34
  FILEFLAGSMASK 0x3fL
35
35
  #ifdef _DEBUG
36
36
  FILEFLAGS 0x1L
@@ -47,9 +47,9 @@ BEGIN
47
47
  BEGIN
48
48
  VALUE "CompanyName", "BizStation Corp."
49
49
  VALUE "FileDescription", "Transactd Ruby client"
50
- VALUE "FileVersion", "3.6.0.244"
50
+ VALUE "FileVersion", "3.6.1.245"
51
51
  VALUE "LegalCopyright", "Copyright(C) 2016 BizStation Corp"
52
- VALUE "ProductVersion", "3.6.0.244"
52
+ VALUE "ProductVersion", "3.6.1.245"
53
53
  VALUE "ProductName", "Transactd Client (GPL V2)"
54
54
  END
55
55
  END
@@ -237,6 +237,7 @@ struct recordsetQueryImple
237
237
  judgeFunc isMatchFunc;
238
238
  comp1Func compFunc;
239
239
  short index;
240
+ short cmpIndex; // For CMPLOGICAL_FIELD only
240
241
  uchar_td compType;
241
242
  char combine;
242
243
  struct
@@ -313,8 +314,9 @@ void recordsetQuery::init(const fielddefs* fdinfo)
313
314
  {
314
315
  recordsetQueryImple::compItem itm;
315
316
  itm.index = fdinfo->indexByName(tokns[i].c_str());
316
- if (itm.index >= 0)
317
- itm.nullable = (*fdinfo)[itm.index].isNullable();
317
+ if (itm.index == -1)
318
+ THROW_BZS_ERROR_WITH_MSG(_T("recordsetQuery:Invalid field name ") + tokns[i]);
319
+ itm.nullable = (*fdinfo)[itm.index].isNullable();
318
320
  m_imple->compItems.push_back(itm);
319
321
  m_imple->compFields.push_back(&((*fdinfo)[itm.index]));
320
322
  }
@@ -328,13 +330,27 @@ void recordsetQuery::init(const fielddefs* fdinfo)
328
330
  {
329
331
  recordsetQueryImple::compItem& itm = m_imple->compItems[index];
330
332
  field fd = (*m_imple->row)[index];
331
- fd = tokns[i + 2].c_str();
333
+
334
+ std::_tstring value = tokns[i + 2];
335
+ bool compField = (value.size() && (value[0] == _T('[')));
336
+ if (compField)
337
+ {
338
+ value.erase(value.begin());
339
+ value.erase(value.end() - 1);
340
+ itm.cmpIndex = fdinfo->indexByName(value);
341
+ if (itm.cmpIndex == -1)
342
+ THROW_BZS_ERROR_WITH_MSG(_T("recordsetQuery:Invalid field name ") + value);
343
+ }
344
+ else
345
+ fd = value.c_str();
332
346
  bool part = fd.isCompPartAndMakeValue();
333
347
  itm.compType = getFilterLogicTypeCode(tokns[i + 1].c_str());
334
- eCompType log = (eCompType)(itm.compType & 0xf);
335
- itm.nulllog = ((log == eIsNull) || (log == eIsNotNull));
348
+ if (compField)
349
+ itm.compType |= CMPLOGICAL_FIELD;
336
350
  if (!part)
337
351
  itm.compType |= CMPLOGICAL_VAR_COMP_ALL;
352
+ eCompType log = (eCompType)(itm.compType & 0xf);
353
+ itm.nulllog = ((log == eIsNull) || (log == eIsNotNull));
338
354
  fielddef& fdd = const_cast<fielddef&>(m_imple->compFields[index]);
339
355
  fdd.len = m_imple->compFields[index].compDataLen((const uchar_td*)fd.ptr(), part);
340
356
  uchar_td type = fdd.type;
@@ -376,8 +392,12 @@ bool recordsetQuery::match(const row_ptr row) const
376
392
  if (nullJudge < 2)
377
393
  ret = (nullJudge == 0) ? true : false;
378
394
  else
379
- ret = itm.isMatchFunc(itm.compFunc((const char*)f.ptr(), (const char*)((*m_imple->row)[i].ptr()), (*m_imple->row)[i].len()));
380
-
395
+ {
396
+ if (itm.compType & CMPLOGICAL_FIELD)
397
+ ret = itm.isMatchFunc(itm.compFunc((const char*)f.ptr(), (const char*)(*row)[itm.cmpIndex].ptr(), f.len()));
398
+ else
399
+ ret = itm.isMatchFunc(itm.compFunc((const char*)f.ptr(), (const char*)((*m_imple->row)[i].ptr()), (*m_imple->row)[i].len()));
400
+ }
381
401
  if (isEndComp(itm.combine, ret)) return ret;
382
402
  }
383
403
  assert(0);
@@ -150,7 +150,7 @@ public:
150
150
  virtual void dropTable(const _TCHAR* uri);
151
151
  void rename(const _TCHAR* oldUri, const _TCHAR* newUri);
152
152
  void swapTablename(const _TCHAR* uri1, const _TCHAR* uri2);
153
- void beginTrn(short bias = SINGLELOCK_READ_COMMITED +
153
+ void beginTrn(short bias = SINGLELOCK_NOGAP +
154
154
  NOWAIT_WRITE); // NoWit SingleLock
155
155
  void endTrn();
156
156
  void abortTrn();
@@ -527,8 +527,8 @@ public:
527
527
 
528
528
  inline iterator erase(const iterator& it)
529
529
  {
530
- m_recordset[it - m_recordset.begin()]->release();
531
- return m_recordset.erase(it);
530
+ (*it)->release();
531
+ return m_recordset.erase(it);
532
532
  }
533
533
 
534
534
  inline void push_back(row_ptr r)
@@ -670,7 +670,7 @@ struct handshale_t
670
670
  */
671
671
  #define C_INTERFACE_VER_MAJOR "3"//##1 Build marker! Don't remove
672
672
  #define C_INTERFACE_VER_MINOR "6"//##2 Build marker! Don't remove
673
- #define C_INTERFACE_VER_RELEASE "0"//##3 Build marker! Don't remove
673
+ #define C_INTERFACE_VER_RELEASE "1"//##3 Build marker! Don't remove
674
674
 
675
675
  /* dnamic load library name.
676
676
  The default extention of Mac is ".boudle", Therefore ".so" is popular. */
@@ -734,7 +734,7 @@ struct handshale_t
734
734
 
735
735
  #define CPP_INTERFACE_VER_MAJOR "3"//##4 Build marker! Don't remove
736
736
  #define CPP_INTERFACE_VER_MINOR "6"//##5 Build marker! Don't remove
737
- #define CPP_INTERFACE_VER_RELEASE "0"//##6 Build marker! Don't remove
737
+ #define CPP_INTERFACE_VER_RELEASE "1"//##6 Build marker! Don't remove
738
738
 
739
739
  /* use autolink tdclcpp */
740
740
  #if (__BCPLUSPLUS__ || _MSC_VER)
@@ -728,7 +728,7 @@ void testTimestamp(database* db)
728
728
 
729
729
  BOOST_CHECK_MESSAGE(fds[_T("fd10")].isNull() == true, "Timestamp2 not null" );
730
730
 
731
- Sleep(1);
731
+ Sleep(10);
732
732
  tb->update();
733
733
  BOOST_CHECK_MESSAGE(tb->stat() == 0, "testTimestamp update stat = " << tb->stat());
734
734
  tb->seek();
@@ -5251,7 +5251,7 @@ void testBinaryFieldSchame()
5251
5251
  tbid = db->dbDef()->tableNumByName(_T("groups"));
5252
5252
  BOOST_CHECK(tbid > 0);
5253
5253
  fd = &db->dbDef()->tableDefs(tbid)->fieldDefs[1];
5254
- BOOST_CHECK(fd->charsetIndex() == CHARSET_BIN);
5254
+ BOOST_CHECK_MESSAGE(fd->charsetIndex() == CHARSET_BIN, "bad = " << fd->charsetIndex());
5255
5255
  db->close(true /* withDropDefaultSchema */);
5256
5256
 
5257
5257
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: transactd
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.6.0
4
+ version: 3.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - BizStation Corp.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-08 00:00:00.000000000 Z
11
+ date: 2016-11-11 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Transactd client for ruby gem
14
14
  email: transactd@bizstation.jp