Skip to content

Commit 9a6c8d8

Browse files
authored
Updates for new General registry world and remove deprecations (#168)
1 parent 72971b3 commit 9a6c8d8

File tree

10 files changed

+47
-584
lines changed

10 files changed

+47
-584
lines changed

Project.toml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name = "SQLite"
2+
uuid = "0aa819cd-b072-5ff4-a722-6bc24af294d9"
3+
4+
[deps]
5+
BinaryProvider = "b99e7846-7c00-51b0-8f62-c81ae34c0232"
6+
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
7+
Dates = "ade2ca70-3891-5945-98fb-dc099432e06a"
8+
Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
9+
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
10+
Serialization = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
11+
Tables = "bd369af6-aec1-5ad0-b16a-f7cc5008161c"
12+
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
13+
WeakRefStrings = "ea10d353-3f73-51f8-a26c-33c1cb351aa5"
14+
15+
[compat]
16+
DataFrames = "≥ 0.11.0"
17+
WeakRefStrings = "≥ 0.4.0"
18+
julia = "≥ 1.0.0"

REQUIRE

Lines changed: 0 additions & 8 deletions
This file was deleted.

src/SQLite.jl

Lines changed: 4 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
module SQLite
22

3-
using Random, Missings, DataStreams, WeakRefStrings, LegacyStrings, DataFrames
4-
import LegacyStrings: UTF16String
5-
6-
import Serialization
7-
8-
export Data, DataFrame
3+
using Random, Serialization
4+
using WeakRefStrings, DataFrames
95

106
struct SQLiteException <: Exception
117
msg::AbstractString
@@ -14,11 +10,8 @@ end
1410
include("consts.jl")
1511
include("api.jl")
1612

17-
#TODO: Support sqlite3_open_v2
1813
# Normal constructor from filename
1914
sqliteopen(file, handle) = sqlite3_open(file, handle)
20-
sqliteopen(file::UTF16String, handle) = sqlite3_open16(file, handle)
21-
#sqliteerror() = throw(SQLiteException(unsafe_string(sqlite3_errmsg())))
2215
sqliteerror(db) = throw(SQLiteException(unsafe_string(sqlite3_errmsg(db.handle))))
2316

2417
"""
@@ -150,13 +143,6 @@ bind!(stmt::Stmt, i::Int, val::Missing) = (sqlite3_bind_null(stmt.handle,
150143
bind!(stmt::Stmt, i::Int, val::AbstractString) = (sqlite3_bind_text(stmt.handle, i ,val); return nothing)
151144
bind!(stmt::Stmt, i::Int, val::WeakRefString{UInt8}) = (sqlite3_bind_text(stmt.handle, i, val.ptr, val.len); return nothing)
152145
bind!(stmt::Stmt, i::Int, val::WeakRefString{UInt16}) = (sqlite3_bind_text16(stmt.handle, i, val.ptr, val.len*2); return nothing)
153-
bind!(stmt::Stmt, i::Int, val::UTF16String) = (sqlite3_bind_text16(stmt.handle, i, val); return nothing)
154-
function bind!(stmt::Stmt, i::Int, val::WeakRefString{UInt32})
155-
A = UTF32String(pointer_to_array(val.ptr, val.len+1, false))
156-
return bind!(stmt, i, convert(String, A))
157-
end
158-
# We may want to track the new ByteVec mutable struct proposed at https://github.com/JuliaLang/julia/pull/8964
159-
# as the "official" bytes mutable struct instead of Vector{UInt8}
160146
bind!(stmt::Stmt, i::Int, val::Vector{UInt8}) = (sqlite3_bind_blob(stmt.handle, i, val); return nothing)
161147
# Fallback is BLOB and defaults to serializing the julia value
162148

@@ -413,24 +399,6 @@ function removeduplicates!(db, table::AbstractString, cols::AbstractArray{T}) wh
413399
return
414400
end
415401

416-
"`SQLite.Source` implements the `Source` interface in the `DataStreams` framework"
417-
mutable struct Source <: Data.Source
418-
schema::Data.Schema
419-
stmt::Stmt
420-
status::Cint
421-
end
422-
423-
"SQLite.Sink implements the `Sink` interface in the `DataStreams` framework"
424-
mutable struct Sink <: Data.Sink
425-
db::DB
426-
tablename::String
427-
stmt::Stmt
428-
transaction::String
429-
cols::Int
430-
end
431-
432-
include("Source.jl")
433-
include("Sink.jl")
434402
include("tables.jl")
435403

436404
"""
@@ -452,6 +420,6 @@ indices(db::DB, sink=DataFrame) = Query(db, "SELECT name FROM sqlite_master WHER
452420
453421
returns a list of columns in `table`
454422
"""
455-
columns(db::DB,table::AbstractString, sink=DataFrame) = Query(db, "PRAGMA table_info($(esc_id(table)))") |> sink
423+
columns(db::DB, table::AbstractString, sink=DataFrame) = Query(db, "PRAGMA table_info($(esc_id(table)))") |> sink
456424

457-
end # module
425+
end # module

src/Sink.jl

Lines changed: 0 additions & 99 deletions
This file was deleted.

src/Source.jl

Lines changed: 0 additions & 118 deletions
This file was deleted.

src/UDF.jl

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ function sqlvalue(values, i)
1111
elseif valuetype == SQLITE_FLOAT
1212
return sqlite3_value_double(temp_val_ptr)
1313
elseif valuetype == SQLITE_TEXT
14-
# TODO: have a way to return UTF16
1514
return unsafe_string(sqlite3_value_text(temp_val_ptr))
1615
elseif valuetype == SQLITE_BLOB
1716
nbytes = sqlite3_value_bytes(temp_val_ptr)
@@ -20,15 +19,14 @@ function sqlvalue(values, i)
2019
unsafe_copyto!(pointer(buf), convert(Ptr{UInt8}, blob), nbytes)
2120
return sqldeserialize(buf)
2221
else
23-
return null
22+
return missing
2423
end
2524
end
2625

2726
sqlreturn(context, ::Missing) = sqlite3_result_null(context)
2827
sqlreturn(context, val::Int32) = sqlite3_result_int(context, val)
2928
sqlreturn(context, val::Int64) = sqlite3_result_int64(context, val)
3029
sqlreturn(context, val::Float64) = sqlite3_result_double(context, val)
31-
sqlreturn(context, val::UTF16String) = sqlite3_result_text16(context, val)
3230
sqlreturn(context, val::AbstractString) = sqlite3_result_text(context, val)
3331
sqlreturn(context, val::Vector{UInt8}) = sqlite3_result_blob(context, val)
3432

@@ -37,7 +35,7 @@ sqlreturn(context, val) = sqlreturn(context, sqlserialize(val))
3735

3836
# Internal method for generating an SQLite scalar function from
3937
# a Julia function name
40-
function scalarfunc(func,fsym=symbol(string(func)))
38+
function scalarfunc(func,fsym=Symbol(string(func)))
4139
# check if name defined in Base so we don't clobber Base methods
4240
nm = isdefined(Base,fsym) ? :(Base.$fsym) : fsym
4341
return quote
@@ -69,7 +67,7 @@ function bytestoint(ptr::Ptr{UInt8}, start::Int, len::Int)
6967
return htol(s)
7068
end
7169

72-
function stepfunc(init, func, fsym=symbol(string(func)*"_step"))
70+
function stepfunc(init, func, fsym=Symbol(string(func)*"_step"))
7371
nm = isdefined(Base,fsym) ? :(Base.$fsym) : fsym
7472
return quote
7573
function $(nm)(context::Ptr{Cvoid}, nargs::Cint, values::Ptr{Ptr{Cvoid}})
@@ -143,7 +141,7 @@ function stepfunc(init, func, fsym=symbol(string(func)*"_step"))
143141
end
144142
end
145143

146-
function finalfunc(init, func, fsym=symbol(string(func)*"_final"))
144+
function finalfunc(init, func, fsym=Symbol(string(func)*"_final"))
147145
nm = isdefined(Base,fsym) ? :(Base.$fsym) : fsym
148146
return quote
149147
function $(nm)(context::Ptr{Cvoid}, nargs::Cint, values::Ptr{Ptr{Cvoid}})
@@ -234,4 +232,4 @@ end
234232
# annotate types because the MethodError makes more sense that way
235233
regexp(r::AbstractString, s::AbstractString) = occursin(Regex(r), s)
236234
# macro for preserving the special characters in a string
237-
macro sr_str(s) s end
235+
macro sr_str(s) s end

0 commit comments

Comments
 (0)