Log of /trunk/sql/oracle/src/TOracleServer.cxx
Parent Directory
Revision
49019 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sun Mar 31 17:18:33 2013 UTC (21 months, 3 weeks ago) by
pcanal
File length: 19645 byte(s)
Diff to
previous 49018
Import revision 48931 from the v5-34-00 patch branch:
Add the concept of implicit rules to (centrally) support automatic translation of
STL collection from numeric type to other numeric type or for when the contained
class has some rules. Currently enabled only when the target is an std::vector.
Implement the transformation from STL container of numeric to any other numeric
type (both in TGenCollectionStreamer and TStreamerInfo[Actions]).
Migrate more of the conversions to TStreamerInfoActions.
Fix the Conversion of a Double32 or Float16 inside a collection of object to another
type (the previous implemetation was not supporting the customization of the factor
nor the number of bits).
Add TBuffer::ReadFastArrayWithNbits and WithFactor for use in the StreamerInfo Actions.
TStreamerInfoActions:
Introduce WithFactorMarker and NoFactorMarker to allow for less code duplicaton when
supporting Float16_t and Double32_t.
Replace the collection-memberwise action from loop over simple operation to using
ReadFastArray (to be compatible with TBufferXML).
Revision
49018 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sun Mar 31 17:17:38 2013 UTC (21 months, 3 weeks ago) by
pcanal
File length: 19645 byte(s)
Diff to
previous 49017
Import revision 48922 from the v5-34-00 patch branch:
Remove inadvertent match between 2 unrelated STL collection containing objects
Revision
49017 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sun Mar 31 17:17:11 2013 UTC (21 months, 3 weeks ago) by
pcanal
File length: 19645 byte(s)
Diff to
previous 49016
Import revision 48921 from the v5-34-00 patch branch:
Improve performace of reading a vector of non-class type by 25% (i.e. std::vector<int>).
The code to apply the same improvement to other container type is in place but is not
enabled yet as the 'better' solution avoid creating a temporary array to read in the
value via Read[Fast]Array, however the avoid the call to Read[Fast]Array breaks
the XML streaming (which uses Read[Fast]Array to insert the <Array> tag around the
element). See for example VectorLooper::ReadCollectionBool ...
Revision
49015 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sun Mar 31 17:16:15 2013 UTC (21 months, 3 weeks ago) by
pcanal
File length: 19645 byte(s)
Diff to
previous 49014
Import revision 48911 from the v5-34-00 patch branch:
Add the Action function for trivial conversion.
Refactor the creation of the ConfiguredAction for collection (using 3 classes with function templates) that are used in the unique generator functions. This reduces code duplication.
Revision
48992 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Mar 28 15:26:26 2013 UTC (21 months, 3 weeks ago) by
rdm
File length: 19645 byte(s)
Diff to
previous 48532
From Lifeng Sun:
The attached patchset fixes a bunch of typo in the source:
0001-succes-success.patch
0002-preceed-preced.patch
0003-informations-information.patch
0004-childs-children.patch
0005-avaliable-available.patch
0006-writeable-writable.patch
0007-comand-command.patch
0008-unkown-unknown.patch
0009-wierd-weird.patch
0010-wheter-whether.patch
0011-unecessary-unnecessary.patch
0012-splitted-split.patch
0013-registerd-registered.patch
0014-recieve-receive.patch
0015-processsing-processing.patch
0016-ouput-output.patch
0017-mutiple-multiple.patch
0018-lenght-length.patch
0019-interupted-interrupted.patch
0020-independant-independent.patch
0021-inconsistant-inconsistent.patch
0022-expresion-expression.patch
0023-explicitely-explicitly.patch
0024-enviroment-environment.patch
0025-deafult-default.patch
0026-continous-continuous.patch
0027-completly-completely.patch
0028-commited-committed.patch
0029-choosen-chosen.patch
0030-backgroud-background.patch
0031-auxilliary-auxiliary.patch
0032-authentification-authentication.patch
0033-appropiate-appropriate.patch
0034-an-other-another.patch
0035-environement-environment.patch
0036-targetting-targeting.patch
0037-suppported-supported.patch
0038-paramater-parameter.patch
Revision
48532 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Feb 11 15:43:40 2013 UTC (23 months, 1 week ago) by
pcanal
File length: 19645 byte(s)
Diff to
previous 44341
Import revision 48531 from the v5-34-00 patch branch:
From Sergey:
To guarantee linkage of libclntsh.so library, I add OCIClientVersion() call to TOracleServer class.
Provided code prints OCI version if gDebug>0.
Revision
35344 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Sep 16 21:34:21 2010 UTC (4 years, 4 months ago) by
pcanal
File length: 19053 byte(s)
Diff to
previous 32576
Fix Coverity reports
G__ci.h: #11161 missing initialization
common.h: #11161 missing initialization
error.cxx: #20793 Array compared against 0
init.cxx: #11712 explicit null derefence
macro.cxx: #10192 missing initialization
shl.cxx: #10626,10627 constant expression result
TBranchProxy.h: #10047 unchecked return value
TTreeProxyGenerator.cxx: #10059,#10060 enum as boolean
TClassEdit.cxx: #11546,#11734 forward null pointer
TStreamerInfoWriteBuffer.cxx: #11572, #11573 forward null pointer
TTreeFormula.cxx: #11587,#11588,#11592 forward null pointer
#11618,#11619 unckecked dynamic cast
TTreePlayer.cxx: #11984,#11985,#11986 dereference after null check
TTreeIndex.cxx: #11596 unckecked dynamic cast
TChainIndex.cxx: #11597,#11988 unckecked dynamic cast
TOracleServer.cxx: #11898 dereference after null check
TH1.cxx: #11983 dereference after null check
TFileDrawMap.cxx: $10896 copy into fixed size buffer
Revision
30663 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sun Oct 11 22:11:51 2009 UTC (5 years, 3 months ago) by
pcanal
File length: 19224 byte(s)
Diff to
previous 29321
TOracleServer:
Implement GetColumns
Fix GetTable to return the result in the correct order
Fix GetTableInfo to properly handle the fact that oracle upper case all the names.
TTreeSQL:
Improve error handling
Properly handle the fact that oracle upper-cases all the names
Fix more sql query syntax
Revision
29321 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jul 3 10:42:10 2009 UTC (5 years, 6 months ago) by
brun
File length: 18853 byte(s)
Diff to
previous 27990
From Sergei Linev:
1. New static methods to set/get time formatting in TOracleServer
2. Move float format constant for TBufferSQL2 to TSQLServer
3. Use that format in several other appropriate places like TODBCStatement, TOracleRow and so on.
4. Replace sprintf to snprintf calls in several places.
Revision
27990 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Mar 30 14:33:07 2009 UTC (5 years, 9 months ago) by
brun
File length: 18200 byte(s)
Diff to
previous 23123
From Sebastien Ponce and Sergei Linev:
Two little extensions to the ROOT classes dealing with SQL and more
precisely ORACLE Statement and Server :
- added possibility to connect to ORACLE in object mode, by adding to
the connection URL an argument like "?ObjectMode=yes"
- added vector interfaces for numeric data in the sqlStatement class
and its implementation in ORACLE
Revision
16204 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Sep 5 13:37:08 2006 UTC (8 years, 4 months ago) by
brun
Original Path:
trunk/oracle/src/TOracleServer.cxx
File length: 14923 byte(s)
Diff to
previous 15538
From Sergey Linev:
1. Support of date/time/date&time/timestamp data introduced in TSQLStatement
All such data now can be accessed without text conversion.
The following methods can be used:
SetTime()/GetTime() - only time (hour:min:sec),
SetDate()/GetDate() - only date (year-month-day),
SetDatime()/GetDatime() - date and time
SetTimestamp()/GetTimestamp() - timestamp with seconds fraction
For some of these methods TDatime type can be used as parameter / return value.
Be aware, that TDatime supports only dates after 1995-01-01.
There are also methods to get separately year, month, day, hour, minutes and seconds.
2. Support of binary data in TSQLStatement
Most of modern data bases support just binary data, which is
typically has SQL type name 'BLOB'. To access data in such
columns, GetBinary()/SetBinary() methods should be used.
Current implementation supposes, that complete content of the
column must be retrieved at once. Therefore very big data of
gigabytes size may cause a problem.
Revision
15538 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sun Jun 25 18:43:24 2006 UTC (8 years, 7 months ago) by
brun
Original Path:
trunk/oracle/src/TOracleServer.cxx
File length: 14877 byte(s)
Diff to
previous 15511
From Sergey Linev:
1. Support for MySQL version 3.2.x and 4.0 enabled again. For that old MySQL versions TSQLStatement is not supported.
2. Small fix in TSQLFile. With old MySQL versions it does not try to use TSQLStatement class.
3. Enabling/disabling error output for TSQLStatement class.
4. Fix in error handling in TMySQLServer::Statement() method. Previousely error code was not correctly stored.
Revision
15305 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jun 2 14:02:03 2006 UTC (8 years, 7 months ago) by
brun
Original Path:
trunk/oracle/src/TOracleServer.cxx
File length: 15719 byte(s)
Diff to
previous 15124
From Sergey Linev:
1. New methods of TSQLServer class (also for Oracle, MySQL, ODBC):
Exec() - execute query which does not produce any result
GetTablesList() - return list of tables names in data-base independent form
IsTableExists() - check if table of given name exists
GetTableInfo() - returns instance of TSQLTableInfo with list of columns.
2. New methods of TSQLStatement class (also for Oracle, MySQL, ODBC):
IsNull() - checks, if field value is NULL
SetNull() - sets parameter value to NULL
New TSQLTableInfo contains information about table and table columns.
For MySQL additional information like engine type, creation and last update time is provided
New TSQLColumnInfo class contains information about single column from SQL table
Has following methods:
GetTypeName() - field type name in string form as it is reported by correspondent
database method. Some databases providing full type name like "numeric(20)",
other showing only "NUMERIC". As a result, one cannot use this string directly
to create new field of similar types in other table
IsNullable() - says if field value can be NULL or not
GetSQLType() - returns kind of sql type. Possible values:
TSQLServer::kSQL_NONE data type unknown
TSQLServer::kSQL_CHAR CHAR(n) - string with fixed length n
TSQLServer::kSQL_VARCHAR VARCHAR(n) - string with variable length upto n
TSQLServer::kSQL_INTEGER INTEGER, INT, TINYINT - any integer types
TSQLServer::kSQL_FLOAT FLOAT - float value
TSQLServer::kSQL_DOUBLE DOUBLE - double precision value
TSQLServer::kSQL_NUMERIC NUMERIC(n,s), NUMBER(n,s) - numeric values with length and precion
TSQLServer::kSQL_BINARY BLOB, VARBINARY - binary data (vriable or fixed size)
TSQLServer::kSQL_TIMESTAMP TIMESTAMP - time and date stamp
GetSize() - size of field in database. -1 if not known.
GetLength() - length argument in type declaration like CHAR(len) or NUMERIC(len), -1 if not defined
GetScale() - second argument in declarations like NUMERIC(len, s), -1 if not defined
GetSigned() - is type signed(==1) or unsigned(==0), -1 if not defined
Revision
15124 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon May 22 08:55:30 2006 UTC (8 years, 8 months ago) by
brun
Original Path:
trunk/oracle/src/TOracleServer.cxx
File length: 10958 byte(s)
Diff to
previous 15063
From Sergei Linev:
1. Error handling is introduced. Now TSQLServer/TSQLStatement returns error code - GetErrorCode()
and message - GetErrorMsg() of last operation.
If desired, error output can be suppressed for TSQLServer. Correspondent changes done in implementation
for Oracle, MySQL, ODBC
2. New methods of TSQLServer class for transactions control: StartTransaction() / Commit() / Rollback().
As desfault implmenetaion in TSQLServer class they corresopnd to SQL "START TRANSACTION", "COMMIT", "ROLLBACK" queries.
For Oracle, MySQL and ODBC specific implmentaion were done while there special methods should be called.
3. Some other new methods of TSQLServer class:
IsSupportStatement() - return kTRUE if plugin has TSQLStatement implementation
GetMaxIdentifierLength() - return maximum allowed length of identifiers
4. Bugfix in TODBCRow class
Revision
14002 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Feb 7 19:48:00 2006 UTC (8 years, 11 months ago) by
pcanal
Original Path:
trunk/oracle/src/TOracleServer.cxx
File length: 10505 byte(s)
Diff to
previous 11939
From Sergei Linev:
Main performance improvement are these two lines.
fStmt->setPrefetchRowCount(1000);
fStmt->setPrefetchMemorySize(1000000);
It increases default buffers, which are about 8K and read much faster.
For my example it runs 3 times faster, for other application it can be 4-5 times.
Second patch is required for treatement of integers out of normal integer range (long long or unsigned int).
I replace string -> int -> string conversion by just copying string to buffer. For the floats it is not working,
while Oracle text format differs from C++ format.
Revision
11214 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Mar 3 08:06:16 2005 UTC (9 years, 10 months ago) by
brun
Original Path:
trunk/oracle/src/TOracleServer.cxx
File length: 8202 byte(s)
Diff to
previous 11203
From Yan Liu:
1. implemented TOracleServer::GetColumns() using occi
MetaData instead of original SQL select statement. This
implementation works for any Oracle 10 databases without
constraints on user granted priveleges.
2. implemented TOracleServer::GetTables(). The TSQLServer::GetTables()
is MySQL oriented. In Oracle, table is accessed in "schema.table" format.
The implementation handles two cases: with and without schema name.
The return value conforms TSQL spec, i.e. a TSQLResult pointer.
3. fixed a critical bug in TOracleResult::Next().
Revision
11203 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Added
Mon Feb 28 19:11:00 2005 UTC (9 years, 10 months ago) by
rdm
Original Path:
trunk/oracle/src/TOracleServer.cxx
File length: 8727 byte(s)
From Yan Liu and Shaowen Wang:
This is the first version of the new oracle plugin.
To build this plugin one needs to install the following
Oracle InstantClient rpms:
oracle-instantclient-basic-10.1.0.3-1
oracle-instantclient-devel-10.1.0.3-1
And the following environment variables in your .[bash_]profile:
export ORACLEINCDIR=/usr/include/oracle/10.1.0.3/client
export ORACLELIBDIR=/usr/lib/oracle/10.1.0.3/client/lib
export LD_LIBRARY_PATH=$ORACLELIBDIR:$LD_LIBRARY_PATH
This form allows you to request diffs between any two revisions of this file.
For each of the two "sides" of the diff,
enter a numeric revision.