#3397: db.select - reading multiline SQL statements from file fails --------------------------+----------------------------------- Reporter: maitl | Owner: grass-dev@… Type: defect | Status: new Priority: normal | Milestone: 7.4.0 Component: Database | Version: 7.2.1 Resolution: | Keywords: db.select, db.execute CPU: Unspecified | Platform: All --------------------------+-----------------------------------
Comment (by mmetz): Replying to [comment:3 mlennert]: > Replying to [comment:2 mlennert]: > > and I cannot integrate a newline ('\n') character: > > > > {{{ > > echo "SELECT count(*) FROM boundary_county WHERE Z_MEAN > 38\n; SELECT count(*) FROM boundary_county;" | db.select input=- > > DBMI-SQLite erreur de pilote : > > Error in sqlite3_prepare(): > > SELECT count(*) FROM boundary_county WHERE Z_MEAN > 38\n; SELECT count(*) FROM boundary_county; > > unrecognized token: "\" > > }}} > > > Sorry, the '\n' was not well placed. It should have been > > > {{{ > echo "SELECT count(*) FROM boundary_county WHERE Z_MEAN > 38;\n SELECT count(*) FROM boundary_county;" | db.select input=- database=GRASS/GRASSDATA/NC_spm_temporal_workshop/PERMANENT/sqlite/sqlite.db > count(*) > 333 > }}} > > So, no error, but the query on the second line does not get executed... You need to use echo -e (enable interpretation of backslash escapes). About the main issue, we could introduce a new flag, e.g. -m, to allow multiline statements: only a semicolon, not a newline would mark the end of a statement. -- Ticket URL: <https://trac.osgeo.org/grass/ticket/3397#comment:4> GRASS GIS <https://grass.osgeo.org>
_______________________________________________ grass-dev mailing list grass-dev@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/grass-dev