transactd 1.0.1
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.
- checksums.yaml +7 -0
- data/BUILD_UNIX-JA +174 -0
- data/BUILD_WIN-JA +256 -0
- data/CMakeLists.txt +96 -0
- data/COPYING +339 -0
- data/README +406 -0
- data/README-JA +424 -0
- data/bin/common/tdclc_32_1_0.dll +0 -0
- data/bin/common/tdclc_64_1_0.dll +0 -0
- data/build/common/check_for_link_iconv.cmake +73 -0
- data/build/common/copyifgreater.cmd +30 -0
- data/build/common/copyifgreater.js +290 -0
- data/build/common/get_boost_libs.cmake +106 -0
- data/build/common/get_ruby_path.cmake +115 -0
- data/build/common/options.cmake +127 -0
- data/build/common/smart_install.cmake +263 -0
- data/build/common/system.cmake +122 -0
- data/build/common/transactd.rc.in +52 -0
- data/build/common/transactd_cl_common.cmake +101 -0
- data/build/common/transactd_cl_output.cmake +93 -0
- data/build/common/transactd_common.cmake +237 -0
- data/build/common/transactd_required.cmake +28 -0
- data/build/swig/ruby/generate.cmake.in +35 -0
- data/build/swig/ruby/generate.cmd.in +19 -0
- data/build/swig/ruby/ruby.swg +101 -0
- data/build/swig/tdcl.i +188 -0
- data/build/tdclc/BUILDNUMBER.txt +1 -0
- data/build/tdclc/CMakeLists.txt +170 -0
- data/build/tdclc/tdclc_32.cbproj +181 -0
- data/build/tdclc/tdclc_64.cbproj +205 -0
- data/build/tdclcpp/BUILDNUMBER.txt +1 -0
- data/build/tdclcpp/CMakeLists.txt +142 -0
- data/build/tdclcpp/tdclcpp_bcb_32.cbproj +239 -0
- data/build/tdclcpp/tdclcpp_bcb_64.cbproj +304 -0
- data/build/tdclrb/BUILDNUMBER.txt +1 -0
- data/build/tdclrb/CMakeLists.txt +258 -0
- data/build/tdclrb/GEM_VERSION +3 -0
- data/build/tdclrb/bldgem/extconf.rb +123 -0
- data/build/tdclrb/gem/INSTALLLOG.win32 +9 -0
- data/build/tdclrb/gem/Makefile.win32-VS +65 -0
- data/build/tdclrb/gem/Makefile.win32-prebuilt +48 -0
- data/build/tdclrb/gem/detect.rb +31 -0
- data/build/tdclrb/gem/helper.rb +113 -0
- data/build/tdclrb/gem/transactd.rb +22 -0
- data/build/tdclrb/gem_output.cmake +44 -0
- data/source/bzs/db/IBlobBuffer.h +51 -0
- data/source/bzs/db/blobBuffer.h +177 -0
- data/source/bzs/db/blobStructs.h +85 -0
- data/source/bzs/db/engine/mysql/IReadRecords.h +52 -0
- data/source/bzs/db/engine/mysql/bookmark.h +195 -0
- data/source/bzs/db/engine/mysql/database.cpp +1882 -0
- data/source/bzs/db/engine/mysql/database.h +465 -0
- data/source/bzs/db/engine/mysql/dbManager.cpp +303 -0
- data/source/bzs/db/engine/mysql/dbManager.h +143 -0
- data/source/bzs/db/engine/mysql/errorMessage.cpp +75 -0
- data/source/bzs/db/engine/mysql/errorMessage.h +43 -0
- data/source/bzs/db/engine/mysql/fieldAccess.h +158 -0
- data/source/bzs/db/engine/mysql/mydebuglog.cpp +349 -0
- data/source/bzs/db/engine/mysql/mydebuglog.h +89 -0
- data/source/bzs/db/engine/mysql/mysqlInternal.h +171 -0
- data/source/bzs/db/engine/mysql/mysqlThd.cpp +169 -0
- data/source/bzs/db/engine/mysql/mysqlThd.h +35 -0
- data/source/bzs/db/engine/mysql/percentageKey.h +260 -0
- data/source/bzs/db/protocol/ICommandExecuter.h +49 -0
- data/source/bzs/db/protocol/hs/hsCommandExecuter.cpp +689 -0
- data/source/bzs/db/protocol/hs/hsCommandExecuter.h +228 -0
- data/source/bzs/db/protocol/tdap/btrDate.cpp +437 -0
- data/source/bzs/db/protocol/tdap/btrDate.h +227 -0
- data/source/bzs/db/protocol/tdap/client/bulkInsert.h +127 -0
- data/source/bzs/db/protocol/tdap/client/client.cpp +106 -0
- data/source/bzs/db/protocol/tdap/client/client.h +292 -0
- data/source/bzs/db/protocol/tdap/client/connMgr.cpp +144 -0
- data/source/bzs/db/protocol/tdap/client/connMgr.h +82 -0
- data/source/bzs/db/protocol/tdap/client/database.cpp +863 -0
- data/source/bzs/db/protocol/tdap/client/database.h +118 -0
- data/source/bzs/db/protocol/tdap/client/databaseFactory.cpp +100 -0
- data/source/bzs/db/protocol/tdap/client/dbDef.cpp +1640 -0
- data/source/bzs/db/protocol/tdap/client/dbDef.h +135 -0
- data/source/bzs/db/protocol/tdap/client/dllmain.cpp +434 -0
- data/source/bzs/db/protocol/tdap/client/errorMessage.cpp +92 -0
- data/source/bzs/db/protocol/tdap/client/errorMessage_ja.cpp +98 -0
- data/source/bzs/db/protocol/tdap/client/fieldDDF.cpp +174 -0
- data/source/bzs/db/protocol/tdap/client/fieldDDF.h +91 -0
- data/source/bzs/db/protocol/tdap/client/fileDDF.cpp +140 -0
- data/source/bzs/db/protocol/tdap/client/fileDDF.h +86 -0
- data/source/bzs/db/protocol/tdap/client/filter.cpp +527 -0
- data/source/bzs/db/protocol/tdap/client/filter.h +154 -0
- data/source/bzs/db/protocol/tdap/client/indexDDF.cpp +137 -0
- data/source/bzs/db/protocol/tdap/client/indexDDF.h +84 -0
- data/source/bzs/db/protocol/tdap/client/nsDatabase.cpp +724 -0
- data/source/bzs/db/protocol/tdap/client/nsDatabase.h +123 -0
- data/source/bzs/db/protocol/tdap/client/nsTable.cpp +899 -0
- data/source/bzs/db/protocol/tdap/client/nsTable.h +199 -0
- data/source/bzs/db/protocol/tdap/client/request.h +198 -0
- data/source/bzs/db/protocol/tdap/client/sharedData.cpp +58 -0
- data/source/bzs/db/protocol/tdap/client/sharedData.h +56 -0
- data/source/bzs/db/protocol/tdap/client/sqlBuilder.cpp +574 -0
- data/source/bzs/db/protocol/tdap/client/sqlBuilder.h +53 -0
- data/source/bzs/db/protocol/tdap/client/stringConverter.h +627 -0
- data/source/bzs/db/protocol/tdap/client/table.cpp +2613 -0
- data/source/bzs/db/protocol/tdap/client/table.h +221 -0
- data/source/bzs/db/protocol/tdap/client/trdboostapi.h +1096 -0
- data/source/bzs/db/protocol/tdap/client/trdboostapiInternal.h +179 -0
- data/source/bzs/db/protocol/tdap/client/trdclcppautolink.h +40 -0
- data/source/bzs/db/protocol/tdap/client/trnsctcl.def +11 -0
- data/source/bzs/db/protocol/tdap/myDateTime.cpp +500 -0
- data/source/bzs/db/protocol/tdap/mysql/characterset.cpp +184 -0
- data/source/bzs/db/protocol/tdap/mysql/characterset.h +60 -0
- data/source/bzs/db/protocol/tdap/mysql/databaseSchema.cpp +284 -0
- data/source/bzs/db/protocol/tdap/mysql/databaseSchema.h +53 -0
- data/source/bzs/db/protocol/tdap/mysql/debuglog.cpp +383 -0
- data/source/bzs/db/protocol/tdap/mysql/debuglog.h +106 -0
- data/source/bzs/db/protocol/tdap/mysql/recordsetReader.h +680 -0
- data/source/bzs/db/protocol/tdap/mysql/request.h +202 -0
- data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.cpp +1020 -0
- data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.h +141 -0
- data/source/bzs/db/protocol/tdap/tdapRequest.h +190 -0
- data/source/bzs/db/protocol/tdap/tdapSchema.cpp +295 -0
- data/source/bzs/db/protocol/tdap/tdapSchema.h +558 -0
- data/source/bzs/db/protocol/tdap/tdapcapi.h +423 -0
- data/source/bzs/db/transactd/appBuilderImple.h +55 -0
- data/source/bzs/db/transactd/appModule.cpp +183 -0
- data/source/bzs/db/transactd/appModule.h +80 -0
- data/source/bzs/db/transactd/connManager.cpp +201 -0
- data/source/bzs/db/transactd/connManager.h +60 -0
- data/source/bzs/db/transactd/connectionRecord.h +69 -0
- data/source/bzs/db/transactd/transactd.cpp +325 -0
- data/source/bzs/env/compiler.h +135 -0
- data/source/bzs/env/crosscompile.cpp +130 -0
- data/source/bzs/env/crosscompile.h +150 -0
- data/source/bzs/env/fileopen.h +36 -0
- data/source/bzs/env/mbcswchrLinux.cpp +40 -0
- data/source/bzs/env/mbcswchrLinux.h +88 -0
- data/source/bzs/env/tstring.h +183 -0
- data/source/bzs/example/changeSchema.cpp +117 -0
- data/source/bzs/example/changeSchema_c.cpp +78 -0
- data/source/bzs/example/connection_pool_c.cpp +171 -0
- data/source/bzs/example/createDatabase.cpp +305 -0
- data/source/bzs/example/createDatabase_c.cpp +202 -0
- data/source/bzs/example/deleteRecords.cpp +87 -0
- data/source/bzs/example/deleteRecords_c.cpp +57 -0
- data/source/bzs/example/dropDatabase.cpp +59 -0
- data/source/bzs/example/dropDatabase_c.cpp +34 -0
- data/source/bzs/example/insertRecords.cpp +212 -0
- data/source/bzs/example/insertRecords_c.cpp +153 -0
- data/source/bzs/example/readRecords.cpp +141 -0
- data/source/bzs/example/readRecords_c.cpp +107 -0
- data/source/bzs/example/updateRecords.cpp +99 -0
- data/source/bzs/example/updateRecords_c.cpp +71 -0
- data/source/bzs/example/update_with_transaction.cpp +104 -0
- data/source/bzs/example/update_with_transaction_c.cpp +80 -0
- data/source/bzs/netsvc/client/tcpClient.cpp +226 -0
- data/source/bzs/netsvc/client/tcpClient.h +489 -0
- data/source/bzs/netsvc/server/IAppModule.h +94 -0
- data/source/bzs/netsvc/server/iserver.h +65 -0
- data/source/bzs/netsvc/server/serverCpt.cpp +522 -0
- data/source/bzs/netsvc/server/serverCpt.h +88 -0
- data/source/bzs/netsvc/server/serverPipe.cpp +705 -0
- data/source/bzs/netsvc/server/serverPipe.h +96 -0
- data/source/bzs/netsvc/server/serverTpool.cpp +416 -0
- data/source/bzs/netsvc/server/serverTpool.h +84 -0
- data/source/bzs/rtl/benchmark.cpp +96 -0
- data/source/bzs/rtl/benchmark.h +65 -0
- data/source/bzs/rtl/datetime.cpp +375 -0
- data/source/bzs/rtl/datetime.h +53 -0
- data/source/bzs/rtl/debuglog.cpp +106 -0
- data/source/bzs/rtl/debuglog.h +97 -0
- data/source/bzs/rtl/exception.h +116 -0
- data/source/bzs/rtl/stl_uty.cpp +35 -0
- data/source/bzs/rtl/stl_uty.h +29 -0
- data/source/bzs/rtl/stringBuffers.cpp +101 -0
- data/source/bzs/rtl/stringBuffers.h +58 -0
- data/source/bzs/rtl/strtrim.cpp +135 -0
- data/source/bzs/rtl/strtrim.h +46 -0
- data/source/bzs/test/tdclatl/bench_tdclatl.js +445 -0
- data/source/bzs/test/tdclrb/bench_tdclcpp.rb +375 -0
- data/source/bzs/test/tdclrb/prepare.rb +226 -0
- data/source/bzs/test/tdclrb/transactd_datetime_spec.rb +172 -0
- data/source/bzs/test/tdclrb/transactd_kanjischema_spec.rb +208 -0
- data/source/bzs/test/tdclrb/transactd_spec.rb +1536 -0
- data/source/bzs/test/transactdBench/transactdBench.cpp +430 -0
- data/source/bzs/test/transactdBench/transactdBench2.cpp +342 -0
- data/source/bzs/test/trdclengn/test_trdclengn.cpp +2030 -0
- data/source/global/tdclatl/Database.cpp +503 -0
- data/source/global/tdclatl/Database.h +139 -0
- data/source/global/tdclatl/DbDef.cpp +242 -0
- data/source/global/tdclatl/DbDef.h +79 -0
- data/source/global/tdclatl/Field.cpp +92 -0
- data/source/global/tdclatl/Field.h +59 -0
- data/source/global/tdclatl/FieldDef.cpp +238 -0
- data/source/global/tdclatl/FieldDef.h +87 -0
- data/source/global/tdclatl/Flags.cpp +111 -0
- data/source/global/tdclatl/Flags.h +55 -0
- data/source/global/tdclatl/KeyDef.cpp +51 -0
- data/source/global/tdclatl/KeyDef.h +55 -0
- data/source/global/tdclatl/KeySegment.cpp +55 -0
- data/source/global/tdclatl/Table.cpp +600 -0
- data/source/global/tdclatl/Table.h +144 -0
- data/source/global/tdclatl/TableDef.cpp +291 -0
- data/source/global/tdclatl/TableDef.h +86 -0
- data/source/global/tdclatl/TdVersion.cpp +74 -0
- data/source/global/tdclatl/TdVersion.h +54 -0
- data/source/global/tdclatl/_IDatabaseEvents_CP.h +113 -0
- data/source/global/tdclatl/dllmain.cpp +30 -0
- data/source/global/tdclatl/dllmain.h +27 -0
- data/source/global/tdclatl/keySegment.h +57 -0
- data/source/global/tdclatl/resource.h +0 -0
- data/source/global/tdclatl/stdafx.cpp +2 -0
- data/source/global/tdclatl/stdafx.h +25 -0
- data/source/global/tdclatl/targetver.h +4 -0
- data/source/global/tdclatl/tdclatl.cpp +68 -0
- data/source/global/tdclatl/tdclatl.def +10 -0
- data/source/global/tdclatl/tdclatl.idl +1035 -0
- data/source/linux/charsetConvert.h +112 -0
- data/source/linux/linuxTypes.h +33 -0
- data/source/linux/tchar.h +428 -0
- data/transactd.gemspec +97 -0
- metadata +267 -0
|
@@ -0,0 +1,600 @@
|
|
|
1
|
+
/*=================================================================
|
|
2
|
+
Copyright (C) 2013 BizStation Corp All rights reserved.
|
|
3
|
+
|
|
4
|
+
This program is free software; you can redistribute it and/or
|
|
5
|
+
modify it under the terms of the GNU General Public License
|
|
6
|
+
as published by the Free Software Foundation; either version 2
|
|
7
|
+
of the License, or (at your option) any later version.
|
|
8
|
+
|
|
9
|
+
This program is distributed in the hope that it will be useful,
|
|
10
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
GNU General Public License for more details.
|
|
13
|
+
|
|
14
|
+
You should have received a copy of the GNU General Public License
|
|
15
|
+
along with this program; if not, write to the Free Software
|
|
16
|
+
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
17
|
+
02111-1307, USA.
|
|
18
|
+
=================================================================*/
|
|
19
|
+
#include "stdafx.h"
|
|
20
|
+
#include "Table.h"
|
|
21
|
+
#include "Database.h"
|
|
22
|
+
#include "DbDef.h"
|
|
23
|
+
#include "TableDef.h"
|
|
24
|
+
#include "Field.h"
|
|
25
|
+
|
|
26
|
+
using namespace bzs::db::protocol::tdap;
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
short CTableTd::GetFieldNum(VARIANT* Index)
|
|
31
|
+
{
|
|
32
|
+
short index = -1;
|
|
33
|
+
if (Index->vt == VT_BSTR)
|
|
34
|
+
index = m_tb->fieldNumByName(Index->bstrVal);
|
|
35
|
+
else if ((Index->vt == VT_I2) || (Index->vt == VT_I4))
|
|
36
|
+
index = Index->iVal;
|
|
37
|
+
return index;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
STDMETHODIMP CTableTd::get_Text(VARIANT Index, BSTR* Value)
|
|
41
|
+
{
|
|
42
|
+
short index = GetFieldNum(&Index);
|
|
43
|
+
if (index < 0)
|
|
44
|
+
return Error("Invalid index", IID_ITable);
|
|
45
|
+
|
|
46
|
+
*Value = ::SysAllocString(m_tb->getFVstr(index));
|
|
47
|
+
return S_OK;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
STDMETHODIMP CTableTd::get_Vlng(VARIANT Index, int* Value)
|
|
51
|
+
{
|
|
52
|
+
short index = GetFieldNum(&Index);
|
|
53
|
+
if (index < 0)
|
|
54
|
+
return Error("Invalid index", IID_ITable);
|
|
55
|
+
*Value = m_tb->getFVint(index);
|
|
56
|
+
return S_OK;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
STDMETHODIMP CTableTd::put_Text(VARIANT Index, BSTR Value)
|
|
60
|
+
{
|
|
61
|
+
short index = GetFieldNum(&Index);
|
|
62
|
+
if (index < 0)
|
|
63
|
+
return Error("Invalid index", IID_ITable);
|
|
64
|
+
m_tb->setFVW(index, Value);
|
|
65
|
+
return S_OK;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
STDMETHODIMP CTableTd::put_Vlng(VARIANT Index, int Value)
|
|
69
|
+
{
|
|
70
|
+
short index = GetFieldNum(&Index);
|
|
71
|
+
if (index < 0)
|
|
72
|
+
return Error("Invalid index", IID_ITable);
|
|
73
|
+
m_tb->setFV(index, Value);
|
|
74
|
+
return S_OK;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
STDMETHODIMP CTableTd::get_V64(VARIANT Index, __int64* Value)
|
|
78
|
+
{
|
|
79
|
+
short index = GetFieldNum(&Index);
|
|
80
|
+
if (index < 0)
|
|
81
|
+
return Error("Invalid index", IID_ITable);
|
|
82
|
+
*Value = m_tb->getFV64(index);
|
|
83
|
+
return S_OK;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
STDMETHODIMP CTableTd::put_V64(VARIANT Index, __int64 Value)
|
|
87
|
+
{
|
|
88
|
+
short index = GetFieldNum(&Index);
|
|
89
|
+
if (index < 0)
|
|
90
|
+
return Error("Invalid index", IID_ITable);
|
|
91
|
+
m_tb->setFV(index, Value);
|
|
92
|
+
return S_OK;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
STDMETHODIMP CTableTd::get_Vdbl(VARIANT Index, double* Value)
|
|
96
|
+
{
|
|
97
|
+
short index = GetFieldNum(&Index);
|
|
98
|
+
if (index < 0)
|
|
99
|
+
return Error("Invalid index", IID_ITable);
|
|
100
|
+
*Value = m_tb->getFVdbl(index);
|
|
101
|
+
return S_OK;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
STDMETHODIMP CTableTd::put_Vdbl(VARIANT Index, double Value)
|
|
105
|
+
{
|
|
106
|
+
short index = GetFieldNum(&Index);
|
|
107
|
+
if (index < 0)
|
|
108
|
+
return Error("Invalid index", IID_ITable);
|
|
109
|
+
m_tb->setFV(index, Value);
|
|
110
|
+
return S_OK;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
STDMETHODIMP CTableTd::get_Vbin(VARIANT Index, BSTR* Value)
|
|
114
|
+
{
|
|
115
|
+
short index = GetFieldNum(&Index);
|
|
116
|
+
if (index < 0)
|
|
117
|
+
return Error("Invalid index", IID_ITable);
|
|
118
|
+
uint_td size;
|
|
119
|
+
void* p = m_tb->getFVbin(index, size);
|
|
120
|
+
|
|
121
|
+
*Value = ::SysAllocStringByteLen((char*)p, size);
|
|
122
|
+
|
|
123
|
+
return S_OK;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
STDMETHODIMP CTableTd::put_Vbin(VARIANT Index, BSTR Value)
|
|
127
|
+
{
|
|
128
|
+
|
|
129
|
+
short index = GetFieldNum(&Index);
|
|
130
|
+
if (index < 0)
|
|
131
|
+
return Error("Invalid index", IID_ITable);
|
|
132
|
+
int len = ::SysStringByteLen(Value);
|
|
133
|
+
if (len > m_tb->tableDef()->fieldDefs[index].len)
|
|
134
|
+
len = m_tb->tableDef()->fieldDefs[index].len;
|
|
135
|
+
m_tb->setFV(index, Value, len);
|
|
136
|
+
return S_OK;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
STDMETHODIMP CTableTd::get_TableDef(ITableDef** Value)
|
|
140
|
+
{
|
|
141
|
+
CComObject<CTableDef> *piObj;
|
|
142
|
+
CComObject<CTableDef>::CreateInstance(&piObj);
|
|
143
|
+
if (piObj)
|
|
144
|
+
{
|
|
145
|
+
m_tabledef = const_cast<tabledef*>(m_tb->tableDef());
|
|
146
|
+
piObj->m_tabledefPtr = &m_tabledef;
|
|
147
|
+
_ASSERTE(m_db);
|
|
148
|
+
ITableDef* tbd;
|
|
149
|
+
piObj->QueryInterface(IID_ITableDef, (void**)&tbd);
|
|
150
|
+
_ASSERTE(tbd);
|
|
151
|
+
*Value = tbd;
|
|
152
|
+
}else
|
|
153
|
+
*Value = 0;
|
|
154
|
+
return S_OK;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
STDMETHODIMP CTableTd::Insert(eUpdateType ncc)
|
|
158
|
+
{
|
|
159
|
+
m_tb->insert((client::nstable::eUpdateType)ncc);
|
|
160
|
+
return S_OK;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
STDMETHODIMP CTableTd::Delete(VARIANT_BOOL inkey)
|
|
164
|
+
{
|
|
165
|
+
m_tb->del(inkey);
|
|
166
|
+
return S_OK;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
STDMETHODIMP CTableTd::ClearBuffer()
|
|
170
|
+
{
|
|
171
|
+
m_tb->clearBuffer();
|
|
172
|
+
return S_OK;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
STDMETHODIMP CTableTd::Close()
|
|
176
|
+
{
|
|
177
|
+
m_tb->close();
|
|
178
|
+
return S_OK;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
STDMETHODIMP CTableTd::SeekFirst(eLockType lockBias)
|
|
182
|
+
{
|
|
183
|
+
m_tb->seekFirst((ushort_td)lockBias);
|
|
184
|
+
return S_OK;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
STDMETHODIMP CTableTd::SeekLast(eLockType lockBias)
|
|
188
|
+
{
|
|
189
|
+
m_tb->seekLast((ushort_td)lockBias);
|
|
190
|
+
return S_OK;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
STDMETHODIMP CTableTd::SeekPrev(eLockType lockBias)
|
|
194
|
+
{
|
|
195
|
+
m_tb->seekPrev((ushort_td)lockBias);
|
|
196
|
+
return S_OK;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
STDMETHODIMP CTableTd::SeekNext(eLockType lockBias)
|
|
200
|
+
{
|
|
201
|
+
m_tb->seekNext((ushort_td)lockBias);
|
|
202
|
+
return S_OK;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
STDMETHODIMP CTableTd::Seek(eLockType lockBias)
|
|
206
|
+
{
|
|
207
|
+
m_tb->seek((ushort_td)lockBias);
|
|
208
|
+
return S_OK;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
STDMETHODIMP CTableTd::SeekGreater(VARIANT_BOOL orEqual, eLockType lockBias)
|
|
212
|
+
{
|
|
213
|
+
m_tb->seekGreater(orEqual,(ushort_td)lockBias);
|
|
214
|
+
return S_OK;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
STDMETHODIMP CTableTd::SeekLessThan(VARIANT_BOOL orEqual, eLockType lockBias)
|
|
218
|
+
{
|
|
219
|
+
m_tb->seekLessThan(orEqual,(ushort_td)lockBias);
|
|
220
|
+
return S_OK;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
STDMETHODIMP CTableTd::get_BookMark(long* Value)
|
|
224
|
+
{
|
|
225
|
+
*Value = m_tb->bookmark();
|
|
226
|
+
return S_OK;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
STDMETHODIMP CTableTd::SeekByBookMark(long Value, eLockType lockBias)
|
|
230
|
+
{
|
|
231
|
+
m_tb->seekByBookmark(Value, (ushort_td)lockBias);
|
|
232
|
+
return S_OK;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
STDMETHODIMP CTableTd::get_Percentage(long* Value)
|
|
236
|
+
{
|
|
237
|
+
*Value = m_tb->getPercentage();
|
|
238
|
+
return S_OK;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
STDMETHODIMP CTableTd::get_RecordLength(long* Value)
|
|
242
|
+
{
|
|
243
|
+
*Value = m_tb->recordLength();
|
|
244
|
+
return S_OK;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
STDMETHODIMP CTableTd::get_RecordCount(long* Value)
|
|
248
|
+
{
|
|
249
|
+
*Value = m_tb->recordCount();
|
|
250
|
+
return S_OK;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
STDMETHODIMP CTableTd::SeekByPercentage(long Value)
|
|
254
|
+
{
|
|
255
|
+
m_tb->seekByPercentage(Value);
|
|
256
|
+
return S_OK;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
STDMETHODIMP CTableTd::get_KeyNum(short* Value)
|
|
260
|
+
{
|
|
261
|
+
*Value = m_tb->keyNum();
|
|
262
|
+
return S_OK;
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
STDMETHODIMP CTableTd::get_Stat(eStatus* Value)
|
|
266
|
+
{
|
|
267
|
+
*Value = (eStatus)m_tb->stat();
|
|
268
|
+
return S_OK;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
STDMETHODIMP CTableTd::put_Stat(eStatus Value)
|
|
272
|
+
{
|
|
273
|
+
m_tb->setStat(Value);
|
|
274
|
+
return S_OK;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
STDMETHODIMP CTableTd::put_KeyNum(short Value)
|
|
278
|
+
{
|
|
279
|
+
m_tb->setKeyNum((char_td)Value);
|
|
280
|
+
return S_OK;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
STDMETHODIMP CTableTd::FindFirst()
|
|
284
|
+
{
|
|
285
|
+
m_tb->findFirst();
|
|
286
|
+
return S_OK;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
STDMETHODIMP CTableTd::FindLast()
|
|
290
|
+
{
|
|
291
|
+
m_tb->findLast();
|
|
292
|
+
return S_OK;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
STDMETHODIMP CTableTd::FindNext(VARIANT_BOOL notIncCurrent)
|
|
296
|
+
{
|
|
297
|
+
m_tb->findNext((bool)notIncCurrent);
|
|
298
|
+
return S_OK;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
STDMETHODIMP CTableTd::FindPrev(VARIANT_BOOL notIncCurrent)
|
|
302
|
+
{
|
|
303
|
+
m_tb->findPrev((bool)notIncCurrent);
|
|
304
|
+
return S_OK;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
STDMETHODIMP CTableTd::get_Filter(BSTR* Value)
|
|
308
|
+
{
|
|
309
|
+
*Value = ::SysAllocString(m_tb->filterStr());
|
|
310
|
+
return S_OK;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
STDMETHODIMP CTableTd::put_Filter(BSTR Value)
|
|
314
|
+
{
|
|
315
|
+
m_tb->setFilter(Value, m_filterRejectCount, m_filterGetCount);
|
|
316
|
+
return S_OK;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
STDMETHODIMP CTableTd::UpDate(eUpdateType ncc)
|
|
320
|
+
{
|
|
321
|
+
m_tb->update((client::nstable::eUpdateType)ncc);
|
|
322
|
+
return S_OK;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
STDMETHODIMP CTableTd::StepFirst(eLockType lockBias)
|
|
326
|
+
{
|
|
327
|
+
m_tb->stepFirst((ushort_td)lockBias);
|
|
328
|
+
return S_OK;
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
STDMETHODIMP CTableTd::StepLast(eLockType lockBias)
|
|
332
|
+
{
|
|
333
|
+
m_tb->stepLast((ushort_td)lockBias);
|
|
334
|
+
return S_OK;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
STDMETHODIMP CTableTd::StepPrev(eLockType lockBias)
|
|
338
|
+
{
|
|
339
|
+
m_tb->stepPrev((ushort_td)lockBias);
|
|
340
|
+
return S_OK;
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
STDMETHODIMP CTableTd::StepNext(eLockType lockBias)
|
|
344
|
+
{
|
|
345
|
+
m_tb->stepNext((ushort_td)lockBias);
|
|
346
|
+
return S_OK;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
STDMETHODIMP CTableTd::AbortBulkInsert()
|
|
350
|
+
{
|
|
351
|
+
m_tb->abortBulkInsert();
|
|
352
|
+
return S_OK;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
STDMETHODIMP CTableTd::BeginBulkInsert(long Value)
|
|
356
|
+
{
|
|
357
|
+
m_tb->beginBulkInsert(Value);
|
|
358
|
+
return S_OK;
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
STDMETHODIMP CTableTd::CommitBulkInsert()
|
|
362
|
+
{
|
|
363
|
+
m_tb->commitBulkInsert(false);
|
|
364
|
+
return S_OK;
|
|
365
|
+
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
STDMETHODIMP CTableTd::get_FilterGetCount(long* Value)
|
|
369
|
+
{
|
|
370
|
+
*Value = m_filterGetCount;
|
|
371
|
+
return S_OK;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
STDMETHODIMP CTableTd::get_FilterRejectCount(long* Value)
|
|
375
|
+
{
|
|
376
|
+
*Value = m_filterRejectCount;
|
|
377
|
+
return S_OK;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
STDMETHODIMP CTableTd::put_FilterGetCount(long Value)
|
|
381
|
+
{
|
|
382
|
+
m_filterGetCount = Value;
|
|
383
|
+
return S_OK;
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
STDMETHODIMP CTableTd::put_FilterRejectCount(long Value)
|
|
387
|
+
{
|
|
388
|
+
m_filterRejectCount = Value;
|
|
389
|
+
return S_OK;
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
STDMETHODIMP CTableTd::Field(VARIANT Index, IField** Value)
|
|
393
|
+
{
|
|
394
|
+
|
|
395
|
+
short index = GetFieldNum(&Index);
|
|
396
|
+
if (index < 0)
|
|
397
|
+
return Error("Invalid index", IID_ITable);
|
|
398
|
+
|
|
399
|
+
CComObject<CField> *piObj;
|
|
400
|
+
CComObject<CField>::CreateInstance(&piObj);
|
|
401
|
+
if (piObj)
|
|
402
|
+
{
|
|
403
|
+
piObj->m_tb = m_tb;
|
|
404
|
+
piObj->m_index = index;
|
|
405
|
+
IField* tbd;
|
|
406
|
+
piObj->QueryInterface(IID_IField, (void**)&tbd);
|
|
407
|
+
_ASSERTE(tbd);
|
|
408
|
+
*Value = piObj;
|
|
409
|
+
}
|
|
410
|
+
else
|
|
411
|
+
*Value = 0;
|
|
412
|
+
return S_OK;
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
STDMETHODIMP CTableTd::get_CanDelete(VARIANT_BOOL* Value)
|
|
416
|
+
{
|
|
417
|
+
*Value = m_tb->canDelete();
|
|
418
|
+
return S_OK;
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
STDMETHODIMP CTableTd::get_CanInsert(VARIANT_BOOL* Value)
|
|
422
|
+
{
|
|
423
|
+
*Value = m_tb->canInsert();
|
|
424
|
+
return S_OK;
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
STDMETHODIMP CTableTd::get_CanRead(VARIANT_BOOL* Value)
|
|
428
|
+
{
|
|
429
|
+
*Value = m_tb->canRead();
|
|
430
|
+
return S_OK;
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
STDMETHODIMP CTableTd::get_CanWrite(VARIANT_BOOL* Value)
|
|
434
|
+
{
|
|
435
|
+
*Value = m_tb->canWrite();
|
|
436
|
+
return S_OK;
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
STDMETHODIMP CTableTd::ClearOwnerName(void)
|
|
440
|
+
{
|
|
441
|
+
m_tb->clearOwnerName();
|
|
442
|
+
return S_OK;
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
STDMETHODIMP CTableTd::CreateIndex(VARIANT_BOOL specifyKeyNum)
|
|
446
|
+
{
|
|
447
|
+
m_tb->createIndex(specifyKeyNum);
|
|
448
|
+
return S_OK;
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
STDMETHODIMP CTableTd::DropIndex(VARIANT_BOOL norenumber)
|
|
452
|
+
{
|
|
453
|
+
m_tb->dropIndex(norenumber);
|
|
454
|
+
return S_OK;
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
STDMETHODIMP CTableTd::get_Datalen(unsigned int* Value)
|
|
458
|
+
{
|
|
459
|
+
*Value = m_tb->datalen();
|
|
460
|
+
return S_OK;
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
STDMETHODIMP CTableTd::get_WriteImageLen(unsigned int* Value)
|
|
464
|
+
{
|
|
465
|
+
*Value = m_tb->getWriteImageLen();
|
|
466
|
+
return S_OK;
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
STDMETHODIMP CTableTd::get_IsOpen(VARIANT_BOOL* Value)
|
|
470
|
+
{
|
|
471
|
+
*Value = m_tb->isOpen();
|
|
472
|
+
return S_OK;
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
STDMETHODIMP CTableTd::SetAccessRights(unsigned char curd)
|
|
476
|
+
{
|
|
477
|
+
m_tb->setAccessRights(curd);
|
|
478
|
+
return S_OK;
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
STDMETHODIMP CTableTd::SetOwnerName(BSTR* name, short enctype)
|
|
482
|
+
{
|
|
483
|
+
m_tb->setOwnerName(*name, (char_td)enctype);
|
|
484
|
+
return S_OK;
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
STDMETHODIMP CTableTd::TdapErr(OLE_HANDLE hWnd, BSTR* Value)
|
|
488
|
+
{
|
|
489
|
+
if (Value)
|
|
490
|
+
{
|
|
491
|
+
wchar_t tmp[512] =
|
|
492
|
+
{NULL};
|
|
493
|
+
m_tb->tdapErr((HWND)hWnd, tmp);
|
|
494
|
+
*Value = ::SysAllocString(tmp);
|
|
495
|
+
}
|
|
496
|
+
else
|
|
497
|
+
m_tb->tdapErr((HWND)hWnd);
|
|
498
|
+
return S_OK;
|
|
499
|
+
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
STDMETHODIMP CTableTd::Unlock_(unsigned int bm)
|
|
503
|
+
{
|
|
504
|
+
m_tb->unlock(bm);
|
|
505
|
+
return S_OK;
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
STDMETHODIMP CTableTd::get_BlobFieldUsed(VARIANT_BOOL* Value)
|
|
509
|
+
{
|
|
510
|
+
*Value = m_tb->blobFieldUsed();
|
|
511
|
+
return S_OK;
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
STDMETHODIMP CTableTd::get_BookmarkFindCurrent(unsigned int* Value)
|
|
515
|
+
{
|
|
516
|
+
|
|
517
|
+
*Value = m_tb->bookmarkFindCurrent();
|
|
518
|
+
return S_OK;
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
STDMETHODIMP CTableTd::get_BookMarksCount(int* Value)
|
|
522
|
+
{
|
|
523
|
+
|
|
524
|
+
*Value = m_tb->bookMarksCount();
|
|
525
|
+
return S_OK;
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
STDMETHODIMP CTableTd::Find(eFindType FindType)
|
|
529
|
+
{
|
|
530
|
+
|
|
531
|
+
m_tb->find((client::table::eFindType)FindType);
|
|
532
|
+
return S_OK;
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
STDMETHODIMP CTableTd::get_RecordHash(unsigned int* Value)
|
|
536
|
+
{
|
|
537
|
+
|
|
538
|
+
*Value = m_tb->getRecordHash();
|
|
539
|
+
return S_OK;
|
|
540
|
+
}
|
|
541
|
+
|
|
542
|
+
STDMETHODIMP CTableTd::get_LogicalToString(VARIANT_BOOL* Value)
|
|
543
|
+
{
|
|
544
|
+
*Value = m_tb->logicalToString();
|
|
545
|
+
return S_OK;
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
STDMETHODIMP CTableTd::put_LogicalToString(VARIANT_BOOL Value)
|
|
549
|
+
{
|
|
550
|
+
m_tb->setLogicalToString(Value);
|
|
551
|
+
return S_OK;
|
|
552
|
+
}
|
|
553
|
+
|
|
554
|
+
STDMETHODIMP CTableTd::get_TrimPadChar(VARIANT_BOOL* Value)
|
|
555
|
+
{
|
|
556
|
+
*Value = m_tb->trimPadChar();
|
|
557
|
+
return S_OK;
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
STDMETHODIMP CTableTd::put_TrimPadChar(VARIANT_BOOL Value)
|
|
561
|
+
{
|
|
562
|
+
m_tb->setTrimPadChar(Value);
|
|
563
|
+
return S_OK;
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
STDMETHODIMP CTableTd::get_UsePadChar(VARIANT_BOOL* Value)
|
|
567
|
+
{
|
|
568
|
+
*Value = m_tb->usePadChar();
|
|
569
|
+
return S_OK;
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
STDMETHODIMP CTableTd::put_UsePadChar(VARIANT_BOOL Value)
|
|
573
|
+
{
|
|
574
|
+
m_tb->setUsePadChar(Value);
|
|
575
|
+
return S_OK;
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
STDMETHODIMP CTableTd::MoveBookmarksId(long Value)
|
|
579
|
+
{
|
|
580
|
+
m_tb->moveBookmarksId(Value);
|
|
581
|
+
return S_OK;
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
STDMETHODIMP CTableTd::get_MyDateTimeValueByBtrv(VARIANT_BOOL* Value)
|
|
585
|
+
{
|
|
586
|
+
*Value = m_tb->myDateTimeValueByBtrv();
|
|
587
|
+
return S_OK;
|
|
588
|
+
}
|
|
589
|
+
|
|
590
|
+
STDMETHODIMP CTableTd::get_ValiableFormatType(VARIANT_BOOL* Value)
|
|
591
|
+
{
|
|
592
|
+
*Value = m_tb->valiableFormatType();
|
|
593
|
+
return S_OK;
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
STDMETHODIMP CTableTd::SmartUpdate(void)
|
|
597
|
+
{
|
|
598
|
+
m_tb->smartUpdate();
|
|
599
|
+
return S_OK;
|
|
600
|
+
}
|