Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

Counting in binary is just like counting in decimal -- if you are all thumbs. -- Glaser and Way


computers / comp.os.vms / Re: Calling $CREPRC in COBOL

SubjectAuthor
* Calling $CREPRC in COBOLVAXman-
+* Re: Calling $CREPRC in COBOLCraig A. Berry
|+- Re: Calling $CREPRC in COBOLCraig A. Berry
|`* Re: Calling $CREPRC in COBOLBill Gunshannon
| `* Re: Calling $CREPRC in COBOLCraig A. Berry
|  +* Re: Calling $CREPRC in COBOLVAXman-
|  |+* Re: Calling $CREPRC in COBOLBill Gunshannon
|  ||`* Re: Calling $CREPRC in COBOLabrsvc
|  || `- Re: Calling $CREPRC in COBOLCraig A. Berry
|  |`- Re: Calling $CREPRC in COBOLRich Alderson
|  `* Re: Calling $CREPRC in COBOLBill Gunshannon
|   +* Re: Calling $CREPRC in COBOLCraig A. Berry
|   |+- Re: Calling $CREPRC in COBOLBill Gunshannon
|   |`* Re: Calling $CREPRC in COBOLDave Froble
|   | +* Re: Calling $CREPRC in COBOLRichard Maher
|   | |`- Re: Calling $CREPRC in COBOLRichard Maher
|   | `* Re: Calling $CREPRC in COBOLVAXman-
|   |  `* Re: Calling $CREPRC in COBOLDave Froble
|   |   `* Re: Calling $CREPRC in COBOLRichard Maher
|   |    `* Re: Calling $CREPRC in COBOLDave Froble
|   |     +* Re: Calling $CREPRC in COBOLRichard Maher
|   |     |`* Re: Calling $CREPRC in COBOLDave Froble
|   |     | +* Re: Calling $CREPRC in COBOLStephen Hoffman
|   |     | |+* Re: Calling $CREPRC in COBOLRichard Maher
|   |     | ||`- Re: Calling $CREPRC in COBOLSimon Clubley
|   |     | |`* Re: Calling $CREPRC in COBOLDavid Jones
|   |     | | `* Re: Calling $CREPRC in COBOLStephen Hoffman
|   |     | |  `* Re: Calling $CREPRC in COBOLSimon Clubley
|   |     | |   +* Re: Calling $CREPRC in COBOLDave Froble
|   |     | |   |+* Re: Calling $CREPRC in COBOLSimon Clubley
|   |     | |   ||`- Re: Calling $CREPRC in COBOLDave Froble
|   |     | |   |`* Re: Calling $CREPRC in COBOLStephen Hoffman
|   |     | |   | `* Re: Calling $CREPRC in COBOLArne Vajhøj
|   |     | |   |  `* Re: Calling $CREPRC in COBOLCraig A. Berry
|   |     | |   |   `* Re: Calling $CREPRC in COBOLArne Vajhøj
|   |     | |   |    `* Re: Calling $CREPRC in COBOLseasoned_geek
|   |     | |   |     +* Re: Calling $CREPRC in COBOLArne Vajhøj
|   |     | |   |     |`* Re: Calling $CREPRC in COBOLseasoned_geek
|   |     | |   |     | `* Re: Calling $CREPRC in COBOLDave Froble
|   |     | |   |     |  +- Re: Calling $CREPRC in COBOLBill Gunshannon
|   |     | |   |     |  `- Re: Calling $CREPRC in COBOLArne Vajhøj
|   |     | |   |     +- Re: Calling $CREPRC in COBOLStephen Hoffman
|   |     | |   |     `- Re: Calling $CREPRC in COBOLVAXman-
|   |     | |   +- Re: Calling $CREPRC in COBOLSingle Stage to Orbit
|   |     | |   +- Re: Calling $CREPRC in COBOLStephen Hoffman
|   |     | |   `- Re: Calling $CREPRC in COBOLDennis Boone
|   |     | `* Re: Calling $CREPRC in COBOLRichard Maher
|   |     |  `* Re: Calling $CREPRC in COBOLDave Froble
|   |     |   `- Re: Calling $CREPRC in COBOLRichard Maher
|   |     +* Re: Calling $CREPRC in COBOLDavid Jones
|   |     |+* Re: Calling $CREPRC in COBOLDave Froble
|   |     ||`- Re: Calling $CREPRC in COBOLseasoned_geek
|   |     |`* Re: Calling $CREPRC in COBOLseasoned_geek
|   |     | +- Re: Calling $CREPRC in COBOLDavid Jones
|   |     | `* Re: Calling $CREPRC in COBOLArne Vajhøj
|   |     |  `* Re: Calling $CREPRC in COBOLseasoned_geek
|   |     |   +- Re: Calling $CREPRC in COBOLDave Froble
|   |     |   `* Re: Calling $CREPRC in COBOLArne Vajhøj
|   |     |    +* Re: Calling $CREPRC in COBOLArne Vajhøj
|   |     |    |+* Re: Calling $CREPRC in COBOLRichard Maher
|   |     |    ||`- Re: Calling $CREPRC in COBOLArne Vajhøj
|   |     |    |`* Re: Calling $CREPRC in COBOLArne Vajhøj
|   |     |    | `* Re: Calling $CREPRC in COBOLDave Froble
|   |     |    |  `- Re: Calling $CREPRC in COBOLArne Vajhøj
|   |     |    `* Re: Calling $CREPRC in COBOLVAXman-
|   |     |     `* Re: Calling $CREPRC in COBOLRichard Maher
|   |     |      `* Re: Calling $CREPRC in COBOLArne Vajhøj
|   |     |       `- Re: Calling $CREPRC in COBOLRichard Maher
|   |     `- Re: Calling $CREPRC in COBOLseasoned_geek
|   `- Re: Calling $CREPRC in COBOLArne Vajhøj
+- Re: Calling $CREPRC in COBOLArne Vajhøj
`* Re: Calling $CREPRC in COBOLRichard Maher
 +* Re: Calling $CREPRC in COBOLabrsvc
 |`- Re: Calling $CREPRC in COBOLRichard Maher
 +* Re: Calling $CREPRC in COBOLRichard Maher
 |`* Re: Calling $CREPRC in COBOLPhil Howell
 | `- Re: Calling $CREPRC in COBOLRichard Maher
 `* Re: Calling $CREPRC in COBOLVAXman-
  +- Re: Calling $CREPRC in COBOLRichard Maher
  `* Re: Calling $CREPRC in COBOLSimon Clubley
   +* Re: Calling $CREPRC in COBOLVAXman-
   |`- Re: Calling $CREPRC in COBOLSimon Clubley
   +* Re: Calling $CREPRC in COBOLDennis Boone
   |+* Re: Calling $CREPRC in COBOLSingle Stage to Orbit
   ||`- Re: Calling $CREPRC in COBOLSimon Clubley
   |`- Re: Calling $CREPRC in COBOLSimon Clubley
   `* Re: Calling $CREPRC in COBOLBill Gunshannon
    +- Re: Calling $CREPRC in COBOLArne Vajhøj
    `* Re: Calling $CREPRC in COBOLseasoned_geek
     `* Re: Calling $CREPRC in COBOLVAXman-
      `- Re: Calling $CREPRC in COBOLJohnny Billquist

Pages:1234
Re: Calling $CREPRC in COBOL

<00d343cc-c9c7-4a20-a6ab-d5d8e27e0570n@googlegroups.com>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=23428&group=comp.os.vms#23428

  copy link   Newsgroups: comp.os.vms
X-Received: by 2002:a37:de0c:0:b0:69e:cd37:7646 with SMTP id h12-20020a37de0c000000b0069ecd377646mr19702647qkj.449.1656945447265;
Mon, 04 Jul 2022 07:37:27 -0700 (PDT)
X-Received: by 2002:a0d:d785:0:b0:317:9576:9bab with SMTP id
z127-20020a0dd785000000b0031795769babmr33573332ywd.88.1656945446999; Mon, 04
Jul 2022 07:37:26 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.os.vms
Date: Mon, 4 Jul 2022 07:37:26 -0700 (PDT)
In-Reply-To: <62c23433$0$699$14726298@news.sunsite.dk>
Injection-Info: google-groups.googlegroups.com; posting-host=38.240.143.151; posting-account=z_53ZAoAAABPLJW38_4Jh_R33ylRkSCo
NNTP-Posting-Host: 38.240.143.151
References: <00B76057.ECCFCF4E@SendSpamHere.ORG> <t801pc$gd7$1@dont-email.me>
<jghgpaF5vgoU1@mid.individual.net> <t804ht$a69$1@dont-email.me>
<jghm0uF6rbqU1@mid.individual.net> <t809sr$m83$1@dont-email.me>
<t8olit$71c$1@dont-email.me> <00B76801.01280C59@SendSpamHere.ORG>
<t8q08l$1fb$1@dont-email.me> <t8r490$1b27$1@gioia.aioe.org>
<t8rg7g$cvp$1@dont-email.me> <t8v8bj$19ie$1@gioia.aioe.org>
<t8vbjf$c47$1@dont-email.me> <t8ve8m$17h$1@dont-email.me> <17386385-f589-4ab2-bd49-69c540557cccn@googlegroups.com>
<t95ad4$tnd$1@dont-email.me> <t9copu$kefq$1@dont-email.me>
<t9csme$lj27$1@dont-email.me> <t9dc9m$pl90$1@dont-email.me>
<62ba60c1$0$694$14726298@news.sunsite.dk> <t9dq1v$vqdm$1@dont-email.me>
<62baf787$0$697$14726298@news.sunsite.dk> <40c776a0-fd68-47c9-a22f-a14f16583e82n@googlegroups.com>
<62c23433$0$699$14726298@news.sunsite.dk>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <00d343cc-c9c7-4a20-a6ab-d5d8e27e0570n@googlegroups.com>
Subject: Re: Calling $CREPRC in COBOL
From: rol...@logikalsolutions.com (seasoned_geek)
Injection-Date: Mon, 04 Jul 2022 14:37:27 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2688
 by: seasoned_geek - Mon, 4 Jul 2022 14:37 UTC

On Sunday, July 3, 2022 at 7:28:37 PM UTC-5, Arne Vajhøj wrote:
> On 7/3/2022 4:15 PM, seasoned_geek wrote:
> > On Tuesday, June 28, 2022 at 7:43:54 AM UTC-5, Arne Vajhøj wrote:
> >> On 6/27/2022 10:46 PM, Craig A. Berry wrote:
> >
> > Actually most do care about the memory consumption. Especially when
> > it cascades out to disk that is too small. They also care about the
> > overhead of CHAR processing.
> Developers at least in the static typed compiled subset of languages
> prefer languages that work that way.
>
> (script languages for whatever reason often use UTF-8 internally)

That's because those who choose scripting languages don't know anything about programming.

Re: Calling $CREPRC in COBOL

<t9vokv$3g0so$3@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=23459&group=comp.os.vms#23459

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: dav...@tsoft-inc.com (Dave Froble)
Newsgroups: comp.os.vms
Subject: Re: Calling $CREPRC in COBOL
Date: Mon, 4 Jul 2022 18:12:52 -0400
Organization: A noiseless patient Spider
Lines: 26
Message-ID: <t9vokv$3g0so$3@dont-email.me>
References: <00B76057.ECCFCF4E@SendSpamHere.ORG> <t801pc$gd7$1@dont-email.me>
<jghgpaF5vgoU1@mid.individual.net> <t804ht$a69$1@dont-email.me>
<jghm0uF6rbqU1@mid.individual.net> <t809sr$m83$1@dont-email.me>
<t8olit$71c$1@dont-email.me> <00B76801.01280C59@SendSpamHere.ORG>
<t8q08l$1fb$1@dont-email.me> <t8r490$1b27$1@gioia.aioe.org>
<t8rg7g$cvp$1@dont-email.me> <t8v8bj$19ie$1@gioia.aioe.org>
<t8vbjf$c47$1@dont-email.me> <t8ve8m$17h$1@dont-email.me>
<17386385-f589-4ab2-bd49-69c540557cccn@googlegroups.com>
<t95ad4$tnd$1@dont-email.me> <t9copu$kefq$1@dont-email.me>
<t9csme$lj27$1@dont-email.me> <t9dc9m$pl90$1@dont-email.me>
<62ba60c1$0$694$14726298@news.sunsite.dk> <t9dq1v$vqdm$1@dont-email.me>
<62baf787$0$697$14726298@news.sunsite.dk>
<40c776a0-fd68-47c9-a22f-a14f16583e82n@googlegroups.com>
<62c23433$0$699$14726298@news.sunsite.dk>
<00d343cc-c9c7-4a20-a6ab-d5d8e27e0570n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 4 Jul 2022 22:12:47 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="16f60e1b5a589977a219c7a3683d2506";
logging-data="3670936"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18GNfpsIB6kX7N/zdsSfZkwi5H/xkc/pn4="
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:45.0) Gecko/20100101
Thunderbird/45.8.0
Cancel-Lock: sha1:czclBJs2CkQ/Mfu6obaS34cothU=
In-Reply-To: <00d343cc-c9c7-4a20-a6ab-d5d8e27e0570n@googlegroups.com>
 by: Dave Froble - Mon, 4 Jul 2022 22:12 UTC

On 7/4/2022 10:37 AM, seasoned_geek wrote:
> On Sunday, July 3, 2022 at 7:28:37 PM UTC-5, Arne Vajhøj wrote:
>> On 7/3/2022 4:15 PM, seasoned_geek wrote:
>>> On Tuesday, June 28, 2022 at 7:43:54 AM UTC-5, Arne Vajhøj wrote:
>>>> On 6/27/2022 10:46 PM, Craig A. Berry wrote:
>>>
>>> Actually most do care about the memory consumption. Especially when
>>> it cascades out to disk that is too small. They also care about the
>>> overhead of CHAR processing.
>> Developers at least in the static typed compiled subset of languages
>> prefer languages that work that way.
>>
>> (script languages for whatever reason often use UTF-8 internally)
>
> That's because those who choose scripting languages don't know anything about programming.
>

It was once said about me that I could not be a real programmer if I didn't know
and use PHP. I just laughed.

--
David Froble Tel: 724-529-0450
Dave Froble Enterprises, Inc. E-Mail: davef@tsoft-inc.com
DFE Ultralights, Inc.
170 Grimplin Road
Vanderbilt, PA 15486

Re: Calling $CREPRC in COBOL

<t9vpb7$3g4sg$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=23460&group=comp.os.vms#23460

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: dav...@tsoft-inc.com (Dave Froble)
Newsgroups: comp.os.vms
Subject: Re: Calling $CREPRC in COBOL
Date: Mon, 4 Jul 2022 18:24:43 -0400
Organization: A noiseless patient Spider
Lines: 195
Message-ID: <t9vpb7$3g4sg$1@dont-email.me>
References: <00B76057.ECCFCF4E@SendSpamHere.ORG> <t801pc$gd7$1@dont-email.me>
<jghgpaF5vgoU1@mid.individual.net> <t804ht$a69$1@dont-email.me>
<jghm0uF6rbqU1@mid.individual.net> <t809sr$m83$1@dont-email.me>
<t8olit$71c$1@dont-email.me> <00B76801.01280C59@SendSpamHere.ORG>
<t8q08l$1fb$1@dont-email.me> <t8r490$1b27$1@gioia.aioe.org>
<t8rg7g$cvp$1@dont-email.me>
<e652183c-3a65-449a-826f-e3d8c5c9ff0bn@googlegroups.com>
<5fcc9f68-4d68-4563-b81d-5aac73743d29n@googlegroups.com>
<62c232de$0$699$14726298@news.sunsite.dk>
<df16bd41-86da-4ceb-829a-160c62b92c95n@googlegroups.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 4 Jul 2022 22:24:39 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="16f60e1b5a589977a219c7a3683d2506";
logging-data="3675024"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19RXqy6XGiwyFtpz/OEdIgBvl6cIKHYqhM="
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:45.0) Gecko/20100101
Thunderbird/45.8.0
Cancel-Lock: sha1:W+hQT+nAYp8exY7PEtZ8/uFO4wA=
In-Reply-To: <df16bd41-86da-4ceb-829a-160c62b92c95n@googlegroups.com>
 by: Dave Froble - Mon, 4 Jul 2022 22:24 UTC

On 7/4/2022 10:34 AM, seasoned_geek wrote:
> On Sunday, July 3, 2022 at 7:22:57 PM UTC-5, Arne Vajhøj wrote:
>> On 7/3/2022 4:05 PM, seasoned_geek wrote:
>>> On Thursday, June 23, 2022 at 9:14:07 AM UTC-5, osuv...@gmail.com wrote:
>>>> On Tuesday, June 21, 2022 at 12:08:21 AM UTC-4, Dave Froble wrote:
>>> At any rate, there is no SQL that will let you put multi-typed
>>> records in a table. The "best" you could hope for is to have the
>>> primary key fields then a BLOB object one had to hack like we did in
>>> BASIC. You would be right back to CVT$% and RSET logic. (Didn't they
>>> drop RSET and LSET from the DEC BASIC specification at some point?)
>> Not true.
>>
>> You define a super class and sub classes and your ORM framework
>> transparently stores and retrieved the different classes.
>>
>> That is basic persistence knowledge. Any young developer would
>> know that.
>
> Well, we will ask Dave to post the TOLAS invoice (or order) record layouts for a defunct customer and you create a functioning VAX BASIC program using SQLite along with Superclass and Subclass and post it here.

Don't know why I'm doing this. Must be a real slow day.

It's not really TOLAS. This is from some work after I left Transcomm. Uses my
DAS database product. Customer no longer exists. (Wasn't my fault.)

Directory DKA100:[CANADA]

ROLAND.LST;1 15/15 [CANADA] (RWED,RWED,RE,)

Total of 1 file, 15/15 blocks.
$ t/p roland.lst

DAS listing of: data:OEHEAD.DAS on 04-Jul-2022 06:17 PM

IDX LEN POS TYPE RMASK WMASK ----------NAME----------
1 6 0 L-string 0 0 Order number
2 3 6 L-string 0 0 Order type
3 2 9 Integer 0 0 Status flags
4 8 11 L-string 0 0 Ship-to customer number
5 8 19 L-string 0 0 Bill-to customer number
6 3 27 L-string 0 0 Keyer ID
7 30 30 L-string 0 0 Ship-to name
8 30 60 L-string 0 0 Ship-to address 1
9 30 90 L-string 0 0 Ship-to address 2
10 20 120 L-string 0 0 Ship-to city
11 2 140 L-string 0 0 Ship-to state
12 9 142 L-string 0 0 Ship-to zip
13 2 151 Date 0 0 Order date
14 2 153 Date 0 0 Closed date
15 2 155 Date 0 0 Requested ship date
16 2 157 Date 0 0 Cancellation date
17 2 159 L-string 0 0 Terms code
18 3 161 L-string 0 0 Salesperson code
19 25 164 L-string 0 0 Ship via
20 16 189 L-string 0 0 Customer P.O. number
21 1 205 Byte 0 0 Number invoice copies
22 2 206 L-string 0 0 County tax code
23 4 208 DI5 0 0 Tax %
24 4 212 DI0 0 0 Total quantity
25 4 216 DI3 0 0 Total weight
26 4 220 DI2 0 0 Total order value
27 4 224 DI2 0 0 Total tax amount
28 2 228 Date 0 0 Entry date
29 3 230 L-string 0 0 Ship point
30 3 233 L-string 0 0 Freight code
31 1 236 L-string 0 0 Division
32 6 237 L-string 0 0 Process number
33 1 243 Byte 0 0 Edit count
34 2 244 Integer 0 0 Flags2
35 1 246 L-string 0 0 Picking priority
36 1 247 Byte 0 0 Pick ticket count
37 1 248 Byte 0 0 Shipments count
38 4 249 DI0 0 0 Pick ticket quantity
39 4 253 DI2 0 0 Pick ticket value
40 2 257 L-string 0 0 Cancellation reason
41 2 259 Date 0 0 Credit expiration date
42 3 261 L-string 0 0 PSO Client ID
43 6 264 L-string 0 0 PSO Order number
(270)

Records : 7 Max records : 56
Filesize : 76 Delete field : Keyer ID
File type : 1 Record length : 512
Blocking : 1 # of fields : 43
Data offset : 20 Version : 1
Created : 05-Apr-2000 Reorganized : 24-Oct-2000

Key header:
Add list ptr = 21 Alloc factor = 1.800
Add list size = 0 # of keys = 3

KEY # 1
# of fields = 1 Keysize = 6
No dups flag = 1 Starting block = 9
Key blocking = 204 Split ratio = 7

FIELD 1 =< 1,Order number>

KEY # 2
# of fields = 1 Keysize = 8
No dups flag = 0 Starting block = 13
Key blocking = 170 Split ratio = 5

FIELD 1 =< 4,Ship-to customer number>

KEY # 3
# of fields = 1 Keysize = 8
No dups flag = 0 Starting block = 17
Key blocking = 170 Split ratio = 5

FIELD 1 =< 5,Bill-to customer number>
 DAS listing of: data:OEDETL.DAS on 04-Jul-2022 06:17 PM

IDX LEN POS TYPE RMASK WMASK ----------NAME----------
1 6 0 L-string 0 0 Order number
2 2 6 Integer 0 0 Sequence number
3 1 8 Byte 0 0 Record type
4 2 9 Integer 0 0 Status flags
5 3 11 L-string 0 0 Charge code
6 4 14 L-string 0 0 Product line
7 3 18 L-string 0 0 Product number
8 2 21 L-string 0 0 Color
9 2 23 L-string 0 0 Full size
10 2 25 L-string 0 0 Half size
11 30 27 L-string 0 0 Description
12 2 57 L-string 0 0 Unit of measure
13 4 59 DI3 0 0 Unit weight
14 4 63 DI2 0 0 Unit cost
15 4 67 DI2 0 0 Unit price
16 1 71 Byte 0 0 Price level
17 4 72 DI0 0 0 Order quantity
18 4 76 DI5 0 0 Line discount %
19 4 80 DI5 0 0 Tax %
20 2 84 Integer 0 0 Flags2
21 5 86 L-string 0 0 Bin location
22 4 91 DI0 0 0 Shipped quantity
23 4 95 DI0 0 0 Reserved quantity
24 4 99 DI0 0 0 Ship this time qty
25 4 103 DI0 0 0 Internal work field
26 4 107 DI2 0 0 Price level 1 unit price
27 3 111 L-string 0 0 Ship point
28 5 114 L-string 0 0 Work fld - alt sku
29 3 119 L-string 0 0 PSO client ID
30 2 122 Integer 0 0 PSO line number
(124)

Records : 17 Max records : 320
Filesize : 156 Delete field : Record type
File type : 1 Record length : 128
Blocking : 4 # of fields : 30
Data offset : 76 Version : 1
Created : 14-Apr-2000 Reorganized : 24-Oct-2000

Key header:
Add list ptr = 33 Alloc factor = 1.800
Add list size = 44 # of keys = 3

KEY # 1
# of fields = 2 Keysize = 8
No dups flag = 1 Starting block = 13
Key blocking = 170 Split ratio = 7

FIELD 1 =< 1,Order number>
FIELD 2 =< 2,Sequence number>

KEY # 2
# of fields = 3 Keysize = 13
No dups flag = 0 Starting block = 21
Key blocking = 120 Split ratio = 5

FIELD 1 =< 1,Order number>
FIELD 2 =<21,Bin location>
FIELD 3 =< 2,Sequence number>

KEY # 3
# of fields = 5 Keysize = 13
No dups flag = 0 Starting block = 29
Key blocking = 120 Split ratio = 5

FIELD 1 =< 6,Product line>
FIELD 2 =< 7,Product number>
FIELD 3 =< 8,Color>
FIELD 4 =< 9,Full size>
FIELD 5 =<10,Half size>
$

--
David Froble Tel: 724-529-0450
Dave Froble Enterprises, Inc. E-Mail: davef@tsoft-inc.com
DFE Ultralights, Inc.
170 Grimplin Road
Vanderbilt, PA 15486

Re: Calling $CREPRC in COBOL

<jihebuF61e7U1@mid.individual.net>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=23471&group=comp.os.vms#23471

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!3.eu.feeder.erje.net!feeder.erje.net!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: bill.gun...@gmail.com (Bill Gunshannon)
Newsgroups: comp.os.vms
Subject: Re: Calling $CREPRC in COBOL
Date: Mon, 4 Jul 2022 20:19:10 -0400
Lines: 27
Message-ID: <jihebuF61e7U1@mid.individual.net>
References: <00B76057.ECCFCF4E@SendSpamHere.ORG> <t801pc$gd7$1@dont-email.me>
<jghgpaF5vgoU1@mid.individual.net> <t804ht$a69$1@dont-email.me>
<jghm0uF6rbqU1@mid.individual.net> <t809sr$m83$1@dont-email.me>
<t8olit$71c$1@dont-email.me> <00B76801.01280C59@SendSpamHere.ORG>
<t8q08l$1fb$1@dont-email.me> <t8r490$1b27$1@gioia.aioe.org>
<t8rg7g$cvp$1@dont-email.me> <t8v8bj$19ie$1@gioia.aioe.org>
<t8vbjf$c47$1@dont-email.me> <t8ve8m$17h$1@dont-email.me>
<17386385-f589-4ab2-bd49-69c540557cccn@googlegroups.com>
<t95ad4$tnd$1@dont-email.me> <t9copu$kefq$1@dont-email.me>
<t9csme$lj27$1@dont-email.me> <t9dc9m$pl90$1@dont-email.me>
<62ba60c1$0$694$14726298@news.sunsite.dk> <t9dq1v$vqdm$1@dont-email.me>
<62baf787$0$697$14726298@news.sunsite.dk>
<40c776a0-fd68-47c9-a22f-a14f16583e82n@googlegroups.com>
<62c23433$0$699$14726298@news.sunsite.dk>
<00d343cc-c9c7-4a20-a6ab-d5d8e27e0570n@googlegroups.com>
<t9vokv$3g0so$3@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: individual.net rWaoLAyxrpWtag/NjwuHNgGxowZWYAsvMT0W0CffbKexDYKKFm
Cancel-Lock: sha1:pHxs9kM1POZAUKHqmIn6FwP/urU=
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
Thunderbird/91.9.1
Content-Language: en-US
In-Reply-To: <t9vokv$3g0so$3@dont-email.me>
 by: Bill Gunshannon - Tue, 5 Jul 2022 00:19 UTC

On 7/4/22 18:12, Dave Froble wrote:
> On 7/4/2022 10:37 AM, seasoned_geek wrote:
>> On Sunday, July 3, 2022 at 7:28:37 PM UTC-5, Arne Vajhøj wrote:
>>> On 7/3/2022 4:15 PM, seasoned_geek wrote:
>>>> On Tuesday, June 28, 2022 at 7:43:54 AM UTC-5, Arne Vajhøj wrote:
>>>>> On 6/27/2022 10:46 PM, Craig A. Berry wrote:
>>>>
>>>> Actually most do care about the memory consumption. Especially when
>>>> it cascades out to disk that is too small. They also care about the
>>>> overhead of CHAR processing.
>>> Developers at least in the static typed compiled subset of languages
>>> prefer languages that work that way.
>>>
>>> (script languages for whatever reason often use UTF-8 internally)
>>
>> That's because those who choose scripting languages don't know
>> anything about programming.
>>
>
> It was once said about me that I could not be a real programmer if I
> didn't know and use PHP.  I just laughed.
>

I know PHP, too well, which is pretty much why I don't use it.

bill

Re: Calling $CREPRC in COBOL

<62ca0eea$0$699$14726298@news.sunsite.dk>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=23584&group=comp.os.vms#23584

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!dotsrc.org!filter.dotsrc.org!news.dotsrc.org!not-for-mail
Date: Sat, 9 Jul 2022 19:27:32 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.11.0
Subject: Re: Calling $CREPRC in COBOL
Content-Language: en-US
Newsgroups: comp.os.vms
References: <00B76057.ECCFCF4E@SendSpamHere.ORG> <t801pc$gd7$1@dont-email.me>
<jghgpaF5vgoU1@mid.individual.net> <t804ht$a69$1@dont-email.me>
<jghm0uF6rbqU1@mid.individual.net> <t809sr$m83$1@dont-email.me>
<t8olit$71c$1@dont-email.me> <00B76801.01280C59@SendSpamHere.ORG>
<t8q08l$1fb$1@dont-email.me> <t8r490$1b27$1@gioia.aioe.org>
<t8rg7g$cvp$1@dont-email.me> <t8v8bj$19ie$1@gioia.aioe.org>
<t8vbjf$c47$1@dont-email.me> <t8ve8m$17h$1@dont-email.me>
<17386385-f589-4ab2-bd49-69c540557cccn@googlegroups.com>
<t95ad4$tnd$1@dont-email.me> <t9copu$kefq$1@dont-email.me>
<t9csme$lj27$1@dont-email.me> <t9dc9m$pl90$1@dont-email.me>
<62ba60c1$0$694$14726298@news.sunsite.dk> <t9dq1v$vqdm$1@dont-email.me>
<62baf787$0$697$14726298@news.sunsite.dk>
<40c776a0-fd68-47c9-a22f-a14f16583e82n@googlegroups.com>
<62c23433$0$699$14726298@news.sunsite.dk>
<00d343cc-c9c7-4a20-a6ab-d5d8e27e0570n@googlegroups.com>
<t9vokv$3g0so$3@dont-email.me>
From: arn...@vajhoej.dk (Arne Vajhøj)
In-Reply-To: <t9vokv$3g0so$3@dont-email.me>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 19
Message-ID: <62ca0eea$0$699$14726298@news.sunsite.dk>
Organization: SunSITE.dk - Supporting Open source
NNTP-Posting-Host: 8370aa45.news.sunsite.dk
X-Trace: 1657409258 news.sunsite.dk 699 arne@vajhoej.dk/68.9.63.232:51219
X-Complaints-To: staff@sunsite.dk
 by: Arne Vajhøj - Sat, 9 Jul 2022 23:27 UTC

On 7/4/2022 6:12 PM, Dave Froble wrote:
> It was once said about me that I could not be a real programmer if I
> didn't know and use PHP.  I just laughed.

That was a pretty weird statement.

PHP is widely used. PHP is very easy to get started with. But
PHP is not really an interesting language.

You take 1 cup of Perl scripting, 1 cup of template engine,
1 cup of C procedural programming and 1 cup of Java OO
programming. You mix it and bake it for an hour and
you have PHP 7/8.

:-)

Arne

Re: Calling $CREPRC in COBOL

<62ca17eb$0$701$14726298@news.sunsite.dk>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=23587&group=comp.os.vms#23587

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!dotsrc.org!filter.dotsrc.org!news.dotsrc.org!not-for-mail
Date: Sat, 9 Jul 2022 20:06:01 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.11.0
From: arn...@vajhoej.dk (Arne Vajhøj)
Subject: Re: Calling $CREPRC in COBOL
Newsgroups: comp.os.vms
References: <00B76057.ECCFCF4E@SendSpamHere.ORG> <t801pc$gd7$1@dont-email.me>
<jghgpaF5vgoU1@mid.individual.net> <t804ht$a69$1@dont-email.me>
<jghm0uF6rbqU1@mid.individual.net> <t809sr$m83$1@dont-email.me>
<t8olit$71c$1@dont-email.me> <00B76801.01280C59@SendSpamHere.ORG>
<t8q08l$1fb$1@dont-email.me> <t8r490$1b27$1@gioia.aioe.org>
<t8rg7g$cvp$1@dont-email.me>
<e652183c-3a65-449a-826f-e3d8c5c9ff0bn@googlegroups.com>
<5fcc9f68-4d68-4563-b81d-5aac73743d29n@googlegroups.com>
<62c232de$0$699$14726298@news.sunsite.dk>
<df16bd41-86da-4ceb-829a-160c62b92c95n@googlegroups.com>
Content-Language: en-US
In-Reply-To: <df16bd41-86da-4ceb-829a-160c62b92c95n@googlegroups.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 32
Message-ID: <62ca17eb$0$701$14726298@news.sunsite.dk>
Organization: SunSITE.dk - Supporting Open source
NNTP-Posting-Host: 034e33ed.news.sunsite.dk
X-Trace: 1657411563 news.sunsite.dk 701 arne@vajhoej.dk/68.9.63.232:53498
X-Complaints-To: staff@sunsite.dk
 by: Arne Vajhøj - Sun, 10 Jul 2022 00:06 UTC

On 7/4/2022 10:34 AM, seasoned_geek wrote:
> On Sunday, July 3, 2022 at 7:22:57 PM UTC-5, Arne Vajhøj wrote:
>> On 7/3/2022 4:05 PM, seasoned_geek wrote:
>>> On Thursday, June 23, 2022 at 9:14:07 AM UTC-5, osuv...@gmail.com wrote:
>>>> On Tuesday, June 21, 2022 at 12:08:21 AM UTC-4, Dave Froble wrote:
>>> At any rate, there is no SQL that will let you put multi-typed
>>> records in a table. The "best" you could hope for is to have the
>>> primary key fields then a BLOB object one had to hack like we did in
>>> BASIC. You would be right back to CVT$% and RSET logic. (Didn't they
>>> drop RSET and LSET from the DEC BASIC specification at some point?)
>> Not true.
>>
>> You define a super class and sub classes and your ORM framework
>> transparently stores and retrieved the different classes.
>>
>> That is basic persistence knowledge. Any young developer would
>> know that.
>
> Well, we will ask Dave to post the TOLAS invoice (or order) record layouts for a defunct
> customer and you create a functioning VAX BASIC program using SQLite along with Superclass
> and Subclass and post it here.

It is techniques used by hundreds of thousands maybe millions of
applications.

VMS Basic would be a problem as I am not aware of any ORM
framework for VMS Basic.

(and I also suspect that VMS Basic would need some new features
to be able to create a good one)

Arne

Re: Calling $CREPRC in COBOL

<62ca1a22$0$707$14726298@news.sunsite.dk>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=23588&group=comp.os.vms#23588

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!aioe.org!feeder1.feed.usenet.farm!feed.usenet.farm!news-out.netnews.com!news.alt.net!fdc2.netnews.com!sewer!alphared!news.uzoreto.com!dotsrc.org!filter.dotsrc.org!news.dotsrc.org!not-for-mail
Date: Sat, 9 Jul 2022 20:15:24 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.11.0
Subject: Re: Calling $CREPRC in COBOL
Content-Language: en-US
Newsgroups: comp.os.vms
References: <00B76057.ECCFCF4E@SendSpamHere.ORG> <t801pc$gd7$1@dont-email.me>
<jghgpaF5vgoU1@mid.individual.net> <t804ht$a69$1@dont-email.me>
<jghm0uF6rbqU1@mid.individual.net> <t809sr$m83$1@dont-email.me>
<t8olit$71c$1@dont-email.me> <00B76801.01280C59@SendSpamHere.ORG>
<t8q08l$1fb$1@dont-email.me> <t8r490$1b27$1@gioia.aioe.org>
<t8rg7g$cvp$1@dont-email.me>
<e652183c-3a65-449a-826f-e3d8c5c9ff0bn@googlegroups.com>
<5fcc9f68-4d68-4563-b81d-5aac73743d29n@googlegroups.com>
<62c232de$0$699$14726298@news.sunsite.dk>
<df16bd41-86da-4ceb-829a-160c62b92c95n@googlegroups.com>
<62ca17eb$0$701$14726298@news.sunsite.dk>
From: arn...@vajhoej.dk (Arne Vajhøj)
In-Reply-To: <62ca17eb$0$701$14726298@news.sunsite.dk>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 307
Message-ID: <62ca1a22$0$707$14726298@news.sunsite.dk>
Organization: SunSITE.dk - Supporting Open source
NNTP-Posting-Host: 034e33ed.news.sunsite.dk
X-Trace: 1657412131 news.sunsite.dk 707 arne@vajhoej.dk/68.9.63.232:53999
X-Complaints-To: staff@sunsite.dk
 by: Arne Vajhøj - Sun, 10 Jul 2022 00:15 UTC

On 7/9/2022 8:06 PM, Arne Vajhøj wrote:
> On 7/4/2022 10:34 AM, seasoned_geek wrote:
>> On Sunday, July 3, 2022 at 7:22:57 PM UTC-5, Arne Vajhøj wrote:
>>> On 7/3/2022 4:05 PM, seasoned_geek wrote:
>>>> On Thursday, June 23, 2022 at 9:14:07 AM UTC-5, osuv...@gmail.com
>>>> wrote:
>>>>> On Tuesday, June 21, 2022 at 12:08:21 AM UTC-4, Dave Froble wrote:
>>>> At any rate, there is no SQL that will let you put multi-typed
>>>> records in a table. The "best" you could hope for is to have the
>>>> primary key fields then a BLOB object one had to hack like we did in
>>>> BASIC. You would be right back to CVT$% and RSET logic. (Didn't they
>>>> drop RSET and LSET from the DEC BASIC specification at some point?)
>>> Not true.
>>>
>>> You define a super class and sub classes and your ORM framework
>>> transparently stores and retrieved the different classes.
>>>
>>> That is basic persistence knowledge. Any young developer would
>>> know that.
>>
>> Well, we will ask Dave to post the TOLAS invoice (or order) record
>> layouts for a defunct
>> customer and you create a functioning VAX BASIC program using SQLite
>> along with Superclass
>> and Subclass and post it here.
>
> It is techniques used by hundreds of thousands maybe millions of
> applications.
>
> VMS Basic would be a problem as I am not aware of any ORM
> framework for VMS Basic.
>
> (and I also suspect that VMS Basic would need some new features
> to be able to create a good one)

But let me show something. Not TOLAS - just hello world level.

Obvious choices would be Java + Hibernate, C# + Entity Framework
or PHP + Doctrine, but since Groovy and Basic are part of the
thread then Groovy + Hibernate and VB.NET + Entity Framework.

Database definition and a few rows:

CREATE TABLE p (
id INTEGER NOT NULL,
typ INTEGER NOT NULL,
PRIMARY KEY(id)
);
CREATE TABLE c1 (
id INETGER NOT NULL,
ival INTEGER,
PRIMARY KEY(id)
);
CREATE TABLE c2 (
id INETGER NOT NULL,
sval VARCHAR(50),
PRIMARY KEY(id)
);
INSERT INTO p VALUES(1, 1);
INSERT INTO c1 VALUES(1, 123);
INSERT INTO p VALUES(2, 2);
INSERT INTO c2 VALUES(2, 'ABC');

First Groovy + Hibernate.

What is needed:
* Java
* Groovy
* Hibernate
* SQLite dialect for Hibernate version
* JDBC driver for SQLite

Data classes:

package mt

import javax.persistence.*

// parent class
@Entity @Inheritance(strategy=InheritanceType.JOINED)
class P {
@Id int id
int typ
}

// child class 1
@Entity @PrimaryKeyJoinColumn(name="id")
class C1 extends P {
@Id int id
int ival
@Override String toString() {
return "C1: $id -> $ival"
}
}

// child class 2
@Entity @PrimaryKeyJoinColumn(name="id")
class C2 extends P {
@Id int id
String sval
@Override String toString() {
return "C2: $id -> $sval"
}
}

Config file with database connection:

<persistence xmlns="http://java.sun.com/xml/ns/persistence"" rel="nofollow" target="_blank">http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="testdb">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>mt.P</class>
<class>mt.C1</class>
<class>mt.C2</class>
<exclude-unlisted-classes/>
<properties>
<!--<property name="show_sql" value="true"/>-->
<property name="hibernate.connection.driver_class"
value="org.sqlite.JDBC"/>
<property name="hibernate.connection.url"
value="jdbc:sqlite:test.db"/>
<property name="hibernate.connection.username" value=""/>
<property name="hibernate.connection.password" value=""/>
<property name="hibernate.dialect"
value="org.sqlite.hibernate.dialect.SQLiteDialect"/>
</properties>
</persistence-unit>
</persistence>

And it is all ready.

Demo:

package mt

import java.util.logging.*

import javax.persistence.*

// disable logging
Logger.getLogger("org.hibernate").setLevel(Level.OFF)
// open connection
emf = Persistence.createEntityManagerFactory("testdb")
em = emf.createEntityManager()
// add a C1 and C2
em.getTransaction().begin()
em.persist(new C1(id:3, typ:1, ival:456))
em.persist(new C2(id:4, typ:2, sval:"DEF"))
em.getTransaction().commit()
// find by PK
println(em.find(P.class, 2))
// list all
for(o in em.createQuery("SELECT o FROM P AS o", P.class).getResultList()) {
println("${o}")
} // list all C2
for(o in em.createQuery("SELECT o FROM C2 AS o", P.class).getResultList()) {
println("${o}")
} // list some
for(o in em.createQuery("SELECT o FROM P AS o WHERE o.id BETWEEN 2 and
3", P.class).getResultList()) {
println("${o}")
} // close connection
em.close()
emf.close()

Note that: this should run on VMS Itanium as all the pieces
needed are available.

Now VB.NET + Entity Framework.

What is needed:
* .NET
* Entity Framework
* ADO.NET provider for SQLite (includes Entity Framework support)

Data classes:

Imports System
Imports System.ComponentModel.DataAnnotations
Imports System.ComponentModel.DataAnnotations.Schema
Imports System.Data.Entity

Namespace MT
' parent class
<Table("P")> Public Class P
<Key> <DatabaseGenerated(DatabaseGeneratedOption.None)> Public
Property Id() As Integer
Public Property Typ() As Integer
End Class
' child class 1
<Table("C1")> Public Class C1
Inherits P
Public Property Ival() As Integer
Public Overrides Function ToString() As String
Return $"C1: {id} -> {ival}"
End Function
End Class
' child class 2
<Table("C2")> Public Class C2
Inherits P
Public Property Sval() As String
Public Overrides Function ToString() As String
Return $"C2: {id} -> {sval}"
End Function
End Class
' database context
Public Class TestDbContext
Inherits DbContext
Public Sub New(constrkey As String)
MyBase.New(constrkey)
End Sub
Public Property P() As DbSet(Of P)
Public Property C1() As DbSet(Of C1)
Public Property C2() As DbSet(Of C2)
End Class
End Namespace

Config file with database connection:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="entityFramework"
type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection,
EntityFramework" requirePermission="false" />
</configSections>
<connectionStrings>
<add name="TestDB" connectionString="Data Source=.\test.db"
providerName="System.Data.SQLite"/>
</connectionStrings>
<entityFramework>
<providers>
<provider invariantName="System.Data.SQLite"
type="System.Data.SQLite.EF6.SQLiteProviderServices,
System.Data.SQLite.EF6"/>
<provider invariantName="System.Data.SQLite.EF6"
type="System.Data.SQLite.EF6.SQLiteProviderServices,
System.Data.SQLite.EF6"/>
</providers>
</entityFramework>
<startup>
<supportedRuntime version="v4.0"
sku=".NETFramework,Version=v4.5.1" />
</startup>
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SQLite" />
<remove invariant="System.Data.SQLite.EF6" />
<add name="SQLite Data Provider (Entity Framework 6)"
invariant="System.Data.SQLite.EF6" description=".NET Framework Data
Provider for SQLite (Entity Framework 6)"
type="System.Data.SQLite.EF6.SQLiteProviderFactory,
System.Data.SQLite.EF6" />
<add name="SQLite Data Provider"
invariant="System.Data.SQLite" description=".NET Framework Data Provider
for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
</DbProviderFactories>
</system.data>
</configuration>


Click here to read the complete article
Re: Calling $CREPRC in COBOL

<tafngl$ddi$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=23600&group=comp.os.vms#23600

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!aioe.org!PqOvX6IGnPQwKdKFsHVyRA.user.46.165.242.75.POSTED!not-for-mail
From: maher_rj...@hotmail.com (Richard Maher)
Newsgroups: comp.os.vms
Subject: Re: Calling $CREPRC in COBOL
Date: Mon, 11 Jul 2022 07:31:34 +0800
Organization: Aioe.org NNTP Server
Message-ID: <tafngl$ddi$1@gioia.aioe.org>
References: <00B76057.ECCFCF4E@SendSpamHere.ORG> <t801pc$gd7$1@dont-email.me>
<jghgpaF5vgoU1@mid.individual.net> <t804ht$a69$1@dont-email.me>
<jghm0uF6rbqU1@mid.individual.net> <t809sr$m83$1@dont-email.me>
<t8olit$71c$1@dont-email.me> <00B76801.01280C59@SendSpamHere.ORG>
<t8q08l$1fb$1@dont-email.me> <t8r490$1b27$1@gioia.aioe.org>
<t8rg7g$cvp$1@dont-email.me>
<e652183c-3a65-449a-826f-e3d8c5c9ff0bn@googlegroups.com>
<5fcc9f68-4d68-4563-b81d-5aac73743d29n@googlegroups.com>
<62c232de$0$699$14726298@news.sunsite.dk>
<df16bd41-86da-4ceb-829a-160c62b92c95n@googlegroups.com>
<62ca17eb$0$701$14726298@news.sunsite.dk>
<62ca1a22$0$707$14726298@news.sunsite.dk>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: gioia.aioe.org; logging-data="13746"; posting-host="PqOvX6IGnPQwKdKFsHVyRA.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.11.0
X-Notice: Filtered by postfilter v. 0.9.2
Content-Language: en-US
 by: Richard Maher - Sun, 10 Jul 2022 23:31 UTC

On 10/07/2022 8:15 am, Arne Vajhøj wrote:
> On 7/9/2022 8:06 PM, Arne Vajhøj wrote:
>> On 7/4/2022 10:34 AM, seasoned_geek wrote:
>>> On Sunday, July 3, 2022 at 7:22:57 PM UTC-5, Arne Vajhøj wrote:
>>>> On 7/3/2022 4:05 PM, seasoned_geek wrote:
>>>>> On Thursday, June 23, 2022 at 9:14:07 AM UTC-5,
>>>>> osuv...@gmail.com wrote:
>>>>>> On Tuesday, June 21, 2022 at 12:08:21 AM UTC-4, Dave Froble
>>>>>> wrote:
>>>>> At any rate, there is no SQL that will let you put
>>>>> multi-typed records in a table. The "best" you could hope for
>>>>> is to have the primary key fields then a BLOB object one had
>>>>> to hack like we did in BASIC. You would be right back to
>>>>> CVT$% and RSET logic. (Didn't they drop RSET and LSET from
>>>>> the DEC BASIC specification at some point?)
>>>> Not true.
>>>>
>>>> You define a super class and sub classes and your ORM
>>>> framework transparently stores and retrieved the different
>>>> classes.
>>>>
>>>> That is basic persistence knowledge. Any young developer would
>>>> know that.
>>>
>>> Well, we will ask Dave to post the TOLAS invoice (or order)
>>> record layouts for a defunct customer and you create a
>>> functioning VAX BASIC program using SQLite along with Superclass
>>> and Subclass and post it here.
>>
>> It is techniques used by hundreds of thousands maybe millions of
>> applications.
>>
>> VMS Basic would be a problem as I am not aware of any ORM framework
>> for VMS Basic.
>>
>> (and I also suspect that VMS Basic would need some new features to
>> be able to create a good one)
>
> But let me show something. Not TOLAS - just hello world level.
>
> Obvious choices would be Java + Hibernate, C# + Entity Framework or
> PHP + Doctrine, but since Groovy and Basic are part of the thread
> then Groovy + Hibernate and VB.NET + Entity Framework.
>
> Database definition and a few rows:
>
> CREATE TABLE p ( id INTEGER NOT NULL, typ INTEGER NOT NULL, PRIMARY
> KEY(id) ); CREATE TABLE c1 ( id INETGER NOT NULL, ival INTEGER,
> PRIMARY KEY(id) ); CREATE TABLE c2 ( id INETGER NOT NULL, sval
> VARCHAR(50), PRIMARY KEY(id) ); INSERT INTO p VALUES(1, 1); INSERT
> INTO c1 VALUES(1, 123); INSERT INTO p VALUES(2, 2); INSERT INTO c2
> VALUES(2, 'ABC');
>
> First Groovy + Hibernate.
>
> What is needed: * Java * Groovy * Hibernate * SQLite dialect for
> Hibernate version * JDBC driver for SQLite
>
> Data classes:
>
> package mt
>
> import javax.persistence.*
>
> // parent class @Entity
> @Inheritance(strategy=InheritanceType.JOINED) class P { @Id int id
> int typ }
>
> // child class 1 @Entity @PrimaryKeyJoinColumn(name="id") class C1
> extends P { @Id int id int ival @Override String toString() { return
> "C1: $id -> $ival" } }
>
> // child class 2 @Entity @PrimaryKeyJoinColumn(name="id") class C2
> extends P { @Id int id String sval @Override String toString() {
> return "C2: $id -> $sval" } }
>
> Config file with database connection:
>
> <persistence xmlns="http://java.sun.com/xml/ns/persistence"" rel="nofollow" target="_blank">http://java.sun.com/xml/ns/persistence"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
> http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
> version="2.0"> <persistence-unit name="testdb">
> <provider>org.hibernate.ejb.HibernatePersistence</provider>
> <class>mt.P</class> <class>mt.C1</class> <class>mt.C2</class>
> <exclude-unlisted-classes/> <properties> <!--<property
> name="show_sql" value="true"/>--> <property
> name="hibernate.connection.driver_class" value="org.sqlite.JDBC"/>
> <property name="hibernate.connection.url"
> value="jdbc:sqlite:test.db"/> <property
> name="hibernate.connection.username" value=""/> <property
> name="hibernate.connection.password" value=""/> <property
> name="hibernate.dialect"
> value="org.sqlite.hibernate.dialect.SQLiteDialect"/> </properties>
> </persistence-unit> </persistence>
>
> And it is all ready.
>
> Demo:
>
> package mt
>
> import java.util.logging.*
>
> import javax.persistence.*
>
> // disable logging
> Logger.getLogger("org.hibernate").setLevel(Level.OFF) // open
> connection emf = Persistence.createEntityManagerFactory("testdb") em
> = emf.createEntityManager() // add a C1 and C2
> em.getTransaction().begin() em.persist(new C1(id:3, typ:1,
> ival:456)) em.persist(new C2(id:4, typ:2, sval:"DEF"))
> em.getTransaction().commit() // find by PK println(em.find(P.class,
> 2)) // list all for(o in em.createQuery("SELECT o FROM P AS o",
> P.class).getResultList()) { println("${o}") } // list all C2 for(o in
> em.createQuery("SELECT o FROM C2 AS o", P.class).getResultList()) {
> println("${o}") } // list some for(o in em.createQuery("SELECT o FROM
> P AS o WHERE o.id BETWEEN 2 and 3", P.class).getResultList()) {
> println("${o}") } // close connection em.close() emf.close()
>
> Note that: this should run on VMS Itanium as all the pieces needed
> are available.
>
> Now VB.NET + Entity Framework.
>
> What is needed: * .NET * Entity Framework * ADO.NET provider for
> SQLite (includes Entity Framework support)
>
> Data classes:
>
> Imports System Imports System.ComponentModel.DataAnnotations Imports
> System.ComponentModel.DataAnnotations.Schema Imports
> System.Data.Entity
>
> Namespace MT ' parent class <Table("P")> Public Class P <Key>
> <DatabaseGenerated(DatabaseGeneratedOption.None)> Public Property
> Id() As Integer Public Property Typ() As Integer End Class ' child
> class 1 <Table("C1")> Public Class C1 Inherits P Public Property
> Ival() As Integer Public Overrides Function ToString() As String
> Return $"C1: {id} -> {ival}" End Function End Class ' child class 2
> <Table("C2")> Public Class C2 Inherits P Public Property Sval() As
> String Public Overrides Function ToString() As String Return $"C2:
> {id} -> {sval}" End Function End Class ' database context Public
> Class TestDbContext Inherits DbContext Public Sub New(constrkey As
> String) MyBase.New(constrkey) End Sub Public Property P() As DbSet(Of
> P) Public Property C1() As DbSet(Of C1) Public Property C2() As
> DbSet(Of C2) End Class End Namespace
>
> Config file with database connection:
>
> <?xml version="1.0" encoding="utf-8"?> <configuration>
> <configSections> <section name="entityFramework"
> type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection,
> EntityFramework" requirePermission="false" /> </configSections>
> <connectionStrings> <add name="TestDB" connectionString="Data
> Source=.\test.db" providerName="System.Data.SQLite"/>
> </connectionStrings> <entityFramework> <providers> <provider
> invariantName="System.Data.SQLite"
> type="System.Data.SQLite.EF6.SQLiteProviderServices,
> System.Data.SQLite.EF6"/> <provider
> invariantName="System.Data.SQLite.EF6"
> type="System.Data.SQLite.EF6.SQLiteProviderServices,
> System.Data.SQLite.EF6"/> </providers> </entityFramework> <startup>
> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1"
> /> </startup> <system.data> <DbProviderFactories> <remove
> invariant="System.Data.SQLite" /> <remove
> invariant="System.Data.SQLite.EF6" /> <add name="SQLite Data Provider
> (Entity Framework 6)" invariant="System.Data.SQLite.EF6"
> description=".NET Framework Data Provider for SQLite (Entity
> Framework 6)" type="System.Data.SQLite.EF6.SQLiteProviderFactory,
> System.Data.SQLite.EF6" /> <add name="SQLite Data Provider"
> invariant="System.Data.SQLite" description=".NET Framework Data
> Provider for SQLite" type="System.Data.SQLite.SQLiteFactory,
> System.Data.SQLite" /> </DbProviderFactories> </system.data>
> </configuration>
>
> And it is all ready.
>
> Demo:
>
> Imports System Imports System.Data.Entity Imports System.Linq
>
> Namespace MT Public Class Program Public Shared Sub Main(args As
> String()) ' open and close connection Using ctx As TestDbContext =
> new TestDbContext("TestDB") ' add a C1 and C2 ctx.P.Add(New C1 With {
> .Id = 3, .Typ = 1, .Ival = 456 }) ctx.P.Add(New C2 With { .Id = 4,
> .Typ = 2, .Sval = "DEF" }) ctx.SaveChanges ' find by PK
> Console.WriteLine((From o In Ctx.P Where o.Id = 2 Select
> o).FirstOrdefault) ' list all For Each ox In (From o In Ctx.P Select
> o) Console.WriteLine(ox) Next ' list all C2 For Each ox In (From o In
> Ctx.C2 Select o) Console.WriteLine(ox) Next ' list some For Each ox
> In (From o In Ctx.P Where 2 <= o.Id And o.Id <= 3 Select o)
> Console.WriteLine(ox) Next End Using End Sub End Class End Namespace
>
> Arne
>
>


Click here to read the complete article
Re: Calling $CREPRC in COBOL

<62cb6380$0$703$14726298@news.sunsite.dk>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=23602&group=comp.os.vms#23602

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!usenet.goja.nl.eu.org!dotsrc.org!filter.dotsrc.org!news.dotsrc.org!not-for-mail
Date: Sun, 10 Jul 2022 19:40:40 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.11.0
Subject: Re: Calling $CREPRC in COBOL
Content-Language: en-US
Newsgroups: comp.os.vms
References: <00B76057.ECCFCF4E@SendSpamHere.ORG> <t801pc$gd7$1@dont-email.me>
<jghgpaF5vgoU1@mid.individual.net> <t804ht$a69$1@dont-email.me>
<jghm0uF6rbqU1@mid.individual.net> <t809sr$m83$1@dont-email.me>
<t8olit$71c$1@dont-email.me> <00B76801.01280C59@SendSpamHere.ORG>
<t8q08l$1fb$1@dont-email.me> <t8r490$1b27$1@gioia.aioe.org>
<t8rg7g$cvp$1@dont-email.me>
<e652183c-3a65-449a-826f-e3d8c5c9ff0bn@googlegroups.com>
<5fcc9f68-4d68-4563-b81d-5aac73743d29n@googlegroups.com>
<62c232de$0$699$14726298@news.sunsite.dk>
<df16bd41-86da-4ceb-829a-160c62b92c95n@googlegroups.com>
<62ca17eb$0$701$14726298@news.sunsite.dk>
<62ca1a22$0$707$14726298@news.sunsite.dk> <tafngl$ddi$1@gioia.aioe.org>
From: arn...@vajhoej.dk (Arne Vajhøj)
In-Reply-To: <tafngl$ddi$1@gioia.aioe.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 26
Message-ID: <62cb6380$0$703$14726298@news.sunsite.dk>
Organization: SunSITE.dk - Supporting Open source
NNTP-Posting-Host: 3fb21572.news.sunsite.dk
X-Trace: 1657496448 news.sunsite.dk 703 arne@vajhoej.dk/68.9.63.232:55982
X-Complaints-To: staff@sunsite.dk
 by: Arne Vajhøj - Sun, 10 Jul 2022 23:40 UTC

On 7/10/2022 7:31 PM, Richard Maher wrote:
> On 10/07/2022 8:15 am, Arne Vajhøj wrote:
>> Obvious choices would be Java + Hibernate, C# + Entity Framework or
>> PHP + Doctrine, but since Groovy and Basic are part of the thread
>> then Groovy + Hibernate and VB.NET + Entity Framework.

> Why do OO programmers refuse to use SQL :-(
>
> A TABLE <> CLASS!!!
>
> ORMs are just another abstraction for abstraction's sake.

An ORM is a higher level of abstraction. It result in
less code than using SQL and is therefore cost
efficient.

Not all database operations are suitable
for ORM, so even though one use ORM then one would
typical also use some direct SQL.

But the topic at hand handling of inheritance hierarchies
is one where ORM shines.

Arne

Re: Calling $CREPRC in COBOL

<62cb66c5$0$697$14726298@news.sunsite.dk>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=23603&group=comp.os.vms#23603

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!dotsrc.org!filter.dotsrc.org!news.dotsrc.org!not-for-mail
Date: Sun, 10 Jul 2022 19:54:45 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.11.0
Subject: Re: Calling $CREPRC in COBOL
Content-Language: en-US
Newsgroups: comp.os.vms
References: <00B76057.ECCFCF4E@SendSpamHere.ORG> <t801pc$gd7$1@dont-email.me>
<jghgpaF5vgoU1@mid.individual.net> <t804ht$a69$1@dont-email.me>
<jghm0uF6rbqU1@mid.individual.net> <t809sr$m83$1@dont-email.me>
<t8olit$71c$1@dont-email.me> <00B76801.01280C59@SendSpamHere.ORG>
<t8q08l$1fb$1@dont-email.me> <t8r490$1b27$1@gioia.aioe.org>
<t8rg7g$cvp$1@dont-email.me>
<e652183c-3a65-449a-826f-e3d8c5c9ff0bn@googlegroups.com>
<5fcc9f68-4d68-4563-b81d-5aac73743d29n@googlegroups.com>
<62c232de$0$699$14726298@news.sunsite.dk>
<df16bd41-86da-4ceb-829a-160c62b92c95n@googlegroups.com>
<62ca17eb$0$701$14726298@news.sunsite.dk>
<62ca1a22$0$707$14726298@news.sunsite.dk>
From: arn...@vajhoej.dk (Arne Vajhøj)
In-Reply-To: <62ca1a22$0$707$14726298@news.sunsite.dk>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 21
Message-ID: <62cb66c5$0$697$14726298@news.sunsite.dk>
Organization: SunSITE.dk - Supporting Open source
NNTP-Posting-Host: 3fb21572.news.sunsite.dk
X-Trace: 1657497286 news.sunsite.dk 697 arne@vajhoej.dk/68.9.63.232:56616
X-Complaints-To: staff@sunsite.dk
 by: Arne Vajhøj - Sun, 10 Jul 2022 23:54 UTC

On 7/9/2022 8:15 PM, Arne Vajhøj wrote:
> Obvious choices would be Java + Hibernate, C# + Entity Framework
> or PHP + Doctrine, but since Groovy and Basic are part of the
> thread then Groovy + Hibernate and VB.NET + Entity Framework.

It is worth noting that such solutions has not always
been viable.

The Groovy program working on microscopic small data
use over 200 MB of memory - there is a lot of things
happening under the hood.

That was not possible/cost-efficient 40 years ago.

But today it is like 1 dollar worth of RAM. And
if you buy RAM in 4 GB modules, then it means
nothing.

Arne

Re: Calling $CREPRC in COBOL

<00B7781F.AE706AAF@SendSpamHere.ORG>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=23604&group=comp.os.vms#23604

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!aioe.org!pr9o9uw/KLhPSFYv2ok3sg.user.46.165.242.75.POSTED!not-for-mail
From: VAXm...@SendSpamHere.ORG
Newsgroups: comp.os.vms
Subject: Re: Calling $CREPRC in COBOL
Date: Sun, 10 Jul 2022 23:57:00 GMT
Organization: c.2022 Brian Schenkenberger. Prior employers of copyright holder and their agents must first obtain written permission to copy this posting.
Message-ID: <00B7781F.AE706AAF@SendSpamHere.ORG>
References: <00B76057.ECCFCF4E@SendSpamHere.ORG> <t801pc$gd7$1@dont-email.me> <jghgpaF5vgoU1@mid.individual.net> <t804ht$a69$1@dont-email.me> <jghm0uF6rbqU1@mid.individual.net> <t809sr$m83$1@dont-email.me> <t8olit$71c$1@dont-email.me> <00B76801.01280C59@SendSpamHere.ORG> <t8q08l$1fb$1@dont-email.me> <t8r490$1b27$1@gioia.aioe.org> <t8rg7g$cvp$1@dont-email.me> <e652183c-3a65-449a-826f-e3d8c5c9ff0bn@googlegroups.com> <5fcc9f68-4d68-4563-b81d-5aac73743d29n@googlegroups.com> <62c232de$0$699$14726298@news.sunsite.dk> <df16bd41-86da-4ceb-829a-160c62b92c95n@googlegroups.com> <62ca17eb$0$701$14726298@news.sunsite.dk>
Reply-To: VAXman- @SendSpamHere.ORG
Injection-Info: gioia.aioe.org; logging-data="27699"; posting-host="pr9o9uw/KLhPSFYv2ok3sg.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
X-Notice: Filtered by postfilter v. 0.9.2
 by: VAXm...@SendSpamHere.ORG - Sun, 10 Jul 2022 23:57 UTC

In article <62ca1a22$0$707$14726298@news.sunsite.dk>, =?UTF-8?Q?Arne_Vajh=c3=b8j?= <arne@vajhoej.dk> writes:
>On 7/9/2022 8:06 PM, Arne Vajhøj wrote:
>> On 7/4/2022 10:34 AM, seasoned_geek wrote:
>>> On Sunday, July 3, 2022 at 7:22:57 PM UTC-5, Arne Vajhøj wrote:
>>>> On 7/3/2022 4:05 PM, seasoned_geek wrote:
>>>>> On Thursday, June 23, 2022 at 9:14:07 AM UTC-5, osuv...@gmail.com
>>>>> wrote:
>>>>>> On Tuesday, June 21, 2022 at 12:08:21 AM UTC-4, Dave Froble wrote:
>>>>> At any rate, there is no SQL that will let you put multi-typed
>>>>> records in a table. The "best" you could hope for is to have the
>>>>> primary key fields then a BLOB object one had to hack like we did in
>>>>> BASIC. You would be right back to CVT$% and RSET logic. (Didn't they
>>>>> drop RSET and LSET from the DEC BASIC specification at some point?)
>>>> Not true.
>>>>
>>>> You define a super class and sub classes and your ORM framework
>>>> transparently stores and retrieved the different classes.
>>>>
>>>> That is basic persistence knowledge. Any young developer would
>>>> know that.
>>>
>>> Well, we will ask Dave to post the TOLAS invoice (or order) record
>>> layouts for a defunct
>>> customer and you create a functioning VAX BASIC program using SQLite
>>> along with Superclass
>>> and Subclass and post it here.
>>
>> It is techniques used by hundreds of thousands maybe millions of
>> applications.
>>
>> VMS Basic would be a problem as I am not aware of any ORM
>> framework for VMS Basic.
>>
>> (and I also suspect that VMS Basic would need some new features
>> to be able to create a good one)
>
>But let me show something. Not TOLAS - just hello world level.
>
>Obvious choices would be Java + Hibernate, C# + Entity Framework
>or PHP + Doctrine, but since Groovy and Basic are part of the
>thread then Groovy + Hibernate and VB.NET + Entity Framework.
>
>Database definition and a few rows:
>
>CREATE TABLE p (
> id INTEGER NOT NULL,
> typ INTEGER NOT NULL,
> PRIMARY KEY(id)
>);
>CREATE TABLE c1 (
> id INETGER NOT NULL,
> ival INTEGER,
> PRIMARY KEY(id)
>);
>CREATE TABLE c2 (
> id INETGER NOT NULL,
> sval VARCHAR(50),
> PRIMARY KEY(id)
>);
>INSERT INTO p VALUES(1, 1);
>INSERT INTO c1 VALUES(1, 123);
>INSERT INTO p VALUES(2, 2);
>INSERT INTO c2 VALUES(2, 'ABC');
>
>First Groovy + Hibernate.
>
>What is needed:
>* Java
>* Groovy
>* Hibernate
>* SQLite dialect for Hibernate version
>* JDBC driver for SQLite
>
>Data classes:
>
>package mt
>
>import javax.persistence.*
>
>// parent class
>@Entity @Inheritance(strategy=InheritanceType.JOINED)
>class P {
> @Id int id
> int typ
>}
>
>// child class 1
>@Entity @PrimaryKeyJoinColumn(name="id")
>class C1 extends P {
> @Id int id
> int ival
> @Override String toString() {
> return "C1: $id -> $ival"
> }
>}
>
>// child class 2
>@Entity @PrimaryKeyJoinColumn(name="id")
>class C2 extends P {
> @Id int id
> String sval
> @Override String toString() {
> return "C2: $id -> $sval"
> }
>}
>
>Config file with database connection:
>
><persistence xmlns="http://java.sun.com/xml/ns/persistence"" rel="nofollow" target="_blank">http://java.sun.com/xml/ns/persistence"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
>http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
> version="2.0">
> <persistence-unit name="testdb">
> <provider>org.hibernate.ejb.HibernatePersistence</provider>
> <class>mt.P</class>
> <class>mt.C1</class>
> <class>mt.C2</class>
> <exclude-unlisted-classes/>
> <properties>
> <!--<property name="show_sql" value="true"/>-->
> <property name="hibernate.connection.driver_class"
>value="org.sqlite.JDBC"/>
> <property name="hibernate.connection.url"
>value="jdbc:sqlite:test.db"/>
> <property name="hibernate.connection.username" value=""/>
> <property name="hibernate.connection.password" value=""/>
> <property name="hibernate.dialect"
>value="org.sqlite.hibernate.dialect.SQLiteDialect"/>
> </properties>
> </persistence-unit>
></persistence>
>
>And it is all ready.
>
>Demo:
>
>package mt
>
>import java.util.logging.*
>
>import javax.persistence.*
>
>// disable logging
>Logger.getLogger("org.hibernate").setLevel(Level.OFF)
>// open connection
>emf = Persistence.createEntityManagerFactory("testdb")
>em = emf.createEntityManager()
>// add a C1 and C2
>em.getTransaction().begin()
>em.persist(new C1(id:3, typ:1, ival:456))
>em.persist(new C2(id:4, typ:2, sval:"DEF"))
>em.getTransaction().commit()
>// find by PK
>println(em.find(P.class, 2))
>// list all
>for(o in em.createQuery("SELECT o FROM P AS o", P.class).getResultList()) {
> println("${o}")
>}
>// list all C2
>for(o in em.createQuery("SELECT o FROM C2 AS o", P.class).getResultList()) {
> println("${o}")
>}
>// list some
>for(o in em.createQuery("SELECT o FROM P AS o WHERE o.id BETWEEN 2 and
>3", P.class).getResultList()) {
> println("${o}")
>}
>// close connection
>em.close()
>emf.close()
>
>Note that: this should run on VMS Itanium as all the pieces
>needed are available.
>
>Now VB.NET + Entity Framework.
>
>What is needed:
>* .NET
>* Entity Framework
>* ADO.NET provider for SQLite (includes Entity Framework support)
>
>Data classes:
>
>Imports System
>Imports System.ComponentModel.DataAnnotations
>Imports System.ComponentModel.DataAnnotations.Schema
>Imports System.Data.Entity
>
>Namespace MT
> ' parent class
> <Table("P")> Public Class P
> <Key> <DatabaseGenerated(DatabaseGeneratedOption.None)> Public
>Property Id() As Integer
> Public Property Typ() As Integer
> End Class
> ' child class 1
> <Table("C1")> Public Class C1
> Inherits P
> Public Property Ival() As Integer
> Public Overrides Function ToString() As String
> Return $"C1: {id} -> {ival}"
> End Function
> End Class
> ' child class 2
> <Table("C2")> Public Class C2
> Inherits P
> Public Property Sval() As String
> Public Overrides Function ToString() As String
> Return $"C2: {id} -> {sval}"
> End Function
> End Class
> ' database context
> Public Class TestDbContext
> Inherits DbContext
> Public Sub New(constrkey As String)
> MyBase.New(constrkey)
> End Sub
> Public Property P() As DbSet(Of P)
> Public Property C1() As DbSet(Of C1)
> Public Property C2() As DbSet(Of C2)
> End Class
>End Namespace
>
>Config file with database connection:
>
><?xml version="1.0" encoding="utf-8"?>
><configuration>
> <configSections>
> <section name="entityFramework"
>type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection,
>EntityFramework" requirePermission="false" />
> </configSections>
> <connectionStrings>
> <add name="TestDB" connectionString="Data Source=.\test.db"
>providerName="System.Data.SQLite"/>
> </connectionStrings>
> <entityFramework>
> <providers>
> <provider invariantName="System.Data.SQLite"
>type="System.Data.SQLite.EF6.SQLiteProviderServices,
>System.Data.SQLite.EF6"/>
> <provider invariantName="System.Data.SQLite.EF6"
>type="System.Data.SQLite.EF6.SQLiteProviderServices,
>System.Data.SQLite.EF6"/>
> </providers>
> </entityFramework>
> <startup>
> <supportedRuntime version="v4.0"
>sku=".NETFramework,Version=v4.5.1" />
> </startup>
> <system.data>
> <DbProviderFactories>
> <remove invariant="System.Data.SQLite" />
> <remove invariant="System.Data.SQLite.EF6" />
> <add name="SQLite Data Provider (Entity Framework 6)"
>invariant="System.Data.SQLite.EF6" description=".NET Framework Data
>Provider for SQLite (Entity Framework 6)"
>type="System.Data.SQLite.EF6.SQLiteProviderFactory,
>System.Data.SQLite.EF6" />
> <add name="SQLite Data Provider"
>invariant="System.Data.SQLite" description=".NET Framework Data Provider
>for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
> </DbProviderFactories>
> </system.data>
></configuration>
>
>And it is all ready.
>
>Demo:
>
>Imports System
>Imports System.Data.Entity
>Imports System.Linq
>
>Namespace MT
> Public Class Program
> Public Shared Sub Main(args As String())
> ' open and close connection
> Using ctx As TestDbContext = new TestDbContext("TestDB")
> ' add a C1 and C2
> ctx.P.Add(New C1 With { .Id = 3, .Typ = 1, .Ival = 456 })
> ctx.P.Add(New C2 With { .Id = 4, .Typ = 2, .Sval = "DEF" })
> ctx.SaveChanges
> ' find by PK
> Console.WriteLine((From o In Ctx.P Where o.Id = 2
>Select o).FirstOrdefault)
> ' list all
> For Each ox In (From o In Ctx.P Select o)
> Console.WriteLine(ox)
> Next
> ' list all C2
> For Each ox In (From o In Ctx.C2 Select o)
> Console.WriteLine(ox)
> Next
> ' list some
> For Each ox In (From o In Ctx.P Where 2 <= o.Id And
>o.Id <= 3 Select o)
> Console.WriteLine(ox)
> Next
> End Using
> End Sub
> End Class
>End Namespace
>
>Arne


Click here to read the complete article
Re: Calling $CREPRC in COBOL

<taft25$1gkgn$1@dont-email.me>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=23605&group=comp.os.vms#23605

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!aioe.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: dav...@tsoft-inc.com (Dave Froble)
Newsgroups: comp.os.vms
Subject: Re: Calling $CREPRC in COBOL
Date: Sun, 10 Jul 2022 21:06:43 -0400
Organization: A noiseless patient Spider
Lines: 33
Message-ID: <taft25$1gkgn$1@dont-email.me>
References: <00B76057.ECCFCF4E@SendSpamHere.ORG> <t801pc$gd7$1@dont-email.me>
<jghgpaF5vgoU1@mid.individual.net> <t804ht$a69$1@dont-email.me>
<jghm0uF6rbqU1@mid.individual.net> <t809sr$m83$1@dont-email.me>
<t8olit$71c$1@dont-email.me> <00B76801.01280C59@SendSpamHere.ORG>
<t8q08l$1fb$1@dont-email.me> <t8r490$1b27$1@gioia.aioe.org>
<t8rg7g$cvp$1@dont-email.me>
<e652183c-3a65-449a-826f-e3d8c5c9ff0bn@googlegroups.com>
<5fcc9f68-4d68-4563-b81d-5aac73743d29n@googlegroups.com>
<62c232de$0$699$14726298@news.sunsite.dk>
<df16bd41-86da-4ceb-829a-160c62b92c95n@googlegroups.com>
<62ca17eb$0$701$14726298@news.sunsite.dk>
<62ca1a22$0$707$14726298@news.sunsite.dk>
<62cb66c5$0$697$14726298@news.sunsite.dk>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 11 Jul 2022 01:06:14 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="7644fd484f773c5654ee9ae71af545fa";
logging-data="1593879"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19RxQGaMaZ9FnRILi4/NlUDwC3GEHFvcpU="
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:45.0) Gecko/20100101
Thunderbird/45.8.0
Cancel-Lock: sha1:TaZJE9o6HZ3UKnCjl6GRpT30MJI=
In-Reply-To: <62cb66c5$0$697$14726298@news.sunsite.dk>
 by: Dave Froble - Mon, 11 Jul 2022 01:06 UTC

On 7/10/2022 7:54 PM, Arne Vajhøj wrote:
> On 7/9/2022 8:15 PM, Arne Vajhøj wrote:
>> Obvious choices would be Java + Hibernate, C# + Entity Framework
>> or PHP + Doctrine, but since Groovy and Basic are part of the
>> thread then Groovy + Hibernate and VB.NET + Entity Framework.
>
> It is worth noting that such solutions has not always
> been viable.
>
> The Groovy program working on microscopic small data
> use over 200 MB of memory - there is a lot of things
> happening under the hood.
>
> That was not possible/cost-efficient 40 years ago.
>
> But today it is like 1 dollar worth of RAM. And
> if you buy RAM in 4 GB modules, then it means
> nothing.
>
> Arne
>
>

Efficiency ALWAYS means something.

Your argument sounds like "a little bit pregnant" ...

--
David Froble Tel: 724-529-0450
Dave Froble Enterprises, Inc. E-Mail: davef@tsoft-inc.com
DFE Ultralights, Inc.
170 Grimplin Road
Vanderbilt, PA 15486

Re: Calling $CREPRC in COBOL

<tag4ep$56u$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=23607&group=comp.os.vms#23607

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!aioe.org!PqOvX6IGnPQwKdKFsHVyRA.user.46.165.242.75.POSTED!not-for-mail
From: maher_rj...@hotmail.com (Richard Maher)
Newsgroups: comp.os.vms
Subject: Re: Calling $CREPRC in COBOL
Date: Mon, 11 Jul 2022 11:12:24 +0800
Organization: Aioe.org NNTP Server
Message-ID: <tag4ep$56u$1@gioia.aioe.org>
References: <00B76057.ECCFCF4E@SendSpamHere.ORG> <t801pc$gd7$1@dont-email.me>
<jghgpaF5vgoU1@mid.individual.net> <t804ht$a69$1@dont-email.me>
<jghm0uF6rbqU1@mid.individual.net> <t809sr$m83$1@dont-email.me>
<t8olit$71c$1@dont-email.me> <00B76801.01280C59@SendSpamHere.ORG>
<t8q08l$1fb$1@dont-email.me> <t8r490$1b27$1@gioia.aioe.org>
<t8rg7g$cvp$1@dont-email.me>
<e652183c-3a65-449a-826f-e3d8c5c9ff0bn@googlegroups.com>
<5fcc9f68-4d68-4563-b81d-5aac73743d29n@googlegroups.com>
<62c232de$0$699$14726298@news.sunsite.dk>
<df16bd41-86da-4ceb-829a-160c62b92c95n@googlegroups.com>
<62ca17eb$0$701$14726298@news.sunsite.dk>
<00B7781F.AE706AAF@SendSpamHere.ORG>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: gioia.aioe.org; logging-data="5342"; posting-host="PqOvX6IGnPQwKdKFsHVyRA.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.11.0
X-Notice: Filtered by postfilter v. 0.9.2
Content-Language: en-US
 by: Richard Maher - Mon, 11 Jul 2022 03:12 UTC

On 11/07/2022 7:57 am, VAXman-@SendSpamHere.ORG wrote:
> In article <62ca1a22$0$707$14726298@news.sunsite.dk>,
> =?UTF-8?Q?Arne_Vajh=c3=b8j?= <arne@vajhoej.dk> writes:
>> On 7/9/2022 8:06 PM, Arne Vajhøj wrote:
>>> On 7/4/2022 10:34 AM, seasoned_geek wrote:
>>>> On Sunday, July 3, 2022 at 7:22:57 PM UTC-5, Arne Vajhøj
>>>> wrote:
>>>>> On 7/3/2022 4:05 PM, seasoned_geek wrote:
>>>>>> On Thursday, June 23, 2022 at 9:14:07 AM UTC-5,
>>>>>> osuv...@gmail.com wrote:
>>>>>>> On Tuesday, June 21, 2022 at 12:08:21 AM UTC-4, Dave
>>>>>>> Froble wrote:
>>>>>> At any rate, there is no SQL that will let you put
>>>>>> multi-typed records in a table. The "best" you could hope
>>>>>> for is to have the primary key fields then a BLOB object
>>>>>> one had to hack like we did in BASIC. You would be right
>>>>>> back to CVT$% and RSET logic. (Didn't they drop RSET and
>>>>>> LSET from the DEC BASIC specification at some point?)
>>>>> Not true.
>>>>>
>>>>> You define a super class and sub classes and your ORM
>>>>> framework transparently stores and retrieved the different
>>>>> classes.
>>>>>
>>>>> That is basic persistence knowledge. Any young developer
>>>>> would know that.
>>>>
>>>> Well, we will ask Dave to post the TOLAS invoice (or order)
>>>> record layouts for a defunct customer and you create a
>>>> functioning VAX BASIC program using SQLite along with
>>>> Superclass and Subclass and post it here.
>>>
>>> It is techniques used by hundreds of thousands maybe millions of
>>> applications.
>>>
>>> VMS Basic would be a problem as I am not aware of any ORM
>>> framework for VMS Basic.
>>>
>>> (and I also suspect that VMS Basic would need some new features
>>> to be able to create a good one)
>>
>> But let me show something. Not TOLAS - just hello world level.
>>
>> Obvious choices would be Java + Hibernate, C# + Entity Framework or
>> PHP + Doctrine, but since Groovy and Basic are part of the thread
>> then Groovy + Hibernate and VB.NET + Entity Framework.
>>
>> Database definition and a few rows:
>>
>> CREATE TABLE p ( id INTEGER NOT NULL, typ INTEGER NOT NULL, PRIMARY
>> KEY(id) ); CREATE TABLE c1 ( id INETGER NOT NULL, ival INTEGER,
>> PRIMARY KEY(id) ); CREATE TABLE c2 ( id INETGER NOT NULL, sval
>> VARCHAR(50), PRIMARY KEY(id) ); INSERT INTO p VALUES(1, 1); INSERT
>> INTO c1 VALUES(1, 123); INSERT INTO p VALUES(2, 2); INSERT INTO c2
>> VALUES(2, 'ABC');
>>
>> First Groovy + Hibernate.
>>
>> What is needed: * Java * Groovy * Hibernate * SQLite dialect for
>> Hibernate version * JDBC driver for SQLite
>>
>> Data classes:
>>
>> package mt
>>
>> import javax.persistence.*
>>
>> // parent class @Entity
>> @Inheritance(strategy=InheritanceType.JOINED) class P { @Id int id
>> int typ }
>>
>> // child class 1 @Entity @PrimaryKeyJoinColumn(name="id") class C1
>> extends P { @Id int id int ival @Override String toString() {
>> return "C1: $id -> $ival" } }
>>
>> // child class 2 @Entity @PrimaryKeyJoinColumn(name="id") class C2
>> extends P { @Id int id String sval @Override String toString() {
>> return "C2: $id -> $sval" } }
>>
>> Config file with database connection:
>>
>> <persistence xmlns="http://java.sun.com/xml/ns/persistence"" rel="nofollow" target="_blank">http://java.sun.com/xml/ns/persistence"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
>> http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
>> version="2.0"> <persistence-unit name="testdb">
>> <provider>org.hibernate.ejb.HibernatePersistence</provider>
>> <class>mt.P</class> <class>mt.C1</class> <class>mt.C2</class>
>> <exclude-unlisted-classes/> <properties> <!--<property
>> name="show_sql" value="true"/>--> <property
>> name="hibernate.connection.driver_class" value="org.sqlite.JDBC"/>
>> <property name="hibernate.connection.url"
>> value="jdbc:sqlite:test.db"/> <property
>> name="hibernate.connection.username" value=""/> <property
>> name="hibernate.connection.password" value=""/> <property
>> name="hibernate.dialect"
>> value="org.sqlite.hibernate.dialect.SQLiteDialect"/> </properties>
>> </persistence-unit> </persistence>
>>
>> And it is all ready.
>>
>> Demo:
>>
>> package mt
>>
>> import java.util.logging.*
>>
>> import javax.persistence.*
>>
>> // disable logging
>> Logger.getLogger("org.hibernate").setLevel(Level.OFF) // open
>> connection emf = Persistence.createEntityManagerFactory("testdb")
>> em = emf.createEntityManager() // add a C1 and C2
>> em.getTransaction().begin() em.persist(new C1(id:3, typ:1,
>> ival:456)) em.persist(new C2(id:4, typ:2, sval:"DEF"))
>> em.getTransaction().commit() // find by PK println(em.find(P.class,
>> 2)) // list all for(o in em.createQuery("SELECT o FROM P AS o",
>> P.class).getResultList()) { println("${o}") } // list all C2 for(o
>> in em.createQuery("SELECT o FROM C2 AS o",
>> P.class).getResultList()) { println("${o}") } // list some for(o in
>> em.createQuery("SELECT o FROM P AS o WHERE o.id BETWEEN 2 and 3",
>> P.class).getResultList()) { println("${o}") } // close connection
>> em.close() emf.close()
>>
>> Note that: this should run on VMS Itanium as all the pieces needed
>> are available.
>>
>> Now VB.NET + Entity Framework.
>>
>> What is needed: * .NET * Entity Framework * ADO.NET provider for
>> SQLite (includes Entity Framework support)
>>
>> Data classes:
>>
>> Imports System Imports System.ComponentModel.DataAnnotations
>> Imports System.ComponentModel.DataAnnotations.Schema Imports
>> System.Data.Entity
>>
>> Namespace MT ' parent class <Table("P")> Public Class P <Key>
>> <DatabaseGenerated(DatabaseGeneratedOption.None)> Public Property
>> Id() As Integer Public Property Typ() As Integer End Class ' child
>> class 1 <Table("C1")> Public Class C1 Inherits P Public Property
>> Ival() As Integer Public Overrides Function ToString() As String
>> Return $"C1: {id} -> {ival}" End Function End Class ' child class
>> 2 <Table("C2")> Public Class C2 Inherits P Public Property Sval()
>> As String Public Overrides Function ToString() As String Return
>> $"C2: {id} -> {sval}" End Function End Class ' database context
>> Public Class TestDbContext Inherits DbContext Public Sub
>> New(constrkey As String) MyBase.New(constrkey) End Sub Public
>> Property P() As DbSet(Of P) Public Property C1() As DbSet(Of C1)
>> Public Property C2() As DbSet(Of C2) End Class End Namespace
>>
>> Config file with database connection:
>>
>> <?xml version="1.0" encoding="utf-8"?> <configuration>
>> <configSections> <section name="entityFramework"
>> type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection,
>>
>>
EntityFramework" requirePermission="false" />
>> </configSections> <connectionStrings> <add name="TestDB"
>> connectionString="Data Source=.\test.db"
>> providerName="System.Data.SQLite"/> </connectionStrings>
>> <entityFramework> <providers> <provider
>> invariantName="System.Data.SQLite"
>> type="System.Data.SQLite.EF6.SQLiteProviderServices,
>> System.Data.SQLite.EF6"/> <provider
>> invariantName="System.Data.SQLite.EF6"
>> type="System.Data.SQLite.EF6.SQLiteProviderServices,
>> System.Data.SQLite.EF6"/> </providers> </entityFramework>
>> <startup> <supportedRuntime version="v4.0"
>> sku=".NETFramework,Version=v4.5.1" /> </startup> <system.data>
>> <DbProviderFactories> <remove invariant="System.Data.SQLite" />
>> <remove invariant="System.Data.SQLite.EF6" /> <add name="SQLite
>> Data Provider (Entity Framework 6)"
>> invariant="System.Data.SQLite.EF6" description=".NET Framework
>> Data Provider for SQLite (Entity Framework 6)"
>> type="System.Data.SQLite.EF6.SQLiteProviderFactory,
>> System.Data.SQLite.EF6" /> <add name="SQLite Data Provider"
>> invariant="System.Data.SQLite" description=".NET Framework Data
>> Provider for SQLite" type="System.Data.SQLite.SQLiteFactory,
>> System.Data.SQLite" /> </DbProviderFactories> </system.data>
>> </configuration>
>>
>> And it is all ready.
>>
>> Demo:
>>
>> Imports System Imports System.Data.Entity Imports System.Linq
>>
>> Namespace MT Public Class Program Public Shared Sub Main(args As
>> String()) ' open and close connection Using ctx As TestDbContext =
>> new TestDbContext("TestDB") ' add a C1 and C2 ctx.P.Add(New C1 With
>> { .Id = 3, .Typ = 1, .Ival = 456 }) ctx.P.Add(New C2 With { .Id =
>> 4, .Typ = 2, .Sval = "DEF" }) ctx.SaveChanges ' find by PK
>> Console.WriteLine((From o In Ctx.P Where o.Id = 2 Select
>> o).FirstOrdefault) ' list all For Each ox In (From o In Ctx.P
>> Select o) Console.WriteLine(ox) Next ' list all C2 For Each ox In
>> (From o In Ctx.C2 Select o) Console.WriteLine(ox) Next ' list some
>> For Each ox In (From o In Ctx.P Where 2 <= o.Id And o.Id <= 3
>> Select o) Console.WriteLine(ox) Next End Using End Sub End Class
>> End Namespace
>>
>> Arne
>
> ... and here I thought that barely a read-only lingo COBOL was
> verbose.
>
> I still remember when comp.os.vms would see actual "code" posted to
> it.
>


Click here to read the complete article
Re: Calling $CREPRC in COBOL

<62cc2a92$0$702$14726298@news.sunsite.dk>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=23609&group=comp.os.vms#23609

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!feeder1.feed.usenet.farm!feed.usenet.farm!news.uzoreto.com!dotsrc.org!filter.dotsrc.org!news.dotsrc.org!not-for-mail
Date: Mon, 11 Jul 2022 09:50:09 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.11.0
Subject: Re: Calling $CREPRC in COBOL
Content-Language: en-US
Newsgroups: comp.os.vms
References: <00B76057.ECCFCF4E@SendSpamHere.ORG> <t801pc$gd7$1@dont-email.me>
<jghgpaF5vgoU1@mid.individual.net> <t804ht$a69$1@dont-email.me>
<jghm0uF6rbqU1@mid.individual.net> <t809sr$m83$1@dont-email.me>
<t8olit$71c$1@dont-email.me> <00B76801.01280C59@SendSpamHere.ORG>
<t8q08l$1fb$1@dont-email.me> <t8r490$1b27$1@gioia.aioe.org>
<t8rg7g$cvp$1@dont-email.me>
<e652183c-3a65-449a-826f-e3d8c5c9ff0bn@googlegroups.com>
<5fcc9f68-4d68-4563-b81d-5aac73743d29n@googlegroups.com>
<62c232de$0$699$14726298@news.sunsite.dk>
<df16bd41-86da-4ceb-829a-160c62b92c95n@googlegroups.com>
<62ca17eb$0$701$14726298@news.sunsite.dk>
<62ca1a22$0$707$14726298@news.sunsite.dk>
<62cb66c5$0$697$14726298@news.sunsite.dk> <taft25$1gkgn$1@dont-email.me>
From: arn...@vajhoej.dk (Arne Vajhøj)
In-Reply-To: <taft25$1gkgn$1@dont-email.me>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 30
Message-ID: <62cc2a92$0$702$14726298@news.sunsite.dk>
Organization: SunSITE.dk - Supporting Open source
NNTP-Posting-Host: eb15f7f4.news.sunsite.dk
X-Trace: 1657547410 news.sunsite.dk 702 arne@vajhoej.dk/68.9.63.232:50365
X-Complaints-To: staff@sunsite.dk
 by: Arne Vajhøj - Mon, 11 Jul 2022 13:50 UTC

On 7/10/2022 9:06 PM, Dave Froble wrote:
> On 7/10/2022 7:54 PM, Arne Vajhøj wrote:
>> On 7/9/2022 8:15 PM, Arne Vajhøj wrote:
>>> Obvious choices would be Java + Hibernate, C# + Entity Framework
>>> or PHP + Doctrine, but since Groovy and Basic are part of the
>>> thread then Groovy + Hibernate and VB.NET + Entity Framework.
>>
>> It is worth noting that such solutions has not always
>> been viable.
>>
>> The Groovy program working on microscopic small data
>> use over 200 MB of memory - there is a lot of things
>> happening under the hood.
>>
>> That was not possible/cost-efficient 40 years ago.
>>
>> But today it is like 1 dollar worth of RAM. And
>> if you buy RAM in 4 GB modules, then it means
>> nothing.
>
> Efficiency ALWAYS means something.

Yes. A dollar.

How one write good code changed when moving from KB to MB.

And it changed again when moving from MB to GB.

Arne

Re: Calling $CREPRC in COBOL

<62ccc61f$0$702$14726298@news.sunsite.dk>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=23619&group=comp.os.vms#23619

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!aioe.org!news.uzoreto.com!dotsrc.org!filter.dotsrc.org!news.dotsrc.org!not-for-mail
Date: Mon, 11 Jul 2022 20:53:46 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.11.0
Subject: Re: Calling $CREPRC in COBOL
Content-Language: en-US
Newsgroups: comp.os.vms
References: <00B76057.ECCFCF4E@SendSpamHere.ORG> <t801pc$gd7$1@dont-email.me>
<jghgpaF5vgoU1@mid.individual.net> <t804ht$a69$1@dont-email.me>
<jghm0uF6rbqU1@mid.individual.net> <t809sr$m83$1@dont-email.me>
<t8olit$71c$1@dont-email.me> <00B76801.01280C59@SendSpamHere.ORG>
<t8q08l$1fb$1@dont-email.me> <t8r490$1b27$1@gioia.aioe.org>
<t8rg7g$cvp$1@dont-email.me>
<e652183c-3a65-449a-826f-e3d8c5c9ff0bn@googlegroups.com>
<5fcc9f68-4d68-4563-b81d-5aac73743d29n@googlegroups.com>
<62c232de$0$699$14726298@news.sunsite.dk>
<df16bd41-86da-4ceb-829a-160c62b92c95n@googlegroups.com>
<62ca17eb$0$701$14726298@news.sunsite.dk>
<00B7781F.AE706AAF@SendSpamHere.ORG> <tag4ep$56u$1@gioia.aioe.org>
From: arn...@vajhoej.dk (Arne Vajhøj)
In-Reply-To: <tag4ep$56u$1@gioia.aioe.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 39
Message-ID: <62ccc61f$0$702$14726298@news.sunsite.dk>
Organization: SunSITE.dk - Supporting Open source
NNTP-Posting-Host: 4069d02d.news.sunsite.dk
X-Trace: 1657587231 news.sunsite.dk 702 arne@vajhoej.dk/68.9.63.232:54718
X-Complaints-To: staff@sunsite.dk
 by: Arne Vajhøj - Tue, 12 Jul 2022 00:53 UTC

On 7/10/2022 11:12 PM, Richard Maher wrote:
> No, you invent LINQ so you can load all the data into Collections in
> memory and forget about RELATIONAL data structures and SQL. Also must
> forget that all RDBMS' have lovely query optimizers and Stored
> Procedures for definer's rights execution.

That is not how LINQ to EF works.

Unless you materialize then everything is passed on to the database
in the SQL.

dbctx.T1.Where(o => o.F1 > 10)

becomes:

SELECT ... WHERE f1 > 10;

Only by calling ToList/ToArray/ToDictionary everything
gets pulled in, like:

dbctx.T1.ToList().Where(o => o.F1 > 10)

But in that case it is what the developer asked for.

> But I only want one column from that table. NO you must return all of
> the class properties and forget about aggregate functions etc

An ORM is good for handling object-oriented data, but not good
for handling non-object-oriented data.

If your data model is objects then use ORM.

If your data model is just values in a column then
don't use ORM.

The right tool for the job.

Arne

Re: Calling $CREPRC in COBOL

<taimd3$t5t$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/computers/article-flat.php?id=23621&group=comp.os.vms#23621

  copy link   Newsgroups: comp.os.vms
Path: i2pn2.org!i2pn.org!aioe.org!PqOvX6IGnPQwKdKFsHVyRA.user.46.165.242.75.POSTED!not-for-mail
From: maher_rj...@hotmail.com (Richard Maher)
Newsgroups: comp.os.vms
Subject: Re: Calling $CREPRC in COBOL
Date: Tue, 12 Jul 2022 10:31:01 +0800
Organization: Aioe.org NNTP Server
Message-ID: <taimd3$t5t$1@gioia.aioe.org>
References: <00B76057.ECCFCF4E@SendSpamHere.ORG> <t801pc$gd7$1@dont-email.me>
<jghgpaF5vgoU1@mid.individual.net> <t804ht$a69$1@dont-email.me>
<jghm0uF6rbqU1@mid.individual.net> <t809sr$m83$1@dont-email.me>
<t8olit$71c$1@dont-email.me> <00B76801.01280C59@SendSpamHere.ORG>
<t8q08l$1fb$1@dont-email.me> <t8r490$1b27$1@gioia.aioe.org>
<t8rg7g$cvp$1@dont-email.me>
<e652183c-3a65-449a-826f-e3d8c5c9ff0bn@googlegroups.com>
<5fcc9f68-4d68-4563-b81d-5aac73743d29n@googlegroups.com>
<62c232de$0$699$14726298@news.sunsite.dk>
<df16bd41-86da-4ceb-829a-160c62b92c95n@googlegroups.com>
<62ca17eb$0$701$14726298@news.sunsite.dk>
<00B7781F.AE706AAF@SendSpamHere.ORG> <tag4ep$56u$1@gioia.aioe.org>
<62ccc61f$0$702$14726298@news.sunsite.dk>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: gioia.aioe.org; logging-data="29885"; posting-host="PqOvX6IGnPQwKdKFsHVyRA.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.11.0
X-Notice: Filtered by postfilter v. 0.9.2
Content-Language: en-US
 by: Richard Maher - Tue, 12 Jul 2022 02:31 UTC

On 12/07/2022 8:53 am, Arne Vajhøj wrote:
> On 7/10/2022 11:12 PM, Richard Maher wrote:
>> No, you invent LINQ so you can load all the data into Collections in
>> memory and forget about RELATIONAL data structures and SQL. Also must
>> forget that all RDBMS' have lovely query optimizers and Stored
>> Procedures for definer's rights execution.
>
> That is not how LINQ to EF works.
>
> Unless you materialize then everything is passed on to the database
> in the SQL.
>
> dbctx.T1.Where(o => o.F1 > 10)
>
> becomes:
>
> SELECT ... WHERE f1 > 10;
>
> Only by calling ToList/ToArray/ToDictionary everything
> gets pulled in, like:
>
> dbctx.T1.ToList().Where(o => o.F1 > 10)
>
> But in that case it is what the developer asked for.
>
>> But I only want one column from that table. NO you must return all of
>> the class properties and forget about aggregate functions etc
>
> An ORM is good for handling object-oriented data, but not good
> for handling non-object-oriented data.
>
> If your data model is objects then use ORM.
>
> If your data model is just values in a column then
> don't use ORM.
>
> The right tool for the job.
>
> Arne
>

If only OO programmers had more than one tool :-(

Pages:1234
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor