Updated: 4/21/2025

  • Home
  • About
    • Welcome
    • Training / Consulting
    • History
    • Attribution
    • Contribute Case Studies
  • The gDS Facility
    • Disassembling DBMSs
    • gDS Overview
    • Working With gDS Tables
    • .dd File Format
    • gDS Generated Code
    • Managing Concurrency
  • AI R&D
    • Introduction
    • Initial Work (Post 1)
  • Building Test Platforms
    • Development Phases
    • Interface To The SUT
    • Test Runs and Cycles
    • Screen Displays
    • Static/Dynamic Config.
    • Managing Concurrency
    • Additional Functionality
  • Case Studies & Code
    • Overview & TOC
    • Case Study 1
    • Case Study 2
    • Case Study 3
    • Case Study 4
    • Case Study 5
    • Case Study 6
  • Webinars
    • Webinar Notes
  • More
    • Home
    • About
      • Welcome
      • Training / Consulting
      • History
      • Attribution
      • Contribute Case Studies
    • The gDS Facility
      • Disassembling DBMSs
      • gDS Overview
      • Working With gDS Tables
      • .dd File Format
      • gDS Generated Code
      • Managing Concurrency
    • AI R&D
      • Introduction
      • Initial Work (Post 1)
    • Building Test Platforms
      • Development Phases
      • Interface To The SUT
      • Test Runs and Cycles
      • Screen Displays
      • Static/Dynamic Config.
      • Managing Concurrency
      • Additional Functionality
    • Case Studies & Code
      • Overview & TOC
      • Case Study 1
      • Case Study 2
      • Case Study 3
      • Case Study 4
      • Case Study 5
      • Case Study 6
    • Webinars
      • Webinar Notes
  • Sign In
  • Create Account

  • Bookings
  • My Account
  • Signed in as:

  • filler@godaddy.com


  • Bookings
  • My Account
  • Sign out


Signed in as:

filler@godaddy.com

  • Home
  • About
    • Welcome
    • Training / Consulting
    • History
    • Attribution
    • Contribute Case Studies
  • The gDS Facility
    • Disassembling DBMSs
    • gDS Overview
    • Working With gDS Tables
    • .dd File Format
    • gDS Generated Code
    • Managing Concurrency
  • AI R&D
    • Introduction
    • Initial Work (Post 1)
  • Building Test Platforms
    • Development Phases
    • Interface To The SUT
    • Test Runs and Cycles
    • Screen Displays
    • Static/Dynamic Config.
    • Managing Concurrency
    • Additional Functionality
  • Case Studies & Code
    • Overview & TOC
    • Case Study 1
    • Case Study 2
    • Case Study 3
    • Case Study 4
    • Case Study 5
    • Case Study 6
  • Webinars
    • Webinar Notes

Account


  • Bookings
  • My Account
  • Sign out


  • Sign In
  • Bookings
  • My Account

Working With gDS Tables

Creating "ordinary", "non-global" tables

Tables in gDS can be built from collections of Python “lists.” Each Python list is a column of data in the table. For example:


    gPerson_Name = []

    gPerson_DOB = []

    gPerson_SSN = []

    gPerson_RowStatus = []


Python practitioners can see the above code contains no “special” Python syntax. The variables are not special in any way — it's just a plain-vanilla declaration of 4 ordinary lists.

Creating tables in shared memory

In order to make lists / tables in shared memory, one does the following:


    from multiprocessing import Manager

    gDSMgr = Manager()


    gPerson_Name = gDSMgr.list()

    gPerson_DOB = gDSMgr.list()

    gPerson_SSN = gDSMgr.list()

    gPerson_RowStatus = gDSMgr.list()


The code above creates four list variables in shared memory. The variables do not need to be cited in a Python “global” statement to be used anywhere in the running program or its spawned threads and processes.

Working with data in shared memory tables

To add one “row” of data to the above table/set of lists, use the Python “append” method just like a regular list:


    gPerson_Name.append("Tom")

    gPerson_DOB.append("1/1/1970")

    gPerson_SSN.append("100-20-0300")

    gPerson_RowStatus.append(None)


The above table is considered to contain one row of data, and that data is said to reside at “offset zero.” To print one column of that one new row of data:


    print (gPerson_SSN[0])


To print out all the data in the table above, one would write in Python:


    for personRef in range(len(gPerson_RowStatus)):

        print (gPerson_Name[personRef],

            gPerson_DOB[personRef],

            gPerson_SSN[personRef])

Copyleft © 2025 Testing Complex Systems - All Rights Reserved.

Powered by

This website uses cookies.

We use cookies to analyze website traffic and optimize your website experience. By accepting our use of cookies, your data will be aggregated with all other user data.

DeclineAccept