Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
93ae2e8
init cpp11
Antonov548 Jan 22, 2023
ded1f0d
encrypt.cpp fix
Antonov548 Jan 22, 2023
b50174b
connection cpp11::external_pointer
Antonov548 Jan 22, 2023
aa71b44
result cpp11::external_pointer
Antonov548 Jan 22, 2023
3b6b881
encode.cpp cpp11
Antonov548 Jan 22, 2023
88639d1
connection.cpp cpp11
Antonov548 Jan 22, 2023
d44c3fe
DbConnection cpp11
Antonov548 Jan 22, 2023
6f712d4
update external_pointer release to reset
Antonov548 Jan 22, 2023
bfda2ed
Merge branch 'main' into cpp11
krlmlr Jan 23, 2023
6b35f3a
remove error message
Antonov548 Jan 26, 2023
39b48f3
update wait_for_notify
Antonov548 Jan 26, 2023
a720ae6
return empty list instead of NULL
Antonov548 Jan 26, 2023
4c7cf8b
Merge branch 'main' into cpp11
Antonov548 Jan 26, 2023
22398b7
result cpp11::list
Antonov548 Jan 28, 2023
867b5d3
Merge branch 'cpp11' of https://github.com/Antonov548/RPostgres into …
Antonov548 Jan 28, 2023
76ecec5
data frame cpp11
Antonov548 Jan 28, 2023
1dc6bde
column storage
Antonov548 Jan 28, 2023
e20f8ea
remove strings
Antonov548 Jan 28, 2023
ad948f9
warning/stop/package
Antonov548 Jan 28, 2023
4db227f
remove Rcpp
Antonov548 Jan 28, 2023
ae7a9d4
undo DESCRIPTION
Antonov548 Jan 28, 2023
435f97d
fix new line
Antonov548 Jan 28, 2023
e60c573
use cpp11 and cpp11 only
pachadotdev Jan 30, 2023
92c27a5
re roxygenize with newer roxygen installed version (7.2.3)
pachadotdev Jan 30, 2023
a67c4c2
use std::string for warning/stop
Antonov548 Jan 30, 2023
718db2c
Merge pull request #1 from pachadotdev/cpp11
Antonov548 Jan 30, 2023
37bc3fe
remove import Rcpp
Antonov548 Jan 30, 2023
56de452
update DESCRIPTION
Antonov548 Feb 1, 2023
57c7b91
remove cxx11 from Makevars
Antonov548 Feb 1, 2023
4b68109
string for cpp11::warning
Antonov548 Feb 6, 2023
3a8d2e0
Merge branch 'r-dbi:main' into cpp11
Antonov548 Feb 6, 2023
6533d54
Tweak test
krlmlr Feb 8, 2023
ac129e5
Merge branch 'main' into cpp11
krlmlr Feb 8, 2023
44c1918
fix: release connection with result
krlmlr Feb 8, 2023
7ca870b
retrun std::string instead of r_string
Antonov548 Feb 9, 2023
4a1ac62
Revert "fix: release connection with result"
krlmlr Feb 13, 2023
87def43
Early return if connection closed already
krlmlr Feb 13, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
connection.cpp cpp11
  • Loading branch information
Antonov548 committed Jan 22, 2023
commit 88639d1d06e2eb7ecf17317590b1b2c955ebe996
33 changes: 17 additions & 16 deletions src/connection.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -48,16 +48,16 @@ void connection_release(cpp11::external_pointer<DbConnectionPtr> con_) {
}

[[cpp11::register]]
List connection_info(DbConnection* con) {
return con->info();
cpp11::list connection_info(DbConnection* con) {
return (SEXP)con->info();
}

// Quoting

[[cpp11::register]]
CharacterVector connection_quote_string(DbConnection* con, CharacterVector xs) {
R_xlen_t n = xs.size();
CharacterVector output(n);
cpp11::strings connection_quote_string(DbConnection* con, CharacterVector xs) {
const auto n = xs.size();
cpp11::writable::strings output(n);

for (R_xlen_t i = 0; i < n; ++i) {
String x = xs[i];
Expand All @@ -68,13 +68,13 @@ CharacterVector connection_quote_string(DbConnection* con, CharacterVector xs) {
}

[[cpp11::register]]
CharacterVector connection_quote_identifier(DbConnection* con, CharacterVector xs) {
R_xlen_t n = xs.size();
CharacterVector output(n);
cpp11::strings connection_quote_identifier(DbConnection* con, cpp11::strings xs) {
const auto n = xs.size();
cpp11::writable::strings output(n);

for (R_xlen_t i = 0; i < n; ++i) {
String x = xs[i];
output[i] = con->quote_identifier(x);
const auto x = xs[i];
output[i] = con->quote_identifier((SEXP)x);
}

return output;
Expand All @@ -95,8 +95,8 @@ void connection_set_transacting(DbConnection* con, bool transacting) {
// Specific functions

[[cpp11::register]]
void connection_copy_data(DbConnection* con, std::string sql, List df) {
return con->copy_data(sql, df);
void connection_copy_data(DbConnection* con, std::string sql, cpp11::list df) {
return con->copy_data(sql, (SEXP)df);
}

[[cpp11::register]]
Expand All @@ -106,10 +106,11 @@ List connection_wait_for_notify(DbConnection* con, int timeout_secs) {

// Temporary Schema
[[cpp11::register]]
CharacterVector connection_get_temp_schema(DbConnection* con) {
return con->get_temp_schema();
cpp11::strings connection_get_temp_schema(DbConnection* con) {
return (SEXP)con->get_temp_schema();
}

[[cpp11::register]]
void connection_set_temp_schema(DbConnection* con, CharacterVector temp_schema) {
con->set_temp_schema(temp_schema);
void connection_set_temp_schema(DbConnection* con, cpp11::strings temp_schema) {
con->set_temp_schema((SEXP)temp_schema);
}
18 changes: 9 additions & 9 deletions src/cpp11.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,24 +38,24 @@ extern "C" SEXP _RPostgres_connection_release(SEXP con_) {
END_CPP11
}
// connection.cpp
List connection_info(DbConnection* con);
cpp11::list connection_info(DbConnection* con);
extern "C" SEXP _RPostgres_connection_info(SEXP con) {
BEGIN_CPP11
return cpp11::as_sexp(connection_info(cpp11::as_cpp<cpp11::decay_t<DbConnection*>>(con)));
END_CPP11
}
// connection.cpp
CharacterVector connection_quote_string(DbConnection* con, CharacterVector xs);
cpp11::strings connection_quote_string(DbConnection* con, CharacterVector xs);
extern "C" SEXP _RPostgres_connection_quote_string(SEXP con, SEXP xs) {
BEGIN_CPP11
return cpp11::as_sexp(connection_quote_string(cpp11::as_cpp<cpp11::decay_t<DbConnection*>>(con), cpp11::as_cpp<cpp11::decay_t<CharacterVector>>(xs)));
END_CPP11
}
// connection.cpp
CharacterVector connection_quote_identifier(DbConnection* con, CharacterVector xs);
cpp11::strings connection_quote_identifier(DbConnection* con, cpp11::strings xs);
extern "C" SEXP _RPostgres_connection_quote_identifier(SEXP con, SEXP xs) {
BEGIN_CPP11
return cpp11::as_sexp(connection_quote_identifier(cpp11::as_cpp<cpp11::decay_t<DbConnection*>>(con), cpp11::as_cpp<cpp11::decay_t<CharacterVector>>(xs)));
return cpp11::as_sexp(connection_quote_identifier(cpp11::as_cpp<cpp11::decay_t<DbConnection*>>(con), cpp11::as_cpp<cpp11::decay_t<cpp11::strings>>(xs)));
END_CPP11
}
// connection.cpp
Expand All @@ -74,10 +74,10 @@ extern "C" SEXP _RPostgres_connection_set_transacting(SEXP con, SEXP transacting
END_CPP11
}
// connection.cpp
void connection_copy_data(DbConnection* con, std::string sql, List df);
void connection_copy_data(DbConnection* con, std::string sql, cpp11::list df);
extern "C" SEXP _RPostgres_connection_copy_data(SEXP con, SEXP sql, SEXP df) {
BEGIN_CPP11
connection_copy_data(cpp11::as_cpp<cpp11::decay_t<DbConnection*>>(con), cpp11::as_cpp<cpp11::decay_t<std::string>>(sql), cpp11::as_cpp<cpp11::decay_t<List>>(df));
connection_copy_data(cpp11::as_cpp<cpp11::decay_t<DbConnection*>>(con), cpp11::as_cpp<cpp11::decay_t<std::string>>(sql), cpp11::as_cpp<cpp11::decay_t<cpp11::list>>(df));
return R_NilValue;
END_CPP11
}
Expand All @@ -89,17 +89,17 @@ extern "C" SEXP _RPostgres_connection_wait_for_notify(SEXP con, SEXP timeout_sec
END_CPP11
}
// connection.cpp
CharacterVector connection_get_temp_schema(DbConnection* con);
cpp11::strings connection_get_temp_schema(DbConnection* con);
extern "C" SEXP _RPostgres_connection_get_temp_schema(SEXP con) {
BEGIN_CPP11
return cpp11::as_sexp(connection_get_temp_schema(cpp11::as_cpp<cpp11::decay_t<DbConnection*>>(con)));
END_CPP11
}
// connection.cpp
void connection_set_temp_schema(DbConnection* con, CharacterVector temp_schema);
void connection_set_temp_schema(DbConnection* con, cpp11::strings temp_schema);
extern "C" SEXP _RPostgres_connection_set_temp_schema(SEXP con, SEXP temp_schema) {
BEGIN_CPP11
connection_set_temp_schema(cpp11::as_cpp<cpp11::decay_t<DbConnection*>>(con), cpp11::as_cpp<cpp11::decay_t<CharacterVector>>(temp_schema));
connection_set_temp_schema(cpp11::as_cpp<cpp11::decay_t<DbConnection*>>(con), cpp11::as_cpp<cpp11::decay_t<cpp11::strings>>(temp_schema));
return R_NilValue;
END_CPP11
}
Expand Down