US 12,259,867 B1
Data access for a native tabular data structure using a proxy data table
Yongqiao Xiao, Cary, NC (US); Mary Elizabeth Carter, Roxboro, NC (US); Arash Dehghan Banadaki, Cary, NC (US); Avery Winston Acierno, Durham, NC (US); and Patrick Nathan Koch, Morrisville, NC (US)
Assigned to SAS INSTITUTE INC., Cary, NC (US)
Filed by SAS Institute Inc., Cary, NC (US)
Filed on Oct. 10, 2024, as Appl. No. 18/911,810.
Application 18/911,810 is a continuation in part of application No. 18/599,342, filed on Mar. 8, 2024, granted, now 12,141,138.
Claims priority of provisional application 63/637,705, filed on Apr. 23, 2024.
Claims priority of provisional application 63/546,206, filed on Oct. 28, 2023.
Claims priority of provisional application 63/539,756, filed on Sep. 21, 2023.
Int. Cl. G06F 16/22 (2019.01); G06F 9/54 (2006.01); G06F 16/21 (2019.01)
CPC G06F 16/2282 (2019.01) [G06F 9/544 (2013.01); G06F 16/213 (2019.01)] 30 Claims
OG exemplary drawing
 
1. A system comprising:
one or more processors; and
one or more memories including program code that is executable by the one or more processors to:
receive information about a tabular data structure in a memory, the tabular data structure including a set of data and being associated with a first memory allocation;
determine a type of the tabular data structure based on the information, wherein the type is selected from among at least two types including a native type and a non-native type, wherein the native type is accessed using a first application programming interface (API) based on a first programming language and a second programming language and the non-native type is accessed using a data access layer and a second API based on the second programming language, wherein the first programming language is different from the second programming language;
in response to the type being the native type:
identify a first proxy data table usable as a proxy for the tabular data structure, wherein the tabular data structure and the first proxy data table share the first memory allocation;
receive a first indication to access the set of data from application code written in the first programming language; and
in response to receiving the first indication, issue one or more first read commands to the first proxy data table to cause the set of data to be read from the tabular data structure;
in response to the type being the non-native type:
receive a second indication to access the set of data from the application code; and
in response to receiving the second indication, issue one or more second read commands to cause the data access layer to read the set of data from the tabular data structure using the second programming language.