{
  "_id": "6a1f1360b401979e7341df87",
  "Package": "rquery",
  "Type": "Package",
  "Title": "Relational Query Generator for Data Manipulation at Scale",
  "Version": "1.4.99",
  "Date": "2023-08-19",
  "Authors@R": "c(\nperson(\"John\", \"Mount\", email = \"jmount@win-vector.com\", role = c(\"aut\", \"cre\")),\nperson(family = \"Win-Vector LLC\", role = c(\"cph\"))\n)",
  "Maintainer": "John Mount <jmount@win-vector.com>",
  "URL": "https://github.com/WinVector/rquery/,\nhttps://winvector.github.io/rquery/",
  "BugReports": "https://github.com/WinVector/rquery/issues",
  "Description": "A piped query generator based on Edgar F. Codd's\nrelational algebra, and on production experience using 'SQL'\nand 'dplyr' at big data scale.  The design represents an\nattempt to make 'SQL' more teachable by denoting composition by\na sequential pipeline notation instead of nested queries or\nfunctions.  The implementation delivers reliable high\nperformance data processing on large data systems such as\n'Spark', databases, and 'data.table'. Package features include:\ndata processing trees or pipelines as observable objects (able\nto report both columns produced and columns used), optimized\n'SQL' generation as an explicit user visible table modeling\nstep, plus explicit query reasoning and checking.",
  "License": "GPL-2 | GPL-3",
  "Encoding": "UTF-8",
  "RoxygenNote": "7.2.3",
  "ByteCompile": "true",
  "VignetteBuilder": "knitr",
  "Repository": "https://winvector.r-universe.dev",
  "Date/Publication": "2023-08-20 00:51:18 UTC",
  "RemoteUrl": "https://github.com/winvector/rquery",
  "RemoteRef": "HEAD",
  "RemoteSha": "ce20c07536d8930fb59663778026e2cae380d489",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-17 07:21:56 UTC",
    "User": "root"
  },
  "Author": "John Mount [aut, cre],\nWin-Vector LLC [cph]",
  "MD5sum": "16769154e30843ed123e1278dd082214",
  "_user": "winvector",
  "_type": "src",
  "_file": "rquery_1.4.99.tar.gz",
  "_fileid": "e1ad17609ae5eeb00385384f3877fca035b2864bc8a92716e56ede9b3632450b",
  "_filesize": 776234,
  "_sha256": "e1ad17609ae5eeb00385384f3877fca035b2864bc8a92716e56ede9b3632450b",
  "_created": "2026-05-17T07:21:56.000Z",
  "_published": "2026-06-02T17:31:12.066Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 79132472922,
      "time": 128,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "7040394812"
    },
    {
      "job": 79132472676,
      "time": 114,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7040393113"
    },
    {
      "job": 79132473378,
      "time": 93,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "7040390831"
    },
    {
      "job": 79132472506,
      "time": 77,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7040389083"
    },
    {
      "job": 79132471679,
      "time": 190,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7040379632"
    },
    {
      "job": 79132471944,
      "time": 106,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7365163695"
    },
    {
      "job": 79132472387,
      "time": 131,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "7040395162"
    },
    {
      "job": 79132473329,
      "time": 95,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "7040391053"
    },
    {
      "job": 79132473317,
      "time": 91,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "7040390665"
    }
  ],
  "_buildurl": "https://github.com/r-universe/winvector/actions/runs/25984465093",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/winvector/rquery",
  "_commit": {
    "id": "ce20c07536d8930fb59663778026e2cae380d489",
    "author": "John Mount <jmount@win-vector.com>",
    "committer": "John Mount <jmount@win-vector.com>",
    "message": "finish checks\n",
    "time": 1692492678
  },
  "_maintainer": {
    "name": "John Mount",
    "email": "jmount@win-vector.com",
    "login": "johnmount",
    "description": "",
    "uuid": 4275344
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.4.0",
      "role": "Depends"
    },
    {
      "package": "wrapr",
      "version": ">= 2.0.9",
      "role": "Depends"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "DBI",
      "role": "Suggests"
    },
    {
      "package": "RSQLite",
      "role": "Suggests"
    },
    {
      "package": "rqdatatable",
      "version": ">= 1.3.2",
      "role": "Suggests"
    },
    {
      "package": "igraph",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "yaml",
      "role": "Suggests"
    },
    {
      "package": "tinytest",
      "role": "Suggests"
    }
  ],
  "_owner": "winvector",
  "_selfowned": true,
  "_usedby": 3,
  "_updates": [],
  "_tags": [],
  "_stars": 110,
  "_contributors": [
    {
      "user": "johnmount",
      "count": 1216,
      "uuid": 4275344
    },
    {
      "user": "ninazumel",
      "count": 15,
      "uuid": 4275380
    },
    {
      "user": "eribul",
      "count": 1,
      "uuid": 7790927
    }
  ],
  "_userbio": {
    "uuid": 1242554,
    "type": "organization",
    "name": "Win Vector LLC",
    "description": "Expert data science training and consulting."
  },
  "_downloads": {
    "count": 3871,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/rquery"
  },
  "_mentions": 1,
  "_devurl": "https://github.com/winvector/rquery",
  "_pkgdown": "https://winvector.github.io/rquery/",
  "_searchresults": 127,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/rquery.html",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/winvector/rquery",
  "_realowner": "winvector",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.2.0",
      "date": "2018-01-24"
    },
    {
      "version": "0.3.0",
      "date": "2018-01-31"
    },
    {
      "version": "0.3.1",
      "date": "2018-02-10"
    },
    {
      "version": "0.4.0",
      "date": "2018-03-10"
    },
    {
      "version": "0.4.1",
      "date": "2018-03-18"
    },
    {
      "version": "0.4.2",
      "date": "2018-04-05"
    },
    {
      "version": "0.4.3",
      "date": "2018-05-08"
    },
    {
      "version": "0.5.0",
      "date": "2018-06-18"
    },
    {
      "version": "0.6.1",
      "date": "2018-08-01"
    },
    {
      "version": "0.6.2",
      "date": "2018-08-15"
    },
    {
      "version": "1.0.0",
      "date": "2018-09-10"
    },
    {
      "version": "1.1.0",
      "date": "2018-09-20"
    },
    {
      "version": "1.1.1",
      "date": "2018-10-26"
    },
    {
      "version": "1.2.0",
      "date": "2018-11-07"
    },
    {
      "version": "1.2.1",
      "date": "2018-12-16"
    },
    {
      "version": "1.3.0",
      "date": "2019-01-29"
    },
    {
      "version": "1.3.1",
      "date": "2019-02-14"
    },
    {
      "version": "1.3.2",
      "date": "2019-03-10"
    },
    {
      "version": "1.3.3",
      "date": "2019-06-02"
    },
    {
      "version": "1.3.4",
      "date": "2019-06-17"
    },
    {
      "version": "1.3.5",
      "date": "2019-06-26"
    },
    {
      "version": "1.3.6",
      "date": "2019-07-04"
    },
    {
      "version": "1.3.7",
      "date": "2019-07-29"
    },
    {
      "version": "1.3.8",
      "date": "2019-09-15"
    },
    {
      "version": "1.3.9",
      "date": "2019-10-27"
    },
    {
      "version": "1.4.0",
      "date": "2019-12-01"
    },
    {
      "version": "1.4.1",
      "date": "2020-01-09"
    },
    {
      "version": "1.4.2",
      "date": "2020-01-19"
    },
    {
      "version": "1.4.3",
      "date": "2020-02-01"
    },
    {
      "version": "1.4.4",
      "date": "2020-02-18"
    },
    {
      "version": "1.4.5",
      "date": "2020-08-12"
    },
    {
      "version": "1.4.6",
      "date": "2020-10-17"
    },
    {
      "version": "1.4.7",
      "date": "2021-06-10"
    },
    {
      "version": "1.4.8",
      "date": "2022-01-22"
    },
    {
      "version": "1.4.9",
      "date": "2022-02-28"
    },
    {
      "version": "1.4.99",
      "date": "2023-08-20"
    }
  ],
  "_exports": [
    "actualize_join_plan",
    "affine_transform",
    "aggregate_nse",
    "aggregate_se",
    "apply_right_S4",
    "arrow",
    "assign_slice",
    "build_join_plan",
    "column_names",
    "columns_used",
    "commencify",
    "complete_design",
    "convert_yaml_to_pipeline",
    "count_null_cols",
    "db_td",
    "dbi_table",
    "describe_tables",
    "drop_columns",
    "ex",
    "example_employee_date",
    "execute",
    "expand_grid",
    "extend",
    "extend_nse",
    "extend_se",
    "format_node",
    "getDBOption",
    "graph_join_plan",
    "if_else_block",
    "if_else_op",
    "inspect_join_plan",
    "key_inspector_all_cols",
    "key_inspector_postgresql",
    "key_inspector_sqlite",
    "local_td",
    "lookup_by_column",
    "make_assignments",
    "map_column_values",
    "mark_null_cols",
    "materialize",
    "materialize_node",
    "materialize_sql",
    "mk_td",
    "natural_join",
    "non_sql_node",
    "normalize_cols",
    "null_replace",
    "op_diagram",
    "order_expr",
    "order_expr_nse",
    "order_expr_se",
    "order_rows",
    "orderby",
    "pick_top_k",
    "pre_sql_fn",
    "pre_sql_identifier",
    "pre_sql_string",
    "pre_sql_sub_expr",
    "pre_sql_to_query",
    "pre_sql_token",
    "project",
    "project_nse",
    "project_se",
    "quantile_cols",
    "quantile_node",
    "quote_identifier",
    "quote_literal",
    "quote_string",
    "quote_table_name",
    "rename_columns",
    "rlook",
    "row_counts",
    "rq_colnames",
    "rq_coltypes",
    "rq_connection_advice",
    "rq_connection_name",
    "rq_connection_tests",
    "rq_copy_to",
    "rq_execute",
    "rq_function_mappings",
    "rq_get_query",
    "rq_head",
    "rq_nrow",
    "rq_remove_table",
    "rq_table_exists",
    "rquery_apply_to_data_frame",
    "rquery_db_info",
    "rquery_default_db_info",
    "rquery_default_methods",
    "rstr",
    "rsummary",
    "rsummary_node",
    "select_columns",
    "select_rows",
    "select_rows_nse",
    "select_rows_se",
    "set_indicator",
    "setDBOpt",
    "setDBOption",
    "sql_expr_set",
    "sql_node",
    "str_pre_sql_sub_expr",
    "table_source",
    "tables_used",
    "theta_join",
    "theta_join_nse",
    "theta_join_se",
    "to_sql",
    "to_transport_representation",
    "tokenize_for_SQL",
    "topo_sort_tables",
    "unionall",
    "wrap"
  ],
  "_help": [
    {
      "page": "rquery-package",
      "title": "'rquery': Relational Query Generator for Data Manipulation",
      "topics": [
        "rquery-package",
        "rquery"
      ]
    },
    {
      "page": "actualize_join_plan",
      "title": "Execute an ordered sequence of left joins.",
      "topics": [
        "actualize_join_plan"
      ]
    },
    {
      "page": "affine_transform",
      "title": "Implement an affine transformaton",
      "topics": [
        "affine_transform"
      ]
    },
    {
      "page": "apply_right_S4-ANY-rquery_db_info-method",
      "title": "Apply pipeline to a database.",
      "topics": [
        "apply_right_S4,ANY,rquery_db_info-method"
      ]
    },
    {
      "page": "apply_right_S4-data.frame-relop_arrow-method",
      "title": "S4 dispatch method for apply_right.",
      "topics": [
        "apply_right_S4,data.frame,relop_arrow-method"
      ]
    },
    {
      "page": "apply_right_S4-relop_arrow-relop_arrow-method",
      "title": "S4 dispatch method for apply_right.",
      "topics": [
        "apply_right_S4,relop_arrow,relop_arrow-method"
      ]
    },
    {
      "page": "apply_right.relop",
      "title": "Execute pipeline treating pipe_left_arg as local data to be copied into database.",
      "topics": [
        "apply_right.relop"
      ]
    },
    {
      "page": "arrow",
      "title": "Data arrow",
      "topics": [
        "arrow"
      ]
    },
    {
      "page": "assign_slice",
      "title": "Assign a value to a slice of data (set of rows meeting a condition, and specified set of columns).",
      "topics": [
        "assign_slice"
      ]
    },
    {
      "page": "build_join_plan",
      "title": "Build a join plan.",
      "topics": [
        "build_join_plan"
      ]
    },
    {
      "page": "column_names",
      "title": "Return column names",
      "topics": [
        "column_names"
      ]
    },
    {
      "page": "columns_used",
      "title": "Return columns used",
      "topics": [
        "columns_used"
      ]
    },
    {
      "page": "commencify",
      "title": "Hyderdrive (science fiction show) synonym for 'execute'",
      "topics": [
        "commencify"
      ]
    },
    {
      "page": "complete_design",
      "title": "Complete an experimental design.",
      "topics": [
        "complete_design"
      ]
    },
    {
      "page": "convert_yaml_to_pipeline",
      "title": "Convert a series of simple objects (from YAML deserializaton) to an rquery pipeline.",
      "topics": [
        "convert_yaml_to_pipeline"
      ]
    },
    {
      "page": "count_null_cols",
      "title": "Count NULLs per row for given column set.",
      "topics": [
        "count_null_cols"
      ]
    },
    {
      "page": "db_td",
      "title": "Construct a table description from a database source.",
      "topics": [
        "dbi_table",
        "db_td"
      ]
    },
    {
      "page": "describe_tables",
      "title": "Build a nice description of a table.",
      "topics": [
        "describe_tables"
      ]
    },
    {
      "page": "drop_columns",
      "title": "Make a drop columns node (not a relational operation).",
      "topics": [
        "drop_columns"
      ]
    },
    {
      "page": "ex",
      "title": "Execute a wrapped execution pipeline.",
      "topics": [
        "ex"
      ]
    },
    {
      "page": "execute",
      "title": "Execute an operator tree, bringing back the result to memory.",
      "topics": [
        "execute"
      ]
    },
    {
      "page": "expand_grid",
      "title": "Cross product vectors in database.",
      "topics": [
        "expand_grid"
      ]
    },
    {
      "page": "extend",
      "title": "Extend data by adding more columns.",
      "topics": [
        "extend",
        "extend_nse"
      ]
    },
    {
      "page": "extend_se",
      "title": "Extend data by adding more columns.",
      "topics": [
        "extend_se"
      ]
    },
    {
      "page": "format_node",
      "title": "Format a single node for printing.",
      "topics": [
        "format_node"
      ]
    },
    {
      "page": "getDBOption",
      "title": "Get a database connection option.",
      "topics": [
        "getDBOption"
      ]
    },
    {
      "page": "graph_join_plan",
      "title": "Build a draw-able specification of the join diagram",
      "topics": [
        "graph_join_plan"
      ]
    },
    {
      "page": "if_else_block",
      "title": "Build a sequence of statements simulating an if/else block-'if(){}else{}'.",
      "topics": [
        "if_else_block"
      ]
    },
    {
      "page": "if_else_op",
      "title": "Build a 'relop' node simulating a per-row block-'if(){}else{}'.",
      "topics": [
        "if_else_op"
      ]
    },
    {
      "page": "inspect_join_plan",
      "title": "check that a join plan is consistent with table descriptions.",
      "topics": [
        "inspect_join_plan"
      ]
    },
    {
      "page": "key_inspector_all_cols",
      "title": "Return all columns as guess of preferred primary keys.",
      "topics": [
        "key_inspector_all_cols"
      ]
    },
    {
      "page": "key_inspector_postgresql",
      "title": "Return all primary key columns as guess at preferred primary keys for a PostgreSQL handle.",
      "topics": [
        "key_inspector_postgresql"
      ]
    },
    {
      "page": "key_inspector_sqlite",
      "title": "Return all primary key columns as guess at preferred primary keys for a SQLite handle.",
      "topics": [
        "key_inspector_sqlite"
      ]
    },
    {
      "page": "local_td",
      "title": "Construct a table description of a local data.frame.",
      "topics": [
        "local_td"
      ]
    },
    {
      "page": "lookup_by_column",
      "title": "Use one column to pick values from other columns.",
      "topics": [
        "lookup_by_column"
      ]
    },
    {
      "page": "make_assignments",
      "title": "Make a list of assignments, applying many functions to many columns.",
      "topics": [
        "make_assignments"
      ]
    },
    {
      "page": "map_column_values",
      "title": "Remap values in a set of columns.",
      "topics": [
        "map_column_values"
      ]
    },
    {
      "page": "mark_null_cols",
      "title": "Indicate NULLs per row for given column set.",
      "topics": [
        "mark_null_cols"
      ]
    },
    {
      "page": "materialize",
      "title": "Materialize an optree as a table.",
      "topics": [
        "materialize"
      ]
    },
    {
      "page": "materialize_node",
      "title": "Create a materialize node.",
      "topics": [
        "materialize_node"
      ]
    },
    {
      "page": "mk_td",
      "title": "Make a table description directly.",
      "topics": [
        "mk_td",
        "table_source"
      ]
    },
    {
      "page": "natural_join",
      "title": "Make a natural_join node.",
      "topics": [
        "natural_join"
      ]
    },
    {
      "page": "non_sql_node",
      "title": "Wrap a non-SQL node.",
      "topics": [
        "non_sql_node"
      ]
    },
    {
      "page": "normalize_cols",
      "title": "Build an optree pipeline that normalizes a set of columns so each column sums to one in each partition.",
      "topics": [
        "normalize_cols"
      ]
    },
    {
      "page": "null_replace",
      "title": "Create a null_replace node.",
      "topics": [
        "null_replace"
      ]
    },
    {
      "page": "op_diagram",
      "title": "Build a diagram of a optree pipeline.",
      "topics": [
        "op_diagram"
      ]
    },
    {
      "page": "order_expr",
      "title": "Make a order_expr node.",
      "topics": [
        "order_expr",
        "order_expr_nse"
      ]
    },
    {
      "page": "order_expr_se",
      "title": "Make a order_expr node.",
      "topics": [
        "order_expr_se"
      ]
    },
    {
      "page": "order_rows",
      "title": "Make an orderby node (not a relational operation).",
      "topics": [
        "order_rows"
      ]
    },
    {
      "page": "orderby",
      "title": "Make an orderby node (not a relational operation).",
      "topics": [
        "orderby"
      ]
    },
    {
      "page": "pick_top_k",
      "title": "Build an optree pipeline that selects up to the top k rows from each group in the given order.",
      "topics": [
        "pick_top_k"
      ]
    },
    {
      "page": "pre_sql_sub_expr",
      "title": "pre_sql_sub_expr",
      "topics": [
        "pre_sql_sub_expr"
      ]
    },
    {
      "page": "project",
      "title": "project data by grouping, and adding aggregate columns.",
      "topics": [
        "aggregate_nse",
        "project",
        "project_nse"
      ]
    },
    {
      "page": "project_se",
      "title": "project data by grouping, and adding aggregate columns.",
      "topics": [
        "aggregate_se",
        "project_se"
      ]
    },
    {
      "page": "quantile_cols",
      "title": "Compute quantiles of specified columns (without interpolation, needs a database with window functions).",
      "topics": [
        "quantile_cols"
      ]
    },
    {
      "page": "quantile_node",
      "title": "Compute quantiles over non-NULL values (without interpolation, needs a database with window functions).",
      "topics": [
        "quantile_node"
      ]
    },
    {
      "page": "quote_identifier",
      "title": "Quote an identifier.",
      "topics": [
        "quote_identifier"
      ]
    },
    {
      "page": "quote_literal",
      "title": "Quote a value",
      "topics": [
        "quote_literal"
      ]
    },
    {
      "page": "quote_string",
      "title": "Quote a string",
      "topics": [
        "quote_string"
      ]
    },
    {
      "page": "quote_table_name",
      "title": "Quote a table name.",
      "topics": [
        "quote_table_name"
      ]
    },
    {
      "page": "rename_columns",
      "title": "Make a rename columns node (copies columns not renamed).",
      "topics": [
        "rename_columns"
      ]
    },
    {
      "page": "row_counts",
      "title": "Build an optree pipeline counts rows.",
      "topics": [
        "row_counts"
      ]
    },
    {
      "page": "rq_colnames",
      "title": "List table column names.",
      "topics": [
        "rq_colnames"
      ]
    },
    {
      "page": "rq_coltypes",
      "title": "Get column types by example values as a data.frame.",
      "topics": [
        "rq_coltypes"
      ]
    },
    {
      "page": "rq_connection_advice",
      "title": "Get advice for a DB connection (beyond tests).",
      "topics": [
        "rq_connection_advice"
      ]
    },
    {
      "page": "rq_connection_name",
      "title": "Build a canonical name for a db connection class.",
      "topics": [
        "rq_connection_name"
      ]
    },
    {
      "page": "rq_connection_tests",
      "title": "Try and test database for some option settings.",
      "topics": [
        "rq_connection_tests"
      ]
    },
    {
      "page": "rq_copy_to",
      "title": "Copy local R table to remote data handle.",
      "topics": [
        "rq_copy_to"
      ]
    },
    {
      "page": "rq_execute",
      "title": "Execute a query, typically an update that is not supposed to return results.",
      "topics": [
        "rq_execute"
      ]
    },
    {
      "page": "rq_get_query",
      "title": "Execute a get query, typically a non-update that is supposed to return results.",
      "topics": [
        "rq_get_query"
      ]
    },
    {
      "page": "rq_head",
      "title": "Get head of db table",
      "topics": [
        "rq_head"
      ]
    },
    {
      "page": "rq_nrow",
      "title": "Count rows and return as numeric",
      "topics": [
        "rq_nrow"
      ]
    },
    {
      "page": "rq_remove_table",
      "title": "Remove table",
      "topics": [
        "rq_remove_table"
      ]
    },
    {
      "page": "rq_table_exists",
      "title": "Check if a table exists.",
      "topics": [
        "rq_table_exists"
      ]
    },
    {
      "page": "rquery_apply_to_data_frame",
      "title": "Execute optree in an environment where d is the only data.",
      "topics": [
        "rquery_apply_to_data_frame"
      ]
    },
    {
      "page": "rquery_db_info",
      "title": "Build a db information stand-in",
      "topics": [
        "rquery_db_info"
      ]
    },
    {
      "page": "rquery_default_db_info",
      "title": "An example 'rquery_db_info' object useful for formatting 'SQL' without a database connection.",
      "topics": [
        "rquery_default_db_info"
      ]
    },
    {
      "page": "rstr",
      "title": "Quick look at remote data",
      "topics": [
        "rlook",
        "rstr"
      ]
    },
    {
      "page": "rsummary",
      "title": "Compute usable summary of columns of remote table.",
      "topics": [
        "rsummary"
      ]
    },
    {
      "page": "rsummary_node",
      "title": "Create an rsumary relop operator node.",
      "topics": [
        "rsummary_node"
      ]
    },
    {
      "page": "select_columns",
      "title": "Make a select columns node (not a relational operation).",
      "topics": [
        "select_columns"
      ]
    },
    {
      "page": "select_rows",
      "title": "Make a select rows node.",
      "topics": [
        "select_rows",
        "select_rows_nse"
      ]
    },
    {
      "page": "select_rows_se",
      "title": "Make a select rows node.",
      "topics": [
        "select_rows_se"
      ]
    },
    {
      "page": "set_indicator",
      "title": "Make a set indicator node.",
      "topics": [
        "set_indicator"
      ]
    },
    {
      "page": "setDBOpt",
      "title": "Set a database connection option.",
      "topics": [
        "setDBOpt"
      ]
    },
    {
      "page": "setDBOption",
      "title": "Set a database connection option.",
      "topics": [
        "setDBOption"
      ]
    },
    {
      "page": "sql_expr_set",
      "title": "Build a query that applies a SQL expression to a set of columns.",
      "topics": [
        "sql_expr_set"
      ]
    },
    {
      "page": "sql_node",
      "title": "Make a general SQL node.",
      "topics": [
        "sql_node"
      ]
    },
    {
      "page": "tables_used",
      "title": "Return vector of table names used.",
      "topics": [
        "tables_used"
      ]
    },
    {
      "page": "theta_join",
      "title": "Make a theta_join node.",
      "topics": [
        "theta_join",
        "theta_join_nse"
      ]
    },
    {
      "page": "theta_join_se",
      "title": "Make a theta_join node.",
      "topics": [
        "theta_join_se"
      ]
    },
    {
      "page": "to_sql",
      "title": "Return SQL implementation of operation tree.",
      "topics": [
        "to_sql"
      ]
    },
    {
      "page": "to_transport_representation",
      "title": "Convert an rquery op diagram to a simple representation, appropriate for conversion to YAML.",
      "topics": [
        "to_transport_representation"
      ]
    },
    {
      "page": "topo_sort_tables",
      "title": "Topologically sort join plan so values are available before uses.",
      "topics": [
        "topo_sort_tables"
      ]
    },
    {
      "page": "unionall",
      "title": "Make an unionall node (not a relational operation).",
      "topics": [
        "unionall"
      ]
    },
    {
      "page": "wrap",
      "title": "Wrap a data frame for later execution.",
      "topics": [
        "wrap"
      ]
    }
  ],
  "_readme": "https://github.com/winvector/rquery/raw/HEAD/README.md",
  "_rundeps": [
    "wrapr"
  ],
  "_vignettes": [
    {
      "source": "AssigmentPartitioner.Rmd",
      "filename": "AssigmentPartitioner.html",
      "title": "Assignment Partitioner",
      "author": "John Mount, Win-Vector LLC",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2018-01-03 22:24:59",
      "modified": "2020-08-11 17:09:34",
      "commits": 11
    },
    {
      "source": "Parameterized_rquery.Rmd",
      "filename": "Parameterized_rquery.html",
      "title": "Parameterized rquery",
      "author": "John Mount, Win-Vector LLC",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2018-11-08 16:53:10",
      "modified": "2023-08-20 00:49:56",
      "commits": 4
    },
    {
      "source": "PipeableSQL.Rmd",
      "filename": "PipeableSQL.html",
      "title": "Pipeable SQL",
      "author": "John Mount",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Pipeable SQL",
        "sql_node()",
        "Composing nodes",
        "A non-trivial example",
        "Working with sets of columns",
        "SQL first",
        "Ad-hoc mode",
        "Table descriptions",
        "Helper functions and notation",
        "Conclusion",
        "See also",
        "Appendix: Always clean up on the way out"
      ],
      "created": "2018-06-12 16:33:17",
      "modified": "2020-08-11 17:09:34",
      "commits": 7
    },
    {
      "source": "QueryGeneration.Rmd",
      "filename": "QueryGeneration.html",
      "title": "Query Generation",
      "author": "John Mount",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2017-12-24 21:34:23",
      "modified": "2022-01-22 16:23:49",
      "commits": 21
    },
    {
      "source": "R_mapping.Rmd",
      "filename": "R_mapping.html",
      "title": "R mapping",
      "author": "John Mount",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2019-06-13 16:39:51",
      "modified": "2019-06-25 15:05:30",
      "commits": 12
    },
    {
      "source": "rquery_intro.Rmd",
      "filename": "rquery_intro.html",
      "title": "rquery Introduction",
      "author": "John Mount, Win-Vector LLC",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Table descriptions",
        "Operators",
        "Non-SQL nodes",
        "Standard interfaces",
        "Assignment partitioning",
        "Performance",
        "Conclusion",
        "See also",
        "Appendix: Always clean up on the way out"
      ],
      "created": "2018-03-09 21:48:34",
      "modified": "2020-08-11 17:09:34",
      "commits": 35
    },
    {
      "source": "rquery_many_columns.Rmd",
      "filename": "rquery_many_columns.html",
      "title": "rquery Many Columns",
      "author": "John Mount, Win-Vector LLC",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2019-12-13 23:24:37",
      "modified": "2019-12-16 14:16:09",
      "commits": 3
    },
    {
      "source": "sql_quoting.Rmd",
      "filename": "sql_quoting.html",
      "title": "SQL quoting",
      "author": "John Mount",
      "engine": "knitr::rmarkdown",
      "headings": [],
      "created": "2018-11-19 23:03:33",
      "modified": "2018-11-20 00:07:55",
      "commits": 2
    }
  ],
  "_score": 9.590352073864405,
  "_indexed": true,
  "_nocasepkg": "rquery",
  "_universes": [
    "winvector",
    "johnmount"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.4.99",
      "date": "2026-05-17T07:24:02.000Z",
      "distro": "noble",
      "commit": "ce20c07536d8930fb59663778026e2cae380d489",
      "fileid": "d85c6ba2e26e56a51d9b8f24736b1a2345ad29bca085f0cc9ad869938e254db3",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/winvector/actions/runs/25984465093"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.4.99",
      "date": "2026-05-17T07:23:48.000Z",
      "distro": "noble",
      "commit": "ce20c07536d8930fb59663778026e2cae380d489",
      "fileid": "4260584f31bc7d0048a432090705835d9b63d8ea060c7589010819e91a3d278f",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/winvector/actions/runs/25984465093"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.4.99",
      "date": "2026-05-17T07:23:35.000Z",
      "commit": "ce20c07536d8930fb59663778026e2cae380d489",
      "fileid": "fefc730fbbb0b9f4f95be044f85766cec85e65ee58c9659fa86365d2384131ae",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/winvector/actions/runs/25984465093"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.4.99",
      "date": "2026-05-17T07:23:21.000Z",
      "commit": "ce20c07536d8930fb59663778026e2cae380d489",
      "fileid": "a5f0fe0feafb647c8bf8af85784d41fc762b108af0309d1bb91dae0f3f55def4",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/winvector/actions/runs/25984465093"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.4.99",
      "date": "2026-05-17T07:23:58.000Z",
      "commit": "ce20c07536d8930fb59663778026e2cae380d489",
      "fileid": "45b4d337982ad1bc9caf20e7343fb13fee0e198571175d50b2550fdf34816909",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/winvector/actions/runs/25984465093"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.4.99",
      "date": "2026-05-17T07:23:18.000Z",
      "commit": "ce20c07536d8930fb59663778026e2cae380d489",
      "fileid": "2905b24bac2ffcd4f918c02c893b80f126039f2b03478687de7e4b6c7afee423",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/winvector/actions/runs/25984465093"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.4.99",
      "date": "2026-05-17T07:23:13.000Z",
      "commit": "ce20c07536d8930fb59663778026e2cae380d489",
      "fileid": "2f63b372211995591cf922acd756274f7ae4af49f1d073e9d6803da2d7b615fb",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/winvector/actions/runs/25984465093"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.4.99",
      "date": "2026-06-02T17:30:53.000Z",
      "commit": "ce20c07536d8930fb59663778026e2cae380d489",
      "fileid": "123801188df7fb38cf1d16f20555638969b43d435002586e2762f54364b00305",
      "status": "success",
      "buildurl": "https://github.com/r-universe/winvector/actions/runs/25984465093"
    }
  ]
}