Skip to content

Commit

Permalink
Merge pull request #201 from vrogier/develop-v4.6.1
Browse files Browse the repository at this point in the history
Develop v4.6.1
  • Loading branch information
vrogier authored Feb 17, 2019
2 parents c2a4794 + 4f5415b commit da14191
Show file tree
Hide file tree
Showing 82 changed files with 292 additions and 192 deletions.
26 changes: 26 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,29 @@
2019-02-17 Version 4.6.1 Vincent Rogier [email protected]

* Fixes (C API)

- Issue #188: Compile error with Oracle client 12.1 and option OCI_IMPORT_LINKAGE
- Issue #196: Warning 4996
- Issue #198: Compile Error with Oracle Client 12.2 and option OCI_ATTR_CALL_TIMEOUT
- Issue #199: Compile warnings on Oracle Client 12.2

* Fixes (C++ API)

- Issue #182: Cannot bind a std::vector as a PL/SQL Table (v4.6.0 fixed the issue only for 1st element of the vector)
- Issue #189: In/out binded vector<ostring> not updated after statement execution
- Issue #191: Reassigning SAME C handle to C++ a object leads to loose the content of the C handle
- Issue #192: Vectors of non scalar types binded as pure OUT binds are not updated after execution if vector element do not have their value set
- Issue #200: Compiler warning 4018 with 4.6.0

* Miscellaneous:

- Updated compilers for MS Windows prebuilt binaries
* VS2017 15.9.7 for 32/64 bit DLLs
- Prebuilt static libraries built with TDM-GCC (Code::Blocks projects) are not shipped anymore
* Recent TDM- GCC versions produces executables that links statically against winpthreads
* This implies requirements and restrictions that motivated to remove prebuilt libs from ocilib releases
* Users can compile them using the provided Code::Blocks project

2018-11-21 Version 4.6.0 Vincent Rogier [email protected]

* Changes
Expand Down
2 changes: 1 addition & 1 deletion Makefile.am
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2007-2018 Vincent ROGIER <[email protected]>
# Copyright (c) 2007-2019 Vincent ROGIER <[email protected]>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
Expand Down
2 changes: 1 addition & 1 deletion Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

@SET_MAKE@

# Copyright (c) 2007-2018 Vincent ROGIER <[email protected]>
# Copyright (c) 2007-2019 Vincent ROGIER <[email protected]>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
Expand Down
4 changes: 2 additions & 2 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
ocilib -- History of visible changes.

Copyright (c) 2007-2018 Vincent ROGIER <[email protected]>
Copyright (c) 2007-2019 Vincent ROGIER <[email protected]>
See the end for copying conditions.

Please send ocilib bug reports to [email protected].

-------------------------------------------------------
Copying information:

Copyright (c) 2007-2018 Vincent ROGIER <[email protected]>
Copyright (c) 2007-2019 Vincent ROGIER <[email protected]>

Permission is granted to anyone to make or distribute verbatim copies
of this document as received, in any medium, provided that the
Expand Down
25 changes: 9 additions & 16 deletions README
Original file line number Diff line number Diff line change
@@ -1,19 +1,12 @@
+----------------------------------------------------------------------+
| |
| OCILIB - C Driver for Oracle |
| |
| (C Wrapper for Oracle OCI) |
| |
+----------------------------------------------------------------------+
| |
| Website : http://www.ocilib.net |
| |
+----------------------------------------------------------------------+
| |
| Copyright (c) 2007-2018 Vincent ROGIER <[email protected]> |
| |
+----------------------------------------------------------------------+

/*
* OCILIB - C Driver for Oracle (C Wrapper for Oracle OCI)
*
* Website: http://www.ocilib.net
*
* Copyright (c) 2007-2019 Vincent ROGIER <[email protected]>
*
*/

===========================================================================
DESCRIPTION
===========================================================================
Expand Down
25 changes: 9 additions & 16 deletions README.in
Original file line number Diff line number Diff line change
@@ -1,19 +1,12 @@
+----------------------------------------------------------------------+
| |
| OCILIB - C Driver for Oracle |
| |
| (C Wrapper for Oracle OCI) |
| |
+----------------------------------------------------------------------+
| |
| Website : http://www.ocilib.net |
| |
+----------------------------------------------------------------------+
| |
| Copyright (c) 2007-2018 Vincent ROGIER <[email protected]> |
| |
+----------------------------------------------------------------------+

/*
* OCILIB - C Driver for Oracle (C Wrapper for Oracle OCI)
*
* Website: http://www.ocilib.net
*
* Copyright (c) 2007-2019 Vincent ROGIER <[email protected]>
*
*/

===========================================================================
DESCRIPTION
===========================================================================
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4.6.0
4.6.1
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2007-2018 Vincent ROGIER <[email protected]>
# Copyright (c) 2007-2019 Vincent ROGIER <[email protected]>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
Expand Down
2 changes: 1 addition & 1 deletion demo/Makefile.am
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2007-2018 Vincent ROGIER <[email protected]>
# Copyright (c) 2007-2019 Vincent ROGIER <[email protected]>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
Expand Down
2 changes: 1 addition & 1 deletion demo/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

@SET_MAKE@

# Copyright (c) 2007-2018 Vincent ROGIER <[email protected]>
# Copyright (c) 2007-2019 Vincent ROGIER <[email protected]>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
Expand Down
2 changes: 1 addition & 1 deletion demo/Makefile_demo
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2007-2018 Vincent ROGIER <[email protected]>
# Copyright (c) 2007-2019 Vincent ROGIER <[email protected]>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
Expand Down
2 changes: 1 addition & 1 deletion demo/Makefile_demo.in
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2007-2018 Vincent ROGIER <[email protected]>
# Copyright (c) 2007-2019 Vincent ROGIER <[email protected]>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
Expand Down
2 changes: 1 addition & 1 deletion demo/ocilib_demo.c
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* Website: http://www.ocilib.net
*
* Copyright (c) 2007-2018 Vincent ROGIER <[email protected]>
* Copyright (c) 2007-2019 Vincent ROGIER <[email protected]>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down
6 changes: 3 additions & 3 deletions demo/ocilib_demo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* Website: http://www.ocilib.net
*
* Copyright (c) 2007-2018 Vincent ROGIER <[email protected]>
* Copyright (c) 2007-2019 Vincent ROGIER <[email protected]>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -1049,7 +1049,7 @@ void test_returning_array(void)

ostring str;
str += otext("Name");
str += ((i + 1) + '0');
str += static_cast<ostring::value_type>((i + 1) + '0');
tab_str.push_back(str);

tab_date.push_back(Date::SysDate());
Expand All @@ -1060,7 +1060,7 @@ void test_returning_array(void)

ostring fileName;
fileName += otext("File");
fileName += ((i + 1) + '0');
fileName += static_cast<ostring::value_type>((i + 1) + '0');
File file(con, otext("Mydir"), fileName);
tab_file.push_back(file);
}
Expand Down
2 changes: 1 addition & 1 deletion demo/ocilib_demo.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* Website: http://www.ocilib.net
*
* Copyright (c) 2007-2018 Vincent ROGIER <[email protected]>
* Copyright (c) 2007-2019 Vincent ROGIER <[email protected]>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion doc/html/Makefile.am
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright (c) 2007-2018 Vincent ROGIER <[email protected]>
# Copyright (c) 2007-2019 Vincent ROGIER <[email protected]>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
Expand Down
2 changes: 1 addition & 1 deletion doc/html/Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

@SET_MAKE@

# Copyright (c) 2007-2018 Vincent ROGIER <[email protected]>
# Copyright (c) 2007-2019 Vincent ROGIER <[email protected]>
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
Expand Down
2 changes: 1 addition & 1 deletion doxygen/Doxyfile.dox
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ PROJECT_NAME = "OCILIB (C and C++ Driver for Oracle)"
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = 4.6.0
PROJECT_NUMBER = 4.6.1

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Expand Down
2 changes: 1 addition & 1 deletion doxygen/Introduction.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

@section Version Version information

Current version : <b>4.6.0</b>
Current version : <b>4.6.1</b>

@section Features Main features

Expand Down
7 changes: 3 additions & 4 deletions include/ocilib.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* Website: http://www.ocilib.net
*
* Copyright (c) 2007-2018 Vincent ROGIER <[email protected]>
* Copyright (c) 2007-2019 Vincent ROGIER <[email protected]>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -92,7 +92,7 @@ extern "C" {

#define OCILIB_MAJOR_VERSION 4
#define OCILIB_MINOR_VERSION 6
#define OCILIB_REVISION_VERSION 0
#define OCILIB_REVISION_VERSION 1

/* Import mode */

Expand Down Expand Up @@ -1081,9 +1081,8 @@ typedef unsigned int big_uint;
#define OCI_11_2 1120
#define OCI_12_1 1210
#define OCI_12_2 1220
#define OCI_18_1 1810
#define OCI_18_2 1820
#define OCI_18_3 1830
#define OCI_18_4 1840

/* versions extract macros */

Expand Down
10 changes: 3 additions & 7 deletions include/ocilib.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* Website: http://www.ocilib.net
*
* Copyright (c) 2007-2018 Vincent ROGIER <[email protected]>
* Copyright (c) 2007-2019 Vincent ROGIER <[email protected]>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -240,9 +240,8 @@ enum OracleVersionValues
Oracle11gR1 = OCI_11_1,
Oracle11gR2 = OCI_11_2,
Oracle12cR1 = OCI_12_1,
Oracle18cR1 = OCI_18_1,
Oracle18cR2 = OCI_18_2,
Oracle18cR3 = OCI_18_3
Oracle18cR3 = OCI_18_3,
Oracle18cR4 = OCI_18_4
};

/**
Expand Down Expand Up @@ -6617,9 +6616,6 @@ class Statement : public HandleHolder<OCI_Statement *>
template<typename M, class T, class U>
void BindVector2(M &method, const ostring& name, std::vector<T> &values, BindInfo::BindDirection mode, U subType, BindInfo::VectorType type);

template<class T>
unsigned int GetArraysize(BindInfo::VectorType type, std::vector<T> &values);

template<typename T>
unsigned int Fetch(T callback);

Expand Down
24 changes: 17 additions & 7 deletions include/ocilib_core.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
*
* Website: http://www.ocilib.net
*
* Copyright (c) 2007-2018 Vincent ROGIER <[email protected]>
* Copyright (c) 2007-2019 Vincent ROGIER <[email protected]>
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -450,7 +450,7 @@ class BindObject

protected:

OCI_Statement *_pStatement;
const Statement& _statement;
ostring _name;
unsigned int _mode;
};
Expand All @@ -463,14 +463,17 @@ class BindArray : public BindObject
virtual ~BindArray();

template<class T>
void SetVector(std::vector<T> & vector, unsigned int elemSize);

void SetVector(std::vector<T> & vector, bool isPlSqlTable, unsigned int elemSize);
template<class T>
typename BindResolver<T>::OutputType * GetData() const;

void SetInData() override;
void SetOutData() override;

unsigned int GetSize();
unsigned int GetSizeForBindCall();

private:

class AbstractBindArrayObject
Expand All @@ -481,6 +484,9 @@ class BindArray : public BindObject
virtual void SetInData() = 0;
virtual void SetOutData() = 0;
virtual ostring GetName() = 0;
virtual bool IsHandleObject() = 0;
virtual unsigned int GetSize() = 0;
virtual unsigned int GetSizeForBindCall() = 0;
};

template<class T>
Expand All @@ -492,11 +498,14 @@ class BindArray : public BindObject
typedef std::vector<ObjectType> ObjectVector;
typedef typename BindResolver<ObjectType>::OutputType NativeType;

BindArrayObject(const Statement &statement, const ostring& name, ObjectVector &vector, unsigned int mode, unsigned int elemSize);
BindArrayObject(const Statement &statement, const ostring& name, ObjectVector &vector, bool isPlSqlTable, unsigned int mode, unsigned int elemSize);
virtual ~BindArrayObject();
void SetInData() override;
void SetOutData() override;
ostring GetName() override;
bool IsHandleObject() override;
unsigned int GetSize() override;
unsigned int GetSizeForBindCall() override;

operator ObjectVector & () const;
operator NativeType * () const;
Expand All @@ -506,10 +515,11 @@ class BindArray : public BindObject
void AllocData();
void FreeData() const;

OCI_Statement *_pStatement;
const Statement& _statement;
ostring _name;
ObjectVector& _vector;
NativeType *_data;
bool _isPlSqlTable;
unsigned int _mode;
unsigned int _elemCount;
unsigned int _elemSize;
Expand Down Expand Up @@ -584,7 +594,7 @@ class BindsHolder
private:

std::vector<BindObject *> _bindObjects;
OCI_Statement * _pStatement;
const Statement& _statement;
};

}
Loading

0 comments on commit da14191

Please sign in to comment.