Re: VMS x86-64 database server

Liste des GroupesRevenir à co vms 
Sujet : Re: VMS x86-64 database server
De : arne (at) *nospam* vajhoej.dk (Arne Vajhøj)
Groupes : comp.os.vms
Date : 10. Jul 2025, 01:25:06
Autres entêtes
Organisation : SunSITE.dk - Supporting Open source
Message-ID : <686f0862$0$686$14726298@news.sunsite.dk>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
User-Agent : Mozilla Thunderbird
On 7/9/2025 8:04 PM, Arne Vajhøj wrote:
I would write your code a little simpler:
 $ type dyn.py
import sqlite3
 def esc(s):
     return "''".join(s.split("'"))
 def q(s):
     return f"'{s}'"
 def dump_range(con, vals):
     jvals = ",".join(q(esc(val)) for val in vals)
     c = con.cursor()
     c.execute(f"SELECT f1,f2 FROM t1 WHERE f2 IN ({jvals})")
     for row in c.fetchall():
         print('%d %s' % (row[0], row[1]))
 with sqlite3.connect('test.db') as con:
     dump_range(con, ['A', 'CCC', 'EEEEE'])
     dump_range(con, ['BB', 'DDDD'])
$ python dyn.py
1 A
3 CCC
5 EEEEE
2 BB
4 DDDD
 But it is both simpler and safer to use dynamic SQL
with just dynamic non-data:
 $ type sta.py
import sqlite3
 def dump_range(con, vals):
     jparm = ",".join('?' for val in vals)
     c = con.cursor()
     c.execute(f"SELECT f1,f2 FROM t1 WHERE f2 IN ({jparm})", vals)
     for row in c.fetchall():
         print('%d %s' % (row[0], row[1]))
 with sqlite3.connect('test.db') as con:
     dump_range(con, ['A', 'CCC', 'EEEEE'])
     dump_range(con, ['BB', 'DDDD'])
$ python sta.py
1 A
3 CCC
5 EEEEE
2 BB
4 DDDD
But this is fun:
$ define/nolog jython_libs "/javalib/zxjdbc.jar:/javalib/h2-2_2_220.jar"
$ type dyn2.py
from com.ziclix.python.sql import zxJDBC
def esc(s):
     return "''".join(s.split("'"))
def q(s):
     return "'" + s + "'"
def dump_range(con, vals):
     jvals = ",".join(q(esc(val)) for val in vals)
     c = con.cursor()
     c.execute("SELECT f1,f2 FROM t1 WHERE f2 IN (" + jvals + ")")
     for row in c.fetchall():
         print('%d %s' % (row[0], row[1]))
with zxJDBC.connect('jdbc:h2:./test;FILE_LOCK=FS;ALLOW_LITERALS=NONE', 'sa', 'hemmeligt', 'org.h2.Driver') as con:
     dump_range(con, ['A', 'CCC', 'EEEEE'])
     dump_range(con, ['BB', 'DDDD'])
$ jython dyn2.py
Traceback (most recent call last):
   File "DYN2.PY", line 17, in <module>
     dump_range(con, ['A', 'CCC', 'EEEEE'])
   File "DYN2.PY", line 12, in dump_range
     c.execute("SELECT f1,f2 FROM t1 WHERE f2 IN (" + jvals + ")")
zxJDBC.Error: Literals of this kind are not allowed; SQL statement:
SELECT f1,f2 FROM t1 WHERE f2 IN ('A','CCC','EEEEE') [90116-220] [SQLCode: 90116], [SQLState: 90116]
$ type sta2.py
from com.ziclix.python.sql import zxJDBC
def dump_range(con, vals):
     jparm = ",".join('?' for val in vals)
     c = con.cursor()
     c.execute("SELECT f1,f2 FROM t1 WHERE f2 IN (" + jparm +")", vals)
     for row in c.fetchall():
         print('%d %s' % (row[0], row[1]))
with zxJDBC.connect('jdbc:h2:./test;FILE_LOCK=FS;ALLOW_LITERALS=NONE', 'sa', 'hemmeligt', 'org.h2.Driver') as con:
     dump_range(con, ['A', 'CCC', 'EEEEE'])
     dump_range(con, ['BB', 'DDDD'])
$ jython sta2.py
1 A
3 CCC
5 EEEEE
2 BB
4 DDDD
:-)
Arne

Date Sujet#  Auteur
6 Jul20:45 * VMS x86-64 database server87Arne Vajhøj
6 Jul22:39 +- Re: VMS x86-64 database server1Lawrence D'Oliveiro
6 Jul23:07 +* Re: VMS x86-64 database server54Arne Vajhøj
7 Jul00:19 i+* Re: VMS x86-64 database server52Lawrence D'Oliveiro
7 Jul00:58 ii`* Re: VMS x86-64 database server51Arne Vajhøj
7 Jul03:42 ii `* Re: VMS x86-64 database server50Lawrence D'Oliveiro
7 Jul19:07 ii  `* Re: VMS x86-64 database server49Arne Vajhøj
7 Jul19:16 ii   +* Re: VMS x86-64 database server2Arne Vajhøj
7 Jul19:21 ii   i`- Re: VMS x86-64 database server1Arne Vajhøj
7 Jul23:07 ii   `* Re: VMS x86-64 database server46Lawrence D'Oliveiro
8 Jul00:28 ii    +* Re: VMS x86-64 database server24Arne Vajhøj
8 Jul01:26 ii    i`* Re: VMS x86-64 database server23Lawrence D'Oliveiro
8 Jul13:45 ii    i `* Re: VMS x86-64 database server22Arne Vajhøj
8 Jul22:57 ii    i  `* Re: VMS x86-64 database server21Lawrence D'Oliveiro
8 Jul23:40 ii    i   `* Re: VMS x86-64 database server20Arne Vajhøj
9 Jul00:38 ii    i    `* Re: VMS x86-64 database server19Lawrence D'Oliveiro
9 Jul02:54 ii    i     `* Re: VMS x86-64 database server18Arne Vajhøj
9 Jul08:25 ii    i      `* Re: VMS x86-64 database server17Lawrence D'Oliveiro
9 Jul20:33 ii    i       `* Re: VMS x86-64 database server16Arne Vajhøj
10 Jul00:07 ii    i        `* Re: VMS x86-64 database server15Lawrence D'Oliveiro
10 Jul00:51 ii    i         `* Re: VMS x86-64 database server14Arne Vajhøj
10 Jul02:21 ii    i          `* Re: VMS x86-64 database server13Lawrence D'Oliveiro
10 Jul03:24 ii    i           `* Re: VMS x86-64 database server12Arne Vajhøj
10 Jul05:28 ii    i            +* Re: VMS x86-64 database server9Lawrence D'Oliveiro
11 Jul00:05 ii    i            i`* Re: VMS x86-64 database server8Arne Vajhøj
11 Jul00:58 ii    i            i `* Re: VMS x86-64 database server7Lawrence D'Oliveiro
11 Jul01:11 ii    i            i  `* Re: VMS x86-64 database server6Arne Vajhøj
11 Jul01:19 ii    i            i   `* Re: VMS x86-64 database server5Lawrence D'Oliveiro
11 Jul01:23 ii    i            i    `* Re: VMS x86-64 database server4Arne Vajhøj
11 Jul01:29 ii    i            i     `* Re: VMS x86-64 database server3Lawrence D'Oliveiro
11 Jul01:38 ii    i            i      `* Re: VMS x86-64 database server2Arne Vajhøj
11 Jul03:54 ii    i            i       `- Re: VMS x86-64 database server1Lawrence D'Oliveiro
11 Jul00:57 ii    i            `* Re: VMS x86-64 database server2Arne Vajhøj
11 Jul01:24 ii    i             `- Re: VMS x86-64 database server1Lawrence D'Oliveiro
8 Jul14:35 ii    `* Re: VMS x86-64 database server21Arne Vajhøj
8 Jul22:56 ii     `* Re: VMS x86-64 database server20Lawrence D'Oliveiro
8 Jul23:20 ii      `* Re: VMS x86-64 database server19Arne Vajhøj
9 Jul00:37 ii       `* Re: VMS x86-64 database server18Lawrence D'Oliveiro
9 Jul01:31 ii        `* Re: VMS x86-64 database server17Arne Vajhøj
9 Jul08:22 ii         `* Re: VMS x86-64 database server16Lawrence D'Oliveiro
10 Jul01:04 ii          `* Re: VMS x86-64 database server15Arne Vajhøj
10 Jul01:25 ii           +* Re: VMS x86-64 database server12Arne Vajhøj
10 Jul02:35 ii           i`* Re: VMS x86-64 database server11Lawrence D'Oliveiro
10 Jul03:26 ii           i `* Re: VMS x86-64 database server10Arne Vajhøj
10 Jul06:48 ii           i  `* Re: VMS x86-64 database server9Lawrence D'Oliveiro
11 Jul00:14 ii           i   `* Re: VMS x86-64 database server8Arne Vajhøj
11 Jul00:54 ii           i    `* Re: VMS x86-64 database server7Lawrence D'Oliveiro
11 Jul01:29 ii           i     `* Re: VMS x86-64 database server6Arne Vajhøj
12 Jul00:35 ii           i      `* Re: VMS x86-64 database server5Lawrence D'Oliveiro
12 Jul00:43 ii           i       `* Re: VMS x86-64 database server4Arne Vajhøj
12 Jul01:35 ii           i        `* Re: VMS x86-64 database server3Lawrence D'Oliveiro
12 Jul01:48 ii           i         `* Re: VMS x86-64 database server2Arne Vajhøj
12 Jul03:01 ii           i          `- Re: VMS x86-64 database server1Lawrence D'Oliveiro
10 Jul02:33 ii           `* Re: VMS x86-64 database server2Lawrence D'Oliveiro
11 Jul01:33 ii            `- Re: VMS x86-64 database server1Lawrence D'Oliveiro
11 Jul00:50 i`- Re: VMS x86-64 database server1Arne Vajhøj
6 Jul23:11 +- Re: VMS x86-64 database server1Arne Vajhøj
6 Jul23:39 `* Re: VMS x86-64 database server30Craig A. Berry
7 Jul00:57  `* Re: VMS x86-64 database server29Arne Vajhøj
7 Jul15:50   `* Re: VMS x86-64 database server28Mark Berryman
7 Jul19:01    `* Re: VMS x86-64 database server27Arne Vajhøj
7 Jul22:06     `* Re: VMS x86-64 database server26Mark Berryman
7 Jul22:36      +* Re: VMS x86-64 database server2Arne Vajhøj
7 Jul22:37      i`- Re: VMS x86-64 database server1Arne Vajhøj
7 Jul23:08      `* Re: VMS x86-64 database server23Lawrence D'Oliveiro
8 Jul00:21       `* Re: VMS x86-64 database server22Arne Vajhøj
8 Jul01:27        `* Re: VMS x86-64 database server21Lawrence D'Oliveiro
8 Jul12:14         `* Re: VMS x86-64 database server20Arne Vajhøj
8 Jul22:58          `* Re: VMS x86-64 database server19Lawrence D'Oliveiro
8 Jul23:14           +* Re: VMS x86-64 database server14Arne Vajhøj
9 Jul00:40           i`* Re: VMS x86-64 database server13Lawrence D'Oliveiro
9 Jul03:18           i `* Re: VMS x86-64 database server12Arne Vajhøj
9 Jul08:27           i  +- Re: VMS x86-64 database server1Lawrence D'Oliveiro
9 Jul11:16           i  `* Re: VMS x86-64 database server10hb0815
9 Jul15:13           i   `* Re: VMS x86-64 database server9Arne Vajhøj
9 Jul17:51           i    `* Re: VMS x86-64 database server8hb0815
9 Jul18:39           i     `* Re: VMS x86-64 database server7Arne Vajhøj
9 Jul18:56           i      +- Re: VMS x86-64 database server1Chris Townley
9 Jul20:55           i      `* Re: VMS x86-64 database server5hb0815
10 Jul20:50           i       `* Re: VMS x86-64 database server4Arne Vajhøj
10 Jul20:52           i        `* Re: VMS x86-64 database server3Arne Vajhøj
11 Jul12:09           i         `* Re: VMS x86-64 database server2hb0815
11 Jul15:16           i          `- Re: VMS x86-64 database server1Arne Vajhøj
10 Jul01:12           `* Re: VMS x86-64 database server4bill
10 Jul13:00            `* Re: VMS x86-64 database server3Dan Cross
11 Jul00:23             +- Re: VMS x86-64 database server1Arne Vajhøj
11 Jul23:13             `- Re: VMS x86-64 database server1Stephen Hoffman

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal