aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-11-03Add support for mapping std::vector<unsigned char> to BLOB typesBoris Kolpackov2-1/+152
2011-11-02Bump version to 1.7.0.a1Boris Kolpackov2-4/+4
2011-11-02Optimize load_id(), load() sequence for SQLite and PostgreSQLBoris Kolpackov2-2/+2
In these databases both of these functions load the data into the object image. If there is no chance of image overwrite between these calls, then we don't need to load the image the second time.
2011-11-02Use image copy in load_id()Boris Kolpackov1-1/+2
2011-11-02Revert previous commit: failing to reset lob prefetch size leads to ORA-03106Boris Kolpackov1-0/+27
2011-11-01Do not reset the lob prefetch buffer size while rebinding result parametersConstantin Michael1-23/+0
2011-11-01Implement support for optimistic concurrencyBoris Kolpackov4-11/+91
New pragmas: optimistic, version. New test: optimistic. New database function: reload().
2011-11-01Rework statement interfaces wrt param/result passingBoris Kolpackov4-53/+59
2011-11-01Immediately specify a query as done if on execution the result set is emptyConstantin Michael1-1/+1
2011-11-01Check for change_callback ownership prior to modifying the imageConstantin Michael2-38/+82
2011-11-01Store the OCIDefine handle for LOB result parameters and reuse it on rebindingConstantin Michael2-2/+11
2011-11-01Correct placeholder variable type used in call to OCIAttrSetConstantin Michael1-2/+6
2011-11-01Implement change callbacks for object_result and view_resultConstantin Michael10-13/+238
2011-11-01Implement lob_auto_descriptorConstantin Michael2-5/+37
2011-11-01Implement query image change callback machineryConstantin Michael5-1/+27
2011-10-27Make sure output directory exist before generating config.hBoris Kolpackov1-1/+1
2011-10-27Add support for persistent classes without object idsBoris Kolpackov9-48/+304
New pragma id (object). New test: common/no-id.
2011-10-27Correct point at which stream_result() is calledBoris Kolpackov1-1/+1
2011-10-27Add missing stream_result() callBoris Kolpackov1-0/+1
2011-10-27Add buffer_type member to integer image_traits to allow derivation of unsignedConstantin Michael2-2/+6
2011-10-27Use sizeof consistently to specify image capacityConstantin Michael1-9/+25
2011-10-27Refactor query_column implementations for LOB columnsConstantin Michael1-77/+11
2011-10-27Comment Oracle boolean literal emulationConstantin Michael1-0/+4
2011-10-27Simplify object_result::next and view_result::next implementationsConstantin Michael2-4/+4
2011-10-26Add query and result implementationsConstantin Michael11-0/+2588
2011-10-25Aesthetic changesConstantin Michael1-2/+2
2011-10-21Mention autotools as prerequisite in INSTALL-GITBoris Kolpackov1-1/+6
2011-10-21Add support for const data membersBoris Kolpackov1-2/+2
Const data members are automatically treated as readonly. New test: const-member.
2011-10-21Split 'in' binding into insert/update pair; rename 'out' to selectBoris Kolpackov3-95/+96
Also add the initial infrastructure for the readonly members support. Right now the split insert/update bindings allows us to avoid sending object id in UPDATE statements. It will also allows us to support readonly members.
2011-10-20Aesthetic changesConstantin Michael1-2/+2
2011-10-20Use SQLT_NUM instead of SQLT_VNU OCI type due to inconsistent buffer lengthsConstantin Michael4-88/+64
The size returned by OCI into the bound rlen parameter of a SQLT_VNU buffer does not include the additional length byte. This causes problems with images that are shared across multiple statements in ODB, such as the object_id image of containers.
2011-10-20Do not throw on a unique constraint violation during an insertConstantin Michael1-1/+13
2011-10-20Correct bind offset error arising due to OCI using 1 based indicesConstantin Michael1-1/+1
2011-10-20Correct usage of details::buffer instance during callbacks and LOB streamingConstantin Michael1-9/+19
2011-10-17Allocate LOB manipulation buffer in connection instance instead of in imageConstantin Michael3-17/+36
2011-10-14Small bug fixes and aesthetic changesConstantin Michael1-4/+8
2011-10-14Improve default LOB parameter callback implementationsConstantin Michael1-63/+21
2011-10-14Handle mapping of std::vector<char> to Oracle SQL type RAW by defaultConstantin Michael2-0/+49
2011-10-14Correct the LOB callback aspects of the bind mechanismConstantin Michael3-17/+22
The parameter callback context must be const qualified. This is both sensible and necessary to avoid unecessary casts in the generated code during image manipulation. The result callback context must not be const qualified as the result callback should be permitted to modify it. Both the callback and context members of the bind structure must be pointers to the relevant union types in order for the binding mechanism to work correctly.
2011-10-14Correct logic used to indicate exhaustion of query result dataConstantin Michael1-2/+4
2011-10-14Small bug fixes and aesthetic changesConstantin Michael2-9/+11
2011-10-14Const qualify buffer argument in parameter callback function signatureConstantin Michael3-6/+8
2011-10-14Adhere to OCI recommendations for unused arguments when binding callbacksConstantin Michael1-6/+7
2011-10-14Create separate OCI buffer type lookups for parameter and result buffersConstantin Michael1-6/+26
This is required due to the asymmetric manner in which LOB types are persisted to and loaded from the database.
2011-10-14Add a RAW buffer typeConstantin Michael2-12/+14
This is required as OCI performs character set specific operations on string data. RAW data has no associated character set.
2011-10-14Use an auto_descriptor pointer to manage a bound result LOBConstantin Michael3-2/+32
This simplifies resource management in the generated code.
2011-10-14Add OCILobLocator to the set of descriptor types that auto_descriptor managesConstantin Michael2-1/+7
2011-10-14Allow for size to be returned from big_int set_image functionsConstantin Michael3-12/+51
The OCI interface requires size information for any buffer passed to its bind interface. By adding a return path for this data, we avert any need to obtain this from the actual VARNUM binary data using messy byte manipulation.
2011-10-14Const qualify input buffer in big_int_value_traits::set_value signatureConstantin Michael1-2/+2
2011-10-14Correct syntax errorConstantin Michael1-1/+1