[root] / trunk / sql / oracle / src / TOracleServer.cxx Repository:
ViewVC logotype

Log of /trunk/sql/oracle/src/TOracleServer.cxx

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

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 49016 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Mar 31 17:16:42 2013 UTC (21 months, 3 weeks ago) by pcanal
File length: 19645 byte(s)
Diff to previous 49015
Import revision 48915 from the v5-34-00 patch branch:
White spaces

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 49014 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Mar 31 17:15:47 2013 UTC (21 months, 3 weeks ago) by pcanal
File length: 19645 byte(s)
Diff to previous 48992
Import revision 48910 from the v5-34-00 patch branch:
Add Note of missing implementation

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 44341 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 29 15:02:48 2012 UTC (2 years, 7 months ago) by axel
File length: 19105 byte(s)
Diff to previous 35344
Remove using namespaces from headers as per Savannah #94452.

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 32576 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 11 22:15:31 2010 UTC (4 years, 10 months ago) by pcanal
File length: 19037 byte(s)
Diff to previous 32196
From Pietro Cortese, update for oracle, see https://savannah.cern.ch/bugs/?57995

Revision 32196 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 3 14:39:19 2010 UTC (4 years, 11 months ago) by rdm
File length: 18908 byte(s)
Diff to previous 30663
update information on the Oracle instant client version.

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 23123 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 10 15:18:52 2008 UTC (6 years, 9 months ago) by rdm
File length: 17907 byte(s)
Diff to previous 20882
move the following directories to "sql":

mysql, odbc, oracle, pgsql, sapdb

Revision 20882 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 19 11:31:26 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/oracle/src/TOracleServer.cxx
File length: 17907 byte(s)
Diff to previous 19826
Set property svn:eol-style LF on all source and Makefiles. This should avoid
problems with Win32 line endings ending up in the repository. All MS tools
support LF eols fine.

Revision 19826 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:56:11 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/oracle/src/TOracleServer.cxx
File length: 17907 byte(s)
Diff to previous 19825
imported svn:keywords Id property

Revision 19825 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:49:10 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/oracle/src/TOracleServer.cxx
File length: 17962 byte(s)
Diff to previous 17987
remove :$ from tag line

Revision 17987 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Feb 16 12:15:41 2007 UTC (7 years, 11 months ago) by rdm
Original Path: trunk/oracle/src/TOracleServer.cxx
File length: 17972 byte(s)
Diff to previous 17176
Add extensive description how to setup the Oracle instantclient libraries
and how to use the Oracle plugin.

Revision 17176 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 12 11:29:45 2006 UTC (8 years, 1 month ago) by rdm
Original Path: trunk/oracle/src/TOracleServer.cxx
File length: 15329 byte(s)
Diff to previous 16384
Remove dos line endings.

Revision 16384 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 29 13:58:34 2006 UTC (8 years, 3 months ago) by brun
Original Path: trunk/oracle/src/TOracleServer.cxx
File length: 15334 byte(s)
Diff to previous 16382
From Sergey Linev:
After getting mail from Antonio Bulgheroni [antonio.bulgheroni@gmail.com],
I found out that MySQL and Oracle default ports number not used in ROOT.

Therefore, I made small fix to set default port number for MySQL = 3306 and Oracle = 1521.

Revision 16382 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 29 10:55:58 2006 UTC (8 years, 3 months ago) by brun
Original Path: trunk/oracle/src/TOracleServer.cxx
File length: 15332 byte(s)
Diff to previous 16204
From sergey Linev:
TOracleServer::ServerInfo() is now implemented (thanks to Dennis Box)

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 15511 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 22 08:18:57 2006 UTC (8 years, 7 months ago) by brun
Original Path: trunk/oracle/src/TOracleServer.cxx
File length: 14866 byte(s)
Diff to previous 15305
From Sergey Linev:
1. Bug fix for Oracle plugin - new TOracleServer::Exec() method did not release memory correctly.
2. Small changes in TSQLServer class

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 15063 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 16 10:59:35 2006 UTC (8 years, 8 months ago) by rdm
Original Path: trunk/oracle/src/TOracleServer.cxx
File length: 9283 byte(s)
Diff to previous 14675
From Sergei:
handle change TUrl::GetFile() convention, leading slash is not part of
filename anymore (to be URL standards compliant).

Revision 14675 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Apr 12 20:53:45 2006 UTC (8 years, 9 months ago) by rdm
Original Path: trunk/oracle/src/TOracleServer.cxx
File length: 9254 byte(s)
Diff to previous 14002
From Sergei Linev:
Added TSQLStatment abstract class and TMySQLStatment and TOracleStatement
classes to support bulk DB operations. For more details see the description
in the TSQLStatement.cxx file.

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 11939 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 1 16:12:16 2005 UTC (9 years, 7 months ago) by rdm
Original Path: trunk/oracle/src/TOracleServer.cxx
File length: 10402 byte(s)
Diff to previous 11669
From Bertrand:
fix for compiling on VC++.

Revision 11669 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 25 17:21:11 2005 UTC (9 years, 9 months ago) by rdm
Original Path: trunk/oracle/src/TOracleServer.cxx
File length: 10266 byte(s)
Diff to previous 11560
From Yan Liu:
fixed verion of the Oracle plugin. Should now work as advertised via the
abstract TSQL interfaces.

Revision 11560 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 11 22:39:33 2005 UTC (9 years, 9 months ago) by rdm
Original Path: trunk/oracle/src/TOracleServer.cxx
File length: 8232 byte(s)
Diff to previous 11218
fix two unused argument warnings.

Revision 11218 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 3 11:45:06 2005 UTC (9 years, 10 months ago) by rdm
Original Path: trunk/oracle/src/TOracleServer.cxx
File length: 8223 byte(s)
Diff to previous 11214
some cosmetics.

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.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9