Skip to content

Commit

Permalink
removing support for OraNumber (see issue #21)
Browse files Browse the repository at this point in the history
  • Loading branch information
felipenoris committed Apr 10, 2021
1 parent a5fc0b7 commit 5a79877
Show file tree
Hide file tree
Showing 5 changed files with 180 additions and 169 deletions.
3 changes: 3 additions & 0 deletions deps/dpi_patch.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ size_t sizeof_dpiQueryInfo() {
return sizeof(dpiQueryInfo);
}

// see issue #21
/*
size_t sizeof_dpiNumber() {
return sizeof(dpiNumber);
}
*/
7 changes: 4 additions & 3 deletions src/Oracle.jl
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,9 @@ if !isfile(DEPS_FILE)
end
include(DEPS_FILE)

include("oranumbers/oranumbers.jl")
import .OraNumbers.OraNumber
# see issue #21
#include("oranumbers/oranumbers.jl")
#import .OraNumbers.OraNumber

include("macros.jl")
include("constants.jl")
Expand Down Expand Up @@ -42,7 +43,7 @@ function __init__()
@assert sizeof(OraPoolCreateParams) == sizeof_dpiPoolCreateParams()
@assert sizeof(OraConnCreateParams) == sizeof_dpiConnCreateParams()
@assert sizeof(OraQueryInfo) == sizeof_dpiQueryInfo()
@assert sizeof(OraNumber) == sizeof_dpiNumber()
#@assert sizeof(OraNumber) == sizeof_dpiNumber() # see issue #21
end

@inline function error_check(ctx::Context, result::OraResult)
Expand Down
25 changes: 14 additions & 11 deletions src/odpi.jl
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,11 @@ function dpiLob_isCharacterData(lob_handle::Ptr{Cvoid})
ccall((:dpiLob_isCharacterData, libdpi), Int32, (Ptr{Cvoid},), lob_handle)
end

# see issue #21
# size_t sizeof_dpiNumber()
function sizeof_dpiNumber()
ccall((:sizeof_dpiNumber, libdpi), Csize_t, ())
end
#function sizeof_dpiNumber()
# ccall((:sizeof_dpiNumber, libdpi), Csize_t, ())
#end

#
# ODPI Context Functions
Expand Down Expand Up @@ -406,10 +407,11 @@ function dpiData_getLOB(data_handle::Ref{OraData})
ccall((:dpiData_getLOB, libdpi), Ptr{Cvoid}, (Ref{OraData},), data_handle)
end

# dpiNumber dpiData_getNumber(dpiData *data);
function dpiData_getNumber(data_handle::Ref{OraData})
ccall((:dpiData_getNumber, libdpi), OraNumber, (Ref{OraData},), data_handle)
end
# see issue #21
## dpiNumber dpiData_getNumber(dpiData *data);
#function dpiData_getNumber(data_handle::Ref{OraData})
# ccall((:dpiData_getNumber, libdpi), OraNumber, (Ref{OraData},), data_handle)
#end

#
# NOTE ON SET FUNCTIONS
Expand Down Expand Up @@ -461,10 +463,11 @@ function dpiData_setLOB(dpi_data_ptr::Ref{OraData}, lob_handle::Ptr{Cvoid})
ccall((:dpiData_setLOB, libdpi), Cvoid, (Ref{OraData}, Ptr{Cvoid}), dpi_data_ptr, lob_handle)
end

# void dpiData_setNumber(dpiData *data, dpiNumber number);
function dpiData_setNumber(dpi_data_ptr::Ref{OraData}, number::OraNumber)
ccall((:dpiData_setNumber, libdpi), Cvoid, (Ref{OraData}, OraNumber), dpi_data_ptr, number)
end
# see issue #21
## void dpiData_setNumber(dpiData *data, dpiNumber number);
#function dpiData_setNumber(dpi_data_ptr::Ref{OraData}, number::OraNumber)
# ccall((:dpiData_setNumber, libdpi), Cvoid, (Ref{OraData}, OraNumber), dpi_data_ptr, number)
#end

# void dpiData_setBool(dpiData *data, int value)
function dpiData_setBool(dpi_data_ptr::Ref{OraData}, val::Union{Bool, Integer})
Expand Down
17 changes: 10 additions & 7 deletions src/oracle_value.jl
Original file line number Diff line number Diff line change
Expand Up @@ -287,12 +287,13 @@ end
end
end

if N == ORA_NATIVE_TYPE_NUMBER
@assert val <: OraNumber "Value must be of type `Oracle.OraNumber`."
return quote
dpiData_setNumber(at, val)
end
end
# see issue #21
# if N == ORA_NATIVE_TYPE_NUMBER
# @assert val <: OraNumber "Value must be of type `Oracle.OraNumber`."
# return quote
# dpiData_setNumber(at, val)
# end
# end

error("Setting values to AbstractOracleValue{$O, $N} is not supported.")
end
Expand Down Expand Up @@ -340,7 +341,9 @@ end
@inline infer_oracle_type_tuple(::Type{Date}) = OracleTypeTuple(ORA_ORACLE_TYPE_DATE, ORA_NATIVE_TYPE_TIMESTAMP)
@inline infer_oracle_type_tuple(::Type{DateTime}) = infer_oracle_type_tuple(Timestamp)
@inline infer_oracle_type_tuple(::Type{Timestamp}) = OracleTypeTuple(ORA_ORACLE_TYPE_TIMESTAMP, ORA_NATIVE_TYPE_TIMESTAMP)
@inline infer_oracle_type_tuple(::Type{OraNumber}) = OracleTypeTuple(ORA_ORACLE_TYPE_NUMBER, ORA_NATIVE_TYPE_NUMBER)

# see issue #21
#@inline infer_oracle_type_tuple(::Type{OraNumber}) = OracleTypeTuple(ORA_ORACLE_TYPE_NUMBER, ORA_NATIVE_TYPE_NUMBER)

# accept julia values as arguments
for type_sym in (:Bool, :Float64, :Int64, :UInt64, :Date, :DateTime, :Timestamp)
Expand Down
Loading

0 comments on commit 5a79877

Please sign in to comment.