Re: VMS x86-64 database server

Liste des GroupesRevenir à co vms 
Sujet : Re: VMS x86-64 database server
De : ldo (at) *nospam* nz.invalid (Lawrence D'Oliveiro)
Groupes : comp.os.vms
Date : 10. Jul 2025, 02:33:08
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <104n58k$gs8r$3@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
User-Agent : Pan/0.162 (Pokrosvk)
On Wed, 9 Jul 2025 20:04:34 -0400, Arne Vajhøj wrote:

I would write your code a little simpler:

I notice you didn’t try to offer alternatives to the wildcard and
identifier escaping.

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]))

Instead of using my sql_string_list() function everywhere it’s needed,
you want to write out the full expression at every point?

But dynamic SQL with dynamic data is still bad.

Is it bad to offer users dynamic query capabilities?

Here’s some code I wrote back in Python-2 days (MySQL-specific):

    # collect list of items matching specified search criteria
    condition = \
        (
            list
                ( # free-text fields
                    "%(name)s like %(value)s"
                %
                    {
                        "name" : field[0],
                        "value" :
                            SQLString("%" + EscapeSQLWild(Params.getvalue(field[1])) + "%"),
                    }
                for field in
                    (
                        ("make", "search_make"),
                        ("model", "search_model"),
                        ("details", "search_details"),
                        ("serial_nr", "search_serial"),
                        ("inventory_nr", "search_invent"),
                    )
                if Params.getvalue(field[1]) != ""
            )
        +
            list
                ( # exact-match fields
                    "%(name)s = %(value)s"
                %
                    {
                        "name" : field[0],
                        "value" : SQLString(Params.getvalue(field[1])),
                    }
                for field in
                    (
                        ("class_name", "search_class"),
                        ("allocation", "search_allocated"),
                        ("location_name", "search_location"),
                    )
                if Params.getvalue(field[1]) != ""
                )
        +
            list
                ( # date fields
                    "("
                +
                    " or ".join
                        (
                            "%(name)s %(op)s %(value)s"
                        %
                            {
                                "name" : field[0],
                                "op" : op[0],
                                "value" : SQLString(Params.getvalue(field[1])),
                            }
                        for op in
                            (
                                ("<", "lt"),
                                ("=", "eq"),
                                (">", "gt"),
                            )
                        if GetCheckbox("%(name)s[%(op)s]" % {"name" : field[1], "op" : op[1]})
                        )
                +
                    ")"
                for field in
                    (
                        ("when_purchased", "search_when_purchased"),
                        ("warranty_expiry", "search_warranty_expiry"),
                    )
                if reduce
                    (
                        operator.__or__,
                        (
                            GetCheckbox("%(name)s[%(op)s]" % {"name" : field[1], "op" : op})
                                for op in ("lt", "eq", "gt")
                        )
                    )
                )
        )
    condition = " and ".join(condition)

used as

    select «fields» from «table» where «condition»

Let’s see your EXEC SQL cope with that ...

Date Sujet#  Auteur
6 Jul 25 * VMS x86-64 database server87Arne Vajhøj
6 Jul 25 +- Re: VMS x86-64 database server1Lawrence D'Oliveiro
6 Jul 25 +* Re: VMS x86-64 database server54Arne Vajhøj
7 Jul 25 i+* Re: VMS x86-64 database server52Lawrence D'Oliveiro
7 Jul 25 ii`* Re: VMS x86-64 database server51Arne Vajhøj
7 Jul 25 ii `* Re: VMS x86-64 database server50Lawrence D'Oliveiro
7 Jul 25 ii  `* Re: VMS x86-64 database server49Arne Vajhøj
7 Jul 25 ii   +* Re: VMS x86-64 database server2Arne Vajhøj
7 Jul 25 ii   i`- Re: VMS x86-64 database server1Arne Vajhøj
7 Jul 25 ii   `* Re: VMS x86-64 database server46Lawrence D'Oliveiro
8 Jul 25 ii    +* Re: VMS x86-64 database server24Arne Vajhøj
8 Jul 25 ii    i`* Re: VMS x86-64 database server23Lawrence D'Oliveiro
8 Jul 25 ii    i `* Re: VMS x86-64 database server22Arne Vajhøj
8 Jul 25 ii    i  `* Re: VMS x86-64 database server21Lawrence D'Oliveiro
8 Jul 25 ii    i   `* Re: VMS x86-64 database server20Arne Vajhøj
9 Jul 25 ii    i    `* Re: VMS x86-64 database server19Lawrence D'Oliveiro
9 Jul 25 ii    i     `* Re: VMS x86-64 database server18Arne Vajhøj
9 Jul 25 ii    i      `* Re: VMS x86-64 database server17Lawrence D'Oliveiro
9 Jul 25 ii    i       `* Re: VMS x86-64 database server16Arne Vajhøj
10 Jul 25 ii    i        `* Re: VMS x86-64 database server15Lawrence D'Oliveiro
10 Jul 25 ii    i         `* Re: VMS x86-64 database server14Arne Vajhøj
10 Jul 25 ii    i          `* Re: VMS x86-64 database server13Lawrence D'Oliveiro
10 Jul 25 ii    i           `* Re: VMS x86-64 database server12Arne Vajhøj
10 Jul 25 ii    i            +* Re: VMS x86-64 database server9Lawrence D'Oliveiro
11 Jul 25 ii    i            i`* Re: VMS x86-64 database server8Arne Vajhøj
11 Jul 25 ii    i            i `* Re: VMS x86-64 database server7Lawrence D'Oliveiro
11 Jul 25 ii    i            i  `* Re: VMS x86-64 database server6Arne Vajhøj
11 Jul 25 ii    i            i   `* Re: VMS x86-64 database server5Lawrence D'Oliveiro
11 Jul 25 ii    i            i    `* Re: VMS x86-64 database server4Arne Vajhøj
11 Jul 25 ii    i            i     `* Re: VMS x86-64 database server3Lawrence D'Oliveiro
11 Jul 25 ii    i            i      `* Re: VMS x86-64 database server2Arne Vajhøj
11 Jul 25 ii    i            i       `- Re: VMS x86-64 database server1Lawrence D'Oliveiro
11 Jul 25 ii    i            `* Re: VMS x86-64 database server2Arne Vajhøj
11 Jul 25 ii    i             `- Re: VMS x86-64 database server1Lawrence D'Oliveiro
8 Jul 25 ii    `* Re: VMS x86-64 database server21Arne Vajhøj
8 Jul 25 ii     `* Re: VMS x86-64 database server20Lawrence D'Oliveiro
8 Jul 25 ii      `* Re: VMS x86-64 database server19Arne Vajhøj
9 Jul 25 ii       `* Re: VMS x86-64 database server18Lawrence D'Oliveiro
9 Jul 25 ii        `* Re: VMS x86-64 database server17Arne Vajhøj
9 Jul 25 ii         `* Re: VMS x86-64 database server16Lawrence D'Oliveiro
10 Jul 25 ii          `* Re: VMS x86-64 database server15Arne Vajhøj
10 Jul 25 ii           +* Re: VMS x86-64 database server12Arne Vajhøj
10 Jul 25 ii           i`* Re: VMS x86-64 database server11Lawrence D'Oliveiro
10 Jul 25 ii           i `* Re: VMS x86-64 database server10Arne Vajhøj
10 Jul 25 ii           i  `* Re: VMS x86-64 database server9Lawrence D'Oliveiro
11 Jul 25 ii           i   `* Re: VMS x86-64 database server8Arne Vajhøj
11 Jul 25 ii           i    `* Re: VMS x86-64 database server7Lawrence D'Oliveiro
11 Jul 25 ii           i     `* Re: VMS x86-64 database server6Arne Vajhøj
12 Jul 25 ii           i      `* Re: VMS x86-64 database server5Lawrence D'Oliveiro
12 Jul 25 ii           i       `* Re: VMS x86-64 database server4Arne Vajhøj
12 Jul 25 ii           i        `* Re: VMS x86-64 database server3Lawrence D'Oliveiro
12 Jul 25 ii           i         `* Re: VMS x86-64 database server2Arne Vajhøj
12 Jul 25 ii           i          `- Re: VMS x86-64 database server1Lawrence D'Oliveiro
10 Jul 25 ii           `* Re: VMS x86-64 database server2Lawrence D'Oliveiro
11 Jul 25 ii            `- Re: VMS x86-64 database server1Lawrence D'Oliveiro
11 Jul 25 i`- Re: VMS x86-64 database server1Arne Vajhøj
6 Jul 25 +- Re: VMS x86-64 database server1Arne Vajhøj
6 Jul 25 `* Re: VMS x86-64 database server30Craig A. Berry
7 Jul 25  `* Re: VMS x86-64 database server29Arne Vajhøj
7 Jul 25   `* Re: VMS x86-64 database server28Mark Berryman
7 Jul 25    `* Re: VMS x86-64 database server27Arne Vajhøj
7 Jul 25     `* Re: VMS x86-64 database server26Mark Berryman
7 Jul 25      +* Re: VMS x86-64 database server2Arne Vajhøj
7 Jul 25      i`- Re: VMS x86-64 database server1Arne Vajhøj
7 Jul 25      `* Re: VMS x86-64 database server23Lawrence D'Oliveiro
8 Jul 25       `* Re: VMS x86-64 database server22Arne Vajhøj
8 Jul 25        `* Re: VMS x86-64 database server21Lawrence D'Oliveiro
8 Jul 25         `* Re: VMS x86-64 database server20Arne Vajhøj
8 Jul 25          `* Re: VMS x86-64 database server19Lawrence D'Oliveiro
8 Jul 25           +* Re: VMS x86-64 database server14Arne Vajhøj
9 Jul 25           i`* Re: VMS x86-64 database server13Lawrence D'Oliveiro
9 Jul 25           i `* Re: VMS x86-64 database server12Arne Vajhøj
9 Jul 25           i  +- Re: VMS x86-64 database server1Lawrence D'Oliveiro
9 Jul 25           i  `* Re: VMS x86-64 database server10hb0815
9 Jul 25           i   `* Re: VMS x86-64 database server9Arne Vajhøj
9 Jul 25           i    `* Re: VMS x86-64 database server8hb0815
9 Jul 25           i     `* Re: VMS x86-64 database server7Arne Vajhøj
9 Jul 25           i      +- Re: VMS x86-64 database server1Chris Townley
9 Jul 25           i      `* Re: VMS x86-64 database server5hb0815
10 Jul 25           i       `* Re: VMS x86-64 database server4Arne Vajhøj
10 Jul 25           i        `* Re: VMS x86-64 database server3Arne Vajhøj
11 Jul 25           i         `* Re: VMS x86-64 database server2hb0815
11 Jul 25           i          `- Re: VMS x86-64 database server1Arne Vajhøj
10 Jul 25           `* Re: VMS x86-64 database server4bill
10 Jul 25            `* Re: VMS x86-64 database server3Dan Cross
11 Jul 25             +- Re: VMS x86-64 database server1Arne Vajhøj
11 Jul 25             `- Re: VMS x86-64 database server1Stephen Hoffman

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal