Comments (7)
Not sure this is a bug - last_insert() should be passed the literal table name, not a doubled-up double quote version. I put a new test for that in t/03smethod.t - please take a look at that if you can.
from dbdpg.
perl: 5.26.1, Postgresql 13, latest version of DBD Pg
from dbdpg.
Maybe In Pg.pm?:
my $table_for_query = $table;
$table_for_query =~ s/["]{2}/"/g;
my @Args = ($table_for_query);
from dbdpg.
I made the change to my local copy of Pg.pm and that seems to have fixed it:
---snip
my $query_table = $table;
$query_table =~ s/["]{2}/"/g;
my @Args = ($query_table);
my $schemawhere;
if (length $schema) {
# if given a schema, use that
$schemawhere = 'n.nspname = ?';
push @Args, $schema;
} else {
# otherwise it must be visible via the search path
$schemawhere = 'pg_catalog.pg_table_is_visible(c.oid)'
-- snip
from dbdpg.
diff --git a/Pg.pm b/Pg.pm
index 2839aab..80ae1c1 100644
--- a/Pg.pm
+++ b/Pg.pm
@@ -351,7 +351,10 @@ use 5.008001;
$dbh->set_err(1, 'last_insert_id needs at least a sequence or table name');
return undef;
}
-
my @args = ($table);
-
#if table includes double quotes, it would be paired up at this point. we want to unpair it.
-
my $table_for_query = $table;
-
$table_for_query =~ s/["]{2}/"/g;
-
my @args = ($table_for_query); my $schemawhere; if (length $schema) { # if given a schema, use that
I have a fix ready to go if I am able to open a pull request, I appreciate all of your work and I know you are busy. If I could get some sort of response that would be great as my current project is stalled. Thank you all so much.
from dbdpg.
@jboakye : Your diff here was completely mangled because it wasn't inside triple backticks (```). I recommend opening a PR. I think the maintainer(s) would be able to evaluate your solution best that way.
from dbdpg.
Closing this for now
from dbdpg.
Related Issues (20)
- Value trimmed upon insert HOT 4
- Tests fail if root's shell is not a Bourne shell HOT 6
- Statement handle DESTROY slurps pending async queries
- Tests fail to start new DB: pg_ctl: unrecognized operation mode HOT 4
- DBD::Pg 3.16.0 tests fail HOT 11
- Dying with non-ASCII utf8 DB message, with use warnings FATAL => 'all'; leads to "Wide character in subroutine entry" error message with DB-message omitted HOT 6
- Old postgresql client has trouble with new DBD::Pg versions due to bug in old postgresql client libraries HOT 3
- Error building DBD::Pg on macOS Monterey HOT 5
- META.yaml should be META.yml HOT 4
- DBD::Pg builds are failing to produce MYMETA.json files HOT 3
- Simple select of jsonb field returning empty result when field is NULL HOT 6
- Change in result type of EXTRACT() with Pg14 upwards not handled HOT 1
- MERGE INTO statement handles not returning total count of rows affected HOT 2
- Can't load Pg.so on Ubuntu 20.04 and Postgres 8.3.5 - tries to use lo_import_with_oid HOT 1
- $dbh->ping documentation possibly not clear HOT 4
- failed to build in openwrt HOT 3
- Cannot detect the default value for a `generated always as identity` column HOT 3
- v5.40's builtin false keyword cannot be passed in a bind parameter as the value of a boolean field HOT 8
- Hanging execution of queries like "COPY TO STDIN" in asynchronous mode. HOT 2
- t/03smethod.t fails with DBI v1.641 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dbdpg.