diff --git a/src/brad/calibration/__init__.py b/src/brad/calibration/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/src/brad/calibration/load/__init__.py b/src/brad/calibration/load/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/src/brad/calibration/load/metrics.py b/src/brad/calibration/load/metrics.py new file mode 100644 index 00000000..d6a03d8e --- /dev/null +++ b/src/brad/calibration/load/metrics.py @@ -0,0 +1,74 @@ +CLOUDWATCH_LOAD_METRICS = [ + ("CPUUtilization", "Minimum"), + ("CPUUtilization", "Maximum"), + ("CPUUtilization", "Average"), + ("ReadIOPS", "Minimum"), + ("ReadIOPS", "Maximum"), + ("ReadIOPS", "Average"), + ("WriteIOPS", "Minimum"), + ("WriteIOPS", "Maximum"), + ("WriteIOPS", "Average"), + ("ReadThroughput", "Minimum"), + ("ReadThroughput", "Maximum"), + ("ReadThroughput", "Average"), + ("WriteThroughput", "Minimum"), + ("WriteThroughput", "Maximum"), + ("WriteThroughput", "Average"), + ("ReadLatency", "Minimum"), + ("ReadLatency", "Maximum"), + ("ReadLatency", "Average"), + ("WriteLatency", "Minimum"), + ("WriteLatency", "Maximum"), + ("WriteLatency", "Average"), +] + +PERF_INSIGHTS_LOAD_METRICS = [ + "os.loadAverageMinute.one", + "os.loadAverageMinute.five", + "os.loadAverageMinute.fifteen", + "os.cpuUtilization.system", + "os.cpuUtilization.total", + "os.cpuUtilization.user", + "os.diskIO.avgQueueLen", + "os.diskIO.tps", + "os.diskIO.util", + "os.diskIO.readIOsPS", + "os.diskIO.readKbPS", + "os.diskIO.writeIOsPS", + "os.diskIO.writeKbPS", + "os.network.rx", + "os.network.tx", + "os.memory.active", + "os.memory.dirty", + "os.memory.free", + "os.memory.writeback", + "os.memory.total", + "os.tasks.blocked", + "os.tasks.running", + "os.tasks.sleeping", + "os.tasks.stopped", + "os.tasks.total", + "db.SQL.queries", + "db.SQL.total_query_time", + "db.SQL.tup_deleted", + "db.SQL.tup_fetched", + "db.SQL.tup_inserted", + "db.SQL.tup_returned", + "db.SQL.tup_updated", + "db.Transactions.active_transactions", + "db.Transactions.blocked_transactions", + "db.Transactions.duration_commits", + "db.Transactions.xact_commit", + "db.Transactions.xact_rollback", + # NOTE: Aurora has specific storage metrics (probably because they use a custom storage engine) + # https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights_Counters.html#USER_PerfInsights_Counters.Aurora_PostgreSQL + "os.diskIO.auroraStorage.auroraStorageBytesRx", + "os.diskIO.auroraStorage.auroraStorageBytesTx", + "os.diskIO.auroraStorage.diskQueueDepth", + "os.diskIO.auroraStorage.readThroughput", + "os.diskIO.auroraStorage.writeThroughput", + "os.diskIO.auroraStorage.readLatency", + "os.diskIO.auroraStorage.writeLatency", + "os.diskIO.auroraStorage.readIOsPS", + "os.diskIO.auroraStorage.writeIOsPS", +] diff --git a/src/brad/calibration/load/query_runner.py b/src/brad/calibration/load/query_runner.py new file mode 100644 index 00000000..8d7adb12 --- /dev/null +++ b/src/brad/calibration/load/query_runner.py @@ -0,0 +1,154 @@ +import pathlib +import random +import sys +import time +import queue +import multiprocessing as mp +import io +import signal +from typing import Callable + +from brad.config.engine import Engine +from brad.config.file import ConfigFile +from brad.connection.connection import Cursor +from brad.server.engine_connections import EngineConnections + + +class Options: + def __init__( + self, + worker_idx: int, + output_file: pathlib.Path, + config: ConfigFile, + engine: Engine, + schema_name: str, + ) -> None: + self.worker_idx = worker_idx + self.config = config + self.engine = engine + self.schema_name = schema_name + + # Set to True if running on Redshift + self.disable_redshift_cache = False + self.output_file = output_file + + self.avg_gap_s = 1.0 + self.std_gap_s = 0.5 + self.seed = 42 + + +class Context: + def __init__( + self, + cursor: Cursor, + output_file: io.TextIOBase, + prng: random.Random, + options: Options, + ) -> None: + self.cursor = cursor + self.output_file = output_file + self.prng = prng + self.options = options + + +RunQueryCallable = Callable[[Context], None] + + +def run_specific_query_until_signalled( + query_idx: int, + query: str, + options: Options, + start_queue: mp.Queue, + stop_queue: mp.Queue, +) -> None: + runner = get_run_specific_query(query_idx, query) + run_until_signalled(runner, options, start_queue, stop_queue) + + +def run_until_signalled( + run_query: RunQueryCallable, + options: Options, + start_queue: mp.Queue, + stop_queue: mp.Queue, +) -> None: + """ + Meant to be launched as a subprocess with multiprocessing. + """ + + def noop_handler(_signal, _frame): + pass + + signal.signal(signal.SIGINT, noop_handler) + + ec = EngineConnections.connect_sync( + options.config, + options.schema_name, + autocommit=True, + specific_engines={options.engine}, + ) + + try: + conn = ec.get_connection(options.engine) + cursor = conn.cursor_sync() + + # Hacky way to disable the query cache when applicable. + if options.disable_redshift_cache: + print( + "Disabling Redshift result cache (client {})".format(options.worker_idx) + ) + cursor.execute_sync("SET enable_result_cache_for_session = OFF;") + + prng = random.Random(options.seed ^ options.worker_idx) + + with open(options.output_file, "w", encoding="UTF-8") as file: + ctx = Context(cursor, file, prng, options) + print("query_idx,run_time_s", file=file, flush=True) + + # Signal that we're ready to start and wait for the controller. + start_queue.put_nowait("") + _ = stop_queue.get() + + while True: + run_query(ctx) + try: + _ = stop_queue.get_nowait() + break + except queue.Empty: + pass + finally: + ec.close_sync() + + +def get_run_specific_query(query_idx: int, query_str: str) -> RunQueryCallable: + """ + Runs `query_str` with an optional delay. + """ + + def run_specific_query(ctx: Context) -> None: + wait_for_s = ctx.prng.gauss(ctx.options.avg_gap_s, ctx.options.std_gap_s) + if wait_for_s < 0.0: + wait_for_s = 0.0 + time.sleep(wait_for_s) + + try: + start = time.time() + ctx.cursor.execute_sync(query_str) + ctx.cursor.fetchall_sync() + end = time.time() + print( + "{},{}".format(query_idx, end - start), + file=ctx.output_file, + flush=True, + ) + + except Exception as ex: + print( + "Skipping query {} because of an error (potentially timeout)".format( + query_idx + ), + file=sys.stderr, + flush=True, + ) + print(ex, file=sys.stderr, flush=True) + + return run_specific_query diff --git a/src/brad/calibration/measure_load.py b/src/brad/calibration/measure_load.py new file mode 100644 index 00000000..757f8eda --- /dev/null +++ b/src/brad/calibration/measure_load.py @@ -0,0 +1,275 @@ +import argparse +import multiprocessing as mp +import time +import sys +import signal +import threading +import os +import pathlib +from datetime import timedelta +from typing import List, Optional + +from brad.calibration.load.query_runner import ( + run_specific_query_until_signalled, + Options, +) +from brad.calibration.load.metrics import ( + CLOUDWATCH_LOAD_METRICS, + PERF_INSIGHTS_LOAD_METRICS, +) +from brad.config.engine import Engine +from brad.config.file import ConfigFile +from brad.daemon.cloudwatch import CloudwatchClient +from brad.daemon.perf_insights import AwsPerformanceInsightsClient +from brad.server.engine_connections import EngineConnections +from brad.connection.connection import Connection +from brad.utils import set_up_logging + + +def load_queries(file_path: str) -> List[str]: + with open(file_path, encoding="UTF-8") as file: + return [line.strip() for line in file] + + +def run_warmup(connection: Connection, query_list: List[str]) -> None: + cursor = connection.cursor_sync() + for i, q in enumerate(query_list): + start = time.time() + cursor.execute_sync(q) + _ = cursor.fetchall_sync() + end = time.time() + print( + f"Warmed up {i} of {len(query_list)}. Took {(end - start):.2f} seconds.", + file=sys.stderr, + flush=True, + ) + + +def get_output_dir() -> pathlib.Path: + # For printing out results. + if "COND_OUT" in os.environ: + import conductor.lib as cond # pylint: disable=import-error + + out_dir = cond.get_output_path() + else: + out_dir = pathlib.Path(".") + return out_dir + + +def main() -> None: + parser = argparse.ArgumentParser( + "Tool used to measure query execution times on specific engines under load." + ) + parser.add_argument( + "--config-file-var", + type=str, + default="BRAD_CONFIG", + help="Environment variable holding a path to BRAD's configuration file.", + ) + parser.add_argument( + "--schema-name-var", + type=str, + default="BRAD_SCHEMA", + help="Environment variable holding the schema to run queries against.", + ) + parser.add_argument( + "--engine", type=str, required=True, help="The engine to run against." + ) + parser.add_argument( + "--run-for-s", + type=int, + help="How long to run the experiment for. If unset, the experiment will run until Ctrl-C.", + ) + parser.add_argument( + "--query-file", + type=str, + required=True, + help="Path to a file containing queries to run.", + ) + parser.add_argument( + "--specific-query-idx", + type=int, + help="A specific query to run (by index in the query file).", + ) + parser.add_argument( + "--seed", type=int, default=42, help="Random seed for reproducibility." + ) + parser.add_argument( + "--run-warmup", + action="store_true", + help="If set, run the queries in the query file once to warm up the engine.", + ) + parser.add_argument( + "--wait-before-start", + type=int, + help="If set, wait this many seconds before starting to issue queries.", + ) + # Controls how the clients submit queries to the underlying engine. + parser.add_argument( + "--num-clients", + type=int, + default=1, + help="The number of clients issuing queries (used to increase load).", + ) + parser.add_argument( + "--avg-gap-s", + type=float, + default=1.0, + help="Average amount of time to wait between issuing queries.", + ) + parser.add_argument( + "--std-gap-s", + type=float, + default=0.5, + help="Std. dev. for the amount of time to wait between issuing queries.", + ) + parser.add_argument("--debug", action="store_true", help="Set to enable debugging.") + args = parser.parse_args() + + set_up_logging(debug_mode=args.debug) + + engine = Engine.from_str(args.engine) + if engine == Engine.Athena: + print("Athena is not supported.", file=sys.stderr, flush=True) + return + + schema_name = os.environ[args.schema_name_var] + config = ConfigFile(os.environ[args.config_file_var]) + queries = load_queries(args.query_file) + + if args.run_warmup: + ec = EngineConnections.connect_sync( + config, + schema_name, + autocommit=True, + specific_engines={engine}, + ) + run_warmup(ec.get_connection(engine), queries) + ec.close_sync() + return + + assert args.specific_query_idx is not None + assert args.specific_query_idx < len(queries) + + if args.wait_before_start is not None: + print( + "Waiting {} seconds before starting...".format(args.wait_before_start), + flush=True, + file=sys.stderr, + ) + time.sleep(args.wait_before_start) + + mgr = mp.Manager() + start_queue = mgr.Queue() + stop_queue = mgr.Queue() + + out_dir = get_output_dir() + + if engine == Engine.Redshift: + cw: Optional[CloudwatchClient] = CloudwatchClient( + Engine.Redshift, config.redshift_cluster_id, config + ) + pi: Optional[AwsPerformanceInsightsClient] = None + else: + cw = None + pi = AwsPerformanceInsightsClient(config.aurora_cluster_id, config) + + processes = [] + for idx in range(args.num_clients): + options = Options( + idx, + out_dir / f"runner_{idx}.csv", + config, + engine, + schema_name, + ) + if engine == Engine.Redshift: + options.disable_redshift_cache = True + options.avg_gap_s = args.avg_gap_s + options.std_gap_s = args.std_gap_s + p = mp.Process( + target=run_specific_query_until_signalled, + args=( + args.specific_query_idx, + queries[args.specific_query_idx], + options, + start_queue, + stop_queue, + ), + ) + p.start() + processes.append(p) + + print("Waiting for startup...", flush=True) + for _ in range(args.num_clients): + start_queue.get() + + print("Telling {} clients to start.".format(args.num_clients), flush=True) + for _ in range(args.num_clients): + stop_queue.put("") + + if args.run_for_s is not None: + print( + "Letting the experiment run for {} seconds...".format(args.run_for_s), + flush=True, + file=sys.stderr, + ) + time.sleep(args.run_for_s) + + else: + print( + "Waiting until requested to stop... (hit Ctrl-C)", + flush=True, + file=sys.stderr, + ) + should_shutdown = threading.Event() + + def signal_handler(_signal, _frame): + should_shutdown.set() + + signal.signal(signal.SIGINT, signal_handler) + signal.signal(signal.SIGTERM, signal_handler) + + should_shutdown.wait() + + print("Stopping clients...", flush=True, file=sys.stderr) + for _ in range(args.num_clients): + stop_queue.put("") + + print( + "Waiting a few seconds before retrieving metrics...", + flush=True, + file=sys.stderr, + ) + if cw is not None: + time.sleep(30) + elif pi is not None: + time.sleep(20) + + if engine == Engine.Redshift: + assert cw is not None + # Fetch Cloudwatch metrics for the duration of this workload. + metrics = cw.fetch_metrics( + CLOUDWATCH_LOAD_METRICS, period=timedelta(seconds=60), num_prev_points=30 + ) + metrics.to_csv(out_dir / "metrics.csv") + elif engine == Engine.Aurora: + assert pi is not None + metrics = pi.fetch_metrics( + PERF_INSIGHTS_LOAD_METRICS, period=timedelta(seconds=60), num_prev_points=10 + ) + metrics.to_csv(out_dir / "metrics.csv") + + # Wait for the experiment to finish. + for p in processes: + p.join() + + print("Done!", flush=True, file=sys.stderr) + + +if __name__ == "__main__": + # On Unix platforms, the default way to start a process is by forking, which + # is not ideal (we do not want to duplicate this process' file + # descriptors!). + mp.set_start_method("spawn") + main() diff --git a/src/brad/daemon/cloudwatch.py b/src/brad/daemon/cloudwatch.py new file mode 100644 index 00000000..5b9610c1 --- /dev/null +++ b/src/brad/daemon/cloudwatch.py @@ -0,0 +1,114 @@ +import boto3 +import pytz +import numpy as np +import pandas as pd +from typing import List, Optional, Tuple +from datetime import datetime, timedelta, timezone + +from brad.config.engine import Engine +from brad.config.file import ConfigFile + + +class CloudwatchClient: + def __init__( + self, + engine: Engine, + cluster_identifier: str, + config: Optional[ConfigFile] = None, + ) -> None: + self._engine = engine + self._dimensions = [] + + if self._engine == Engine.Aurora: + self._namespace = "AWS/RDS" + self._dimensions.append( + { + "Name": "DBClusterIdentifier", + "Value": cluster_identifier, + } + ) + elif self._engine == Engine.Athena: + self._namespace = "AWS/Athena" + elif self._engine == Engine.Redshift: + self._namespace = "AWS/Redshift" + self._dimensions.append( + { + "Name": "ClusterIdentifier", + "Value": cluster_identifier, + } + ) + + if config is not None: + self._client = boto3.client( + "cloudwatch", + aws_access_key_id=config.aws_access_key, + aws_secret_access_key=config.aws_access_key_secret, + ) + else: + self._client = boto3.client("cloudwatch") + + def fetch_metrics( + self, + metrics_list: List[Tuple[str, str]], + period: timedelta, + num_prev_points: int, + ) -> pd.DataFrame: + # Retrieve datapoints + now = datetime.now(tz=timezone.utc) + end_time = now - (now - datetime.min.replace(tzinfo=pytz.UTC)) % period + + # Retrieve more than 1 epoch, for robustness; If we retrieve once per + # minute and things are logged every minute, small delays might cause + # us to miss some points. Deduplication is performed later on. + start_time = end_time - num_prev_points * period + + def fetch_batch(metrics_list): + queries = [] + for metric, stat in metrics_list: + queries.append( + { + "Id": f"{self._engine.value}_{metric}_{stat}", + "MetricStat": { + "Metric": { + "Namespace": self._namespace, + "MetricName": metric, + "Dimensions": self._dimensions.copy(), + }, + "Period": int(period.total_seconds()), + "Stat": stat, + }, + "ReturnData": True, + } + ) + + response = self._client.get_metric_data( + MetricDataQueries=queries, + StartTime=start_time, + EndTime=end_time, + ScanBy="TimestampAscending", + ) + + # Parse metrics from json responses + resp_dict = {} + for metric_data in response["MetricDataResults"]: + metric_id = metric_data["Id"] + metric_timestamps = metric_data["Timestamps"] + metric_values = metric_data["Values"] + resp_dict[metric_id] = pd.Series( + metric_values, index=metric_timestamps, dtype=np.float64 + ) + + df = pd.DataFrame(resp_dict).fillna(0) + df = df.sort_index() + df.index = pd.to_datetime(df.index) + + # Sort dataframe by timestamp + return df.sort_index() + + results = [] + batch_size = 10 + for i in range(0, len(metrics_list), batch_size): + df = fetch_batch(metrics_list[i : i + batch_size]) + results.append(df) + + return pd.concat(results, axis=1) diff --git a/tools/calibration/load/common.cond b/tools/calibration/load/common.cond new file mode 100644 index 00000000..51cb94c0 --- /dev/null +++ b/tools/calibration/load/common.cond @@ -0,0 +1,5 @@ +AVG_GAP_S = 3 +RUN_FOR_S = 4 * 60 # 4 minutes +NUM_CLIENTS = [1, 2, 4, 6] +NUM_QUERIES = 40 # We have 60 in the query bank, but they will take too long to run. +WAIT_BEFORE_START = 10 diff --git a/tools/calibration/load/cond_config.toml b/tools/calibration/load/cond_config.toml new file mode 100644 index 00000000..e69de29b diff --git a/tools/calibration/load/gather_redshift.sh b/tools/calibration/load/gather_redshift.sh new file mode 100755 index 00000000..26093a20 --- /dev/null +++ b/tools/calibration/load/gather_redshift.sh @@ -0,0 +1,65 @@ +#! /bin/bash + +# Need to run this collection across 4 instances in parallel to complete in a +# reasonable amount of time. +if [ -z $4 ]; then + >&2 echo "Usage: $0 " + >&2 echo "The config path should be relative to the redshift/ subdirectory." + exit 1 +fi + +export BRAD_SCHEMA="imdb" +export BRAD_CONFIG=$2 + +instance=$1 +group=$3 +cluster_identifier=$4 + +function run_warm_up() { + >&2 echo "Running warm up..." + python3 -m brad.calibrate.measure_load --run-warmup --engine redshift --query-file query_bank.sql +} + +function sync_redshift_resize() { + $raw_instance=$1 + $target_instance_type=${raw_instance//_/.} + $target_node_count=$2 + + # Try an elastic resize first. + >&2 echo "Resizing Redshift cluster to $target_instance_type with $target_node_count nodes (attempt elastic)" + aws redshift resize-cluster --cluster-identifier "$cluster_identifier" --cluster-type multi-node --node-type "$target_instance_type" --number-of-nodes "$target_node_count" --no-classic —region us-east-1 + result=$? + + # Resize Redshift cluster + if [ $result -ne 0 ]; then + >&2 echo "Classic resizing Redshift cluster to $target_instance_type with $target_node_count nodes" + aws redshift modify-cluster --cluster-identifier "$cluster_identifier" --node-type "$target_instance_type" --number-of-nodes "$target_node_count" + fi + + sleep 60 + + # Wait for resize to complete + while true; do + cluster_status=$(aws redshift describe-clusters --cluster-identifier "$cluster_identifier" --query 'Clusters[0].ClusterStatus' --output text) + if [[ $cluster_status == "available" ]]; then + break + fi + >&2 echo "Waiting for resize to complete..." + sleep 10 + done +} + +>&2 echo "$instance 1x ($group of 2)" +sync_redshift_resize $instance 1 +run_warm_up +cond run "//redshift:${instance}-1-${group}-of-2" + +>&2 echo "$instance 2x ($group of 2)" +sync_redshift_resize $instance 2 +run_warm_up +cond run "//redshift:${instance}-2-${group}-of-2" + +>&2 echo "$instance 4x ($group of 2)" +sync_redshift_resize $instance 4 +run_warm_up +cond run "//redshift:${instance}-4-${group}-of-2" diff --git a/tools/calibration/load/query_bank.sql b/tools/calibration/load/query_bank.sql new file mode 100644 index 00000000..e05b9a75 --- /dev/null +++ b/tools/calibration/load/query_bank.sql @@ -0,0 +1,60 @@ +SELECT AVG("title"."kind_id") as agg_0 FROM "title" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "movie_info_idx" ON "title"."id" = "movie_info_idx"."movie_id" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" LEFT OUTER JOIN "company_name" ON "movie_companies"."company_id" = "company_name"."id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" WHERE "title"."title" NOT LIKE '%P%art%' AND "movie_info"."info_type_id" BETWEEN 11 AND 16 AND "cast_info"."role_id" BETWEEN 1 AND 2 AND ("movie_companies"."note" LIKE '%(T%V)%' OR "movie_companies"."company_id" >= 62124 OR "movie_companies"."note" LIKE '%(Hungary)%') AND "movie_info_idx"."movie_id" IS NOT NULL AND "company_name"."id" IS NOT NULL; +SELECT AVG("title"."episode_of_id") as agg_0, MIN("movie_info_idx"."id") as agg_1 FROM "info_type" LEFT OUTER JOIN "movie_info_idx" ON "info_type"."id" = "movie_info_idx"."info_type_id" LEFT OUTER JOIN "title" ON "movie_info_idx"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_keyword" ON "title"."id" = "movie_keyword"."movie_id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" LEFT OUTER JOIN "keyword" ON "movie_keyword"."keyword_id" = "keyword"."id" LEFT OUTER JOIN "company_name" ON "movie_companies"."company_id" = "company_name"."id" LEFT OUTER JOIN "kind_type" ON "title"."kind_id" = "kind_type"."id" LEFT OUTER JOIN "company_type" ON "movie_companies"."company_type_id" = "company_type"."id" WHERE "movie_info_idx"."movie_id" >= 66562 AND "company_name"."name" NOT LIKE '%Entertainment%' AND ("cast_info"."note" NOT LIKE '%footag%e)%' OR "cast_info"."note" LIKE '%(archive%' OR "cast_info"."note" NOT LIKE '%foota%ge)%') AND "movie_info_idx"."info_type_id" = 99 AND "company_name"."country_code" LIKE '%[us]%' AND "keyword"."id" IS NOT NULL AND "kind_type"."id" IS NOT NULL AND "company_type"."id" IS NOT NULL; +SELECT MAX("title"."production_year") as agg_0 FROM "person_info" LEFT OUTER JOIN "name" ON "person_info"."person_id" = "name"."id" LEFT OUTER JOIN "aka_name" ON "name"."id" = "aka_name"."person_id" LEFT OUTER JOIN "cast_info" ON "aka_name"."id" = "cast_info"."person_id" LEFT OUTER JOIN "title" ON "cast_info"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "company_name" ON "movie_companies"."company_id" = "company_name"."id" LEFT OUTER JOIN "movie_info_idx" ON "title"."id" = "movie_info_idx"."movie_id" LEFT OUTER JOIN "movie_keyword" ON "title"."id" = "movie_keyword"."movie_id" LEFT OUTER JOIN "info_type" ON "movie_info_idx"."info_type_id" = "info_type"."id" LEFT OUTER JOIN "company_type" ON "movie_companies"."company_type_id" = "company_type"."id" WHERE "company_type"."kind" IN ('distributors') AND "info_type"."info" LIKE '%info%' AND "person_info"."info" LIKE '%i%t%' AND "movie_keyword"."id" <= 2571740 AND "company_type"."id" >= 1 AND "company_name"."id" IS NOT NULL; +SELECT MIN("cast_info"."nr_order") as agg_0 FROM "company_type" LEFT OUTER JOIN "movie_companies" ON "company_type"."id" = "movie_companies"."company_type_id" LEFT OUTER JOIN "company_name" ON "movie_companies"."company_id" = "company_name"."id" LEFT OUTER JOIN "title" ON "movie_companies"."movie_id" = "title"."id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" LEFT OUTER JOIN "aka_name" ON "cast_info"."person_id" = "aka_name"."id" WHERE "title"."title" NOT LIKE '%Th%e%' AND "movie_companies"."movie_id" >= 2200187 AND "aka_name"."surname_pcode" NOT LIKE '%B6%3%' AND "cast_info"."note" NOT LIKE '%Adler)%' AND "company_name"."name" NOT LIKE '%Group%' AND "company_type"."id" <= 2; +SELECT COUNT(*) as agg_0, AVG("title"."season_nr") as agg_1 FROM "title" LEFT OUTER JOIN "kind_type" ON "title"."kind_id" = "kind_type"."id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" LEFT OUTER JOIN "aka_name" ON "cast_info"."person_id" = "aka_name"."id" LEFT OUTER JOIN "char_name" ON "cast_info"."person_role_id" = "char_name"."id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "name" ON "aka_name"."person_id" = "name"."id" LEFT OUTER JOIN "movie_info_idx" ON "title"."id" = "movie_info_idx"."movie_id" LEFT OUTER JOIN "company_type" ON "movie_companies"."company_type_id" = "company_type"."id" WHERE "char_name"."imdb_index" IS NOT NULL AND "aka_name"."id" <= 149190 AND "kind_type"."kind" LIKE '%movie%' AND "kind_type"."kind" != '%video movie%' AND ("aka_name"."name" NOT LIKE '%A%.%' OR "aka_name"."name" LIKE '%John%') AND "movie_info"."movie_id" IS NOT NULL AND "movie_info_idx"."movie_id" IS NOT NULL AND "company_type"."id" IS NOT NULL; +SELECT COUNT(*) as agg_0, MIN("title"."episode_of_id") as agg_1 FROM "company_name" LEFT OUTER JOIN "movie_companies" ON "company_name"."id" = "movie_companies"."company_id" LEFT OUTER JOIN "title" ON "movie_companies"."movie_id" = "title"."id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" LEFT OUTER JOIN "movie_keyword" ON "title"."id" = "movie_keyword"."movie_id" LEFT OUTER JOIN "company_type" ON "movie_companies"."company_type_id" = "company_type"."id" LEFT OUTER JOIN "aka_name" ON "cast_info"."person_id" = "aka_name"."id" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" WHERE "company_type"."kind" IN ('special effects companies', 'production companies') AND "cast_info"."note" LIKE '%(arc%hive%' AND "aka_name"."person_id" >= 2437014 AND "movie_keyword"."movie_id" IS NOT NULL AND "movie_info"."movie_id" IS NOT NULL; +SELECT SUM("name"."id") as agg_0, AVG("cast_info"."person_id") as agg_1 FROM "cast_info" LEFT OUTER JOIN "aka_name" ON "cast_info"."person_id" = "aka_name"."id" LEFT OUTER JOIN "name" ON "aka_name"."person_id" = "name"."id" LEFT OUTER JOIN "person_info" ON "name"."id" = "person_info"."person_id" LEFT OUTER JOIN "char_name" ON "cast_info"."person_role_id" = "char_name"."id" LEFT OUTER JOIN "title" ON "cast_info"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "kind_type" ON "title"."kind_id" = "kind_type"."id" LEFT OUTER JOIN "movie_keyword" ON "title"."id" = "movie_keyword"."movie_id" WHERE "title"."title" LIKE '%o%f%' AND "aka_name"."surname_pcode" IN ('L2', 'B2', 'R2', 'M2', 'L', 'B65', 'S53') AND "cast_info"."id" <= 34381261 AND "person_info"."person_id" IS NOT NULL AND "char_name"."id" IS NOT NULL AND "movie_companies"."movie_id" IS NOT NULL AND "kind_type"."id" IS NOT NULL AND "movie_keyword"."movie_id" IS NOT NULL; +SELECT MIN("title"."id") as agg_0, SUM("cast_info"."person_role_id") as agg_1 FROM "movie_info_idx" LEFT OUTER JOIN "info_type" ON "movie_info_idx"."info_type_id" = "info_type"."id" LEFT OUTER JOIN "title" ON "movie_info_idx"."movie_id" = "title"."id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" LEFT OUTER JOIN "char_name" ON "cast_info"."person_role_id" = "char_name"."id" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" LEFT OUTER JOIN "movie_keyword" ON "title"."id" = "movie_keyword"."movie_id" LEFT OUTER JOIN "kind_type" ON "title"."kind_id" = "kind_type"."id" WHERE "cast_info"."id" >= 32078294 AND "kind_type"."kind" IN ('tv series', 'tv movie', 'movie', 'tv mini series', 'episode') AND ("char_name"."imdb_index" IS NOT NULL OR ("char_name"."surname_pcode" NOT LIKE '%M5%' AND "char_name"."imdb_index" = '%I%')) AND ("movie_info_idx"."info" NOT LIKE '%7.4%' OR "movie_info_idx"."info" LIKE '%7.3%' OR "movie_info_idx"."info" NOT LIKE '%7.1%') AND ("cast_info"."note" NOT LIKE '%(%as%' OR "cast_info"."person_id" >= 2765626 OR "cast_info"."note" LIKE '%(v%oice)%') AND "kind_type"."id" >= 1 AND "info_type"."id" IS NOT NULL AND "movie_info"."movie_id" IS NOT NULL AND "movie_keyword"."movie_id" IS NOT NULL; +SELECT MIN("movie_companies"."company_id") as agg_0 FROM "info_type" LEFT OUTER JOIN "movie_info_idx" ON "info_type"."id" = "movie_info_idx"."info_type_id" LEFT OUTER JOIN "title" ON "movie_info_idx"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" WHERE "movie_info"."id" >= 14329874 AND "movie_companies"."movie_id" >= 2256681 AND "title"."title" LIKE '%The%'; +SELECT MAX("person_info"."person_id") as agg_0 FROM "name" LEFT OUTER JOIN "person_info" ON "name"."id" = "person_info"."person_id" LEFT OUTER JOIN "aka_name" ON "name"."id" = "aka_name"."person_id" LEFT OUTER JOIN "cast_info" ON "aka_name"."id" = "cast_info"."person_id" LEFT OUTER JOIN "char_name" ON "cast_info"."person_role_id" = "char_name"."id" LEFT OUTER JOIN "title" ON "cast_info"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" LEFT OUTER JOIN "kind_type" ON "title"."kind_id" = "kind_type"."id" LEFT OUTER JOIN "movie_keyword" ON "title"."id" = "movie_keyword"."movie_id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "company_type" ON "movie_companies"."company_type_id" = "company_type"."id" WHERE ("aka_name"."person_id" BETWEEN 3635134 AND 3981814 OR "aka_name"."imdb_index" IS NOT NULL) AND "person_info"."info_type_id" <= 17 AND "company_type"."kind" NOT LIKE '%comp%anies%' AND "movie_keyword"."id" >= 2065668 AND "movie_companies"."company_id" BETWEEN 13325 AND 30218 AND "movie_info"."info" LIKE '%Portuguese%' AND "char_name"."id" IS NOT NULL AND "kind_type"."id" IS NOT NULL; +SELECT SUM("title"."episode_of_id") as agg_0 FROM "cast_info" LEFT OUTER JOIN "aka_name" ON "cast_info"."person_id" = "aka_name"."id" LEFT OUTER JOIN "char_name" ON "cast_info"."person_role_id" = "char_name"."id" LEFT OUTER JOIN "name" ON "aka_name"."person_id" = "name"."id" LEFT OUTER JOIN "person_info" ON "name"."id" = "person_info"."person_id" LEFT OUTER JOIN "title" ON "cast_info"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_keyword" ON "title"."id" = "movie_keyword"."movie_id" LEFT OUTER JOIN "kind_type" ON "title"."kind_id" = "kind_type"."id" WHERE "title"."title" LIKE '%d%e%' AND ("kind_type"."kind" != '%video movie%' OR ("kind_type"."kind" != '%episode%' AND "kind_type"."kind" != '%tv movie%')) AND ("char_name"."name_pcode_nf" NOT LIKE '%H%5241%' OR "char_name"."name_pcode_nf" NOT LIKE '%H52%41%') AND "aka_name"."name" NOT LIKE '%Brown,%' AND "person_info"."person_id" IS NOT NULL AND "movie_keyword"."movie_id" IS NOT NULL; +SELECT COUNT(*) as agg_0, COUNT(*) as agg_1 FROM "person_info" LEFT OUTER JOIN "name" ON "person_info"."person_id" = "name"."id" LEFT OUTER JOIN "aka_name" ON "name"."id" = "aka_name"."person_id" LEFT OUTER JOIN "cast_info" ON "aka_name"."id" = "cast_info"."person_id" LEFT OUTER JOIN "title" ON "cast_info"."movie_id" = "title"."id" WHERE "name"."imdb_index" IN ('I', 'V', 'III', 'VII', 'VI', 'IX', 'II', 'X') AND "person_info"."info_type_id" <= 17 AND "name"."imdb_index" != '%CLV%' AND "aka_name"."surname_pcode" IN ('B2', 'B62', 'M6', 'J52', 'R2', 'L', 'M2') AND "title"."title" LIKE '%Part%'; +SELECT AVG("char_name"."id") as agg_0, COUNT(*) as agg_1 FROM "movie_info" LEFT OUTER JOIN "title" ON "movie_info"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_keyword" ON "title"."id" = "movie_keyword"."movie_id" LEFT OUTER JOIN "keyword" ON "movie_keyword"."keyword_id" = "keyword"."id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" LEFT OUTER JOIN "char_name" ON "cast_info"."person_role_id" = "char_name"."id" LEFT OUTER JOIN "aka_name" ON "cast_info"."person_id" = "aka_name"."id" LEFT OUTER JOIN "movie_info_idx" ON "title"."id" = "movie_info_idx"."movie_id" LEFT OUTER JOIN "info_type" ON "movie_info_idx"."info_type_id" = "info_type"."id" WHERE "char_name"."surname_pcode" LIKE '%M5%' AND "title"."title" NOT LIKE '%o%f%' AND "movie_keyword"."keyword_id" >= 804 AND "keyword"."phonetic_code" LIKE '%R1652%' AND "aka_name"."id" IS NOT NULL AND "info_type"."id" IS NOT NULL; +SELECT MIN("cast_info"."person_id") as agg_0, SUM("aka_name"."id") as agg_1 FROM "person_info" LEFT OUTER JOIN "name" ON "person_info"."person_id" = "name"."id" LEFT OUTER JOIN "aka_name" ON "name"."id" = "aka_name"."person_id" LEFT OUTER JOIN "cast_info" ON "aka_name"."id" = "cast_info"."person_id" LEFT OUTER JOIN "char_name" ON "cast_info"."person_role_id" = "char_name"."id" LEFT OUTER JOIN "title" ON "cast_info"."movie_id" = "title"."id" WHERE "aka_name"."id" <= 478357 AND "title"."episode_of_id" BETWEEN 52135.158981448876 AND 1049341.9741794132 AND "person_info"."info_type_id" >= 20 AND "char_name"."id" >= 3059377 AND "name"."surname_pcode" IN ('R2', 'M6', 'S53'); +SELECT SUM("title"."episode_of_id") as agg_0 FROM "keyword" LEFT OUTER JOIN "movie_keyword" ON "keyword"."id" = "movie_keyword"."keyword_id" LEFT OUTER JOIN "title" ON "movie_keyword"."movie_id" = "title"."id" WHERE "movie_keyword"."keyword_id" >= 168 AND "title"."title" LIKE '%of%' AND "title"."kind_id" BETWEEN 1 AND 7 AND ("keyword"."phonetic_code" NOT LIKE '%R1%652%' OR "keyword"."phonetic_code" LIKE '%R16%52%') AND "title"."imdb_index" != '%XXIII%' AND "movie_keyword"."movie_id" >= 163585; +SELECT AVG("title"."episode_of_id") as agg_0, SUM("cast_info"."movie_id") as agg_1 FROM "info_type" LEFT OUTER JOIN "movie_info_idx" ON "info_type"."id" = "movie_info_idx"."info_type_id" LEFT OUTER JOIN "title" ON "movie_info_idx"."movie_id" = "title"."id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" LEFT OUTER JOIN "char_name" ON "cast_info"."person_role_id" = "char_name"."id" LEFT OUTER JOIN "aka_name" ON "cast_info"."person_id" = "aka_name"."id" LEFT OUTER JOIN "movie_keyword" ON "title"."id" = "movie_keyword"."movie_id" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" LEFT OUTER JOIN "keyword" ON "movie_keyword"."keyword_id" = "keyword"."id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" WHERE "char_name"."surname_pcode" NOT LIKE '%M%5%' AND "movie_info"."info_type_id" BETWEEN 1 AND 91 AND "info_type"."info" IN ('LD video standard', 'runtimes') AND "aka_name"."id" IS NOT NULL AND "keyword"."id" IS NOT NULL AND "movie_companies"."movie_id" IS NOT NULL; +SELECT AVG("title"."season_nr") as agg_0, SUM("title"."kind_id") as agg_1 FROM "char_name" LEFT OUTER JOIN "cast_info" ON "char_name"."id" = "cast_info"."person_role_id" LEFT OUTER JOIN "title" ON "cast_info"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "kind_type" ON "title"."kind_id" = "kind_type"."id" LEFT OUTER JOIN "company_type" ON "movie_companies"."company_type_id" = "company_type"."id" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" LEFT OUTER JOIN "company_name" ON "movie_companies"."company_id" = "company_name"."id" WHERE "movie_companies"."note" LIKE '%(%all%' AND "company_type"."id" != 1 AND "title"."title" LIKE '%to%' AND "kind_type"."id" IS NOT NULL AND "movie_info"."movie_id" IS NOT NULL AND "company_name"."id" IS NOT NULL; +SELECT COUNT(*) as agg_0 FROM "person_info" LEFT OUTER JOIN "name" ON "person_info"."person_id" = "name"."id" LEFT OUTER JOIN "aka_name" ON "name"."id" = "aka_name"."person_id" LEFT OUTER JOIN "cast_info" ON "aka_name"."id" = "cast_info"."person_id" WHERE "cast_info"."note" NOT LIKE '%Ch%arlie%' AND "aka_name"."name_pcode_cf" NOT LIKE '%A5362%' AND "name"."imdb_index" LIKE '%I%II%'; +SELECT COUNT(*) as agg_0, COUNT(*) as agg_1 FROM "movie_info_idx" LEFT OUTER JOIN "title" ON "movie_info_idx"."movie_id" = "title"."id" LEFT OUTER JOIN "info_type" ON "movie_info_idx"."info_type_id" = "info_type"."id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "company_type" ON "movie_companies"."company_type_id" = "company_type"."id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" LEFT OUTER JOIN "movie_keyword" ON "title"."id" = "movie_keyword"."movie_id" WHERE "movie_info_idx"."info" NOT LIKE '%7.%2%' AND "title"."episode_nr" <= 3.21731820643979 AND "company_type"."kind" LIKE '%comp%anies%' AND "info_type"."id" IS NOT NULL AND "cast_info"."movie_id" IS NOT NULL AND "movie_keyword"."movie_id" IS NOT NULL; +SELECT SUM("movie_info_idx"."id") as agg_0 FROM "movie_info_idx" LEFT OUTER JOIN "title" ON "movie_info_idx"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_keyword" ON "title"."id" = "movie_keyword"."movie_id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" LEFT OUTER JOIN "char_name" ON "cast_info"."person_role_id" = "char_name"."id" WHERE "movie_info_idx"."info" NOT LIKE '%7%.5%' AND "title"."episode_nr" IS NOT NULL AND "title"."title" NOT LIKE '%t%he%' AND "movie_keyword"."movie_id" IS NOT NULL AND "movie_info"."movie_id" IS NOT NULL AND "char_name"."id" IS NOT NULL; +SELECT SUM("movie_keyword"."keyword_id") as agg_0, MIN("movie_companies"."id") as agg_1 FROM "keyword" LEFT OUTER JOIN "movie_keyword" ON "keyword"."id" = "movie_keyword"."keyword_id" LEFT OUTER JOIN "title" ON "movie_keyword"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" WHERE "keyword"."phonetic_code" LIKE '%R165%2%' AND "cast_info"."role_id" <= 2 AND "title"."title" NOT LIKE '%a%nd%' AND ("movie_companies"."movie_id" >= 2380384 OR "movie_companies"."movie_id" >= 2112225) AND "movie_companies"."note" LIKE '%(Ph%ilippines)%'; +SELECT AVG("title"."id") as agg_0, AVG("title"."episode_nr") as agg_1 FROM "company_type" LEFT OUTER JOIN "movie_companies" ON "company_type"."id" = "movie_companies"."company_type_id" LEFT OUTER JOIN "company_name" ON "movie_companies"."company_id" = "company_name"."id" LEFT OUTER JOIN "title" ON "movie_companies"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" LEFT OUTER JOIN "movie_keyword" ON "title"."id" = "movie_keyword"."movie_id" LEFT OUTER JOIN "keyword" ON "movie_keyword"."keyword_id" = "keyword"."id" WHERE "movie_info"."info" LIKE '%English%' AND "company_name"."name" NOT LIKE '%Internati%onal%' AND "company_type"."id" = 1 AND "movie_keyword"."movie_id" BETWEEN 1802175 AND 2228975 AND "keyword"."id" IS NOT NULL; +SELECT SUM("title"."season_nr") as agg_0 FROM "movie_info_idx" LEFT OUTER JOIN "info_type" ON "movie_info_idx"."info_type_id" = "info_type"."id" LEFT OUTER JOIN "title" ON "movie_info_idx"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "movie_keyword" ON "title"."id" = "movie_keyword"."movie_id" WHERE "movie_companies"."note" LIKE '%airing%)%' AND "info_type"."info" NOT LIKE '%disc%' AND "movie_info_idx"."id" BETWEEN 747086 AND 1122226 AND "movie_info"."movie_id" IS NOT NULL AND "movie_keyword"."movie_id" IS NOT NULL; +SELECT COUNT(*) as agg_0, MIN("title"."production_year") as agg_1 FROM "name" LEFT OUTER JOIN "aka_name" ON "name"."id" = "aka_name"."person_id" LEFT OUTER JOIN "cast_info" ON "aka_name"."id" = "cast_info"."person_id" LEFT OUTER JOIN "person_info" ON "name"."id" = "person_info"."person_id" LEFT OUTER JOIN "char_name" ON "cast_info"."person_role_id" = "char_name"."id" LEFT OUTER JOIN "title" ON "cast_info"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" LEFT OUTER JOIN "kind_type" ON "title"."kind_id" = "kind_type"."id" WHERE "cast_info"."note" NOT LIKE '%(voice)%' AND ("name"."id" BETWEEN 56440 AND 2728069 OR ("name"."name" NOT LIKE '%Baker%,%' AND "name"."id" >= 495364)) AND "name"."surname_pcode" NOT LIKE '%A%25%' AND "cast_info"."movie_id" <= 2499090 AND "person_info"."person_id" IS NOT NULL AND "char_name"."id" IS NOT NULL AND "movie_info"."movie_id" IS NOT NULL AND "kind_type"."id" IS NOT NULL; +SELECT AVG("person_info"."person_id") as agg_0 FROM "name" LEFT OUTER JOIN "person_info" ON "name"."id" = "person_info"."person_id" LEFT OUTER JOIN "aka_name" ON "name"."id" = "aka_name"."person_id" LEFT OUTER JOIN "cast_info" ON "aka_name"."id" = "cast_info"."person_id" LEFT OUTER JOIN "char_name" ON "cast_info"."person_role_id" = "char_name"."id" LEFT OUTER JOIN "title" ON "cast_info"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "kind_type" ON "title"."kind_id" = "kind_type"."id" WHERE "person_info"."id" BETWEEN 627757 AND 2469190 AND "char_name"."surname_pcode" NOT LIKE '%M5%' AND "aka_name"."surname_pcode" NOT LIKE '%B6%' AND "person_info"."info" NOT LIKE '%at%' AND "aka_name"."person_id" <= 3359148 AND "person_info"."person_id" <= 1705510 AND "movie_companies"."movie_id" IS NOT NULL AND "kind_type"."id" IS NOT NULL; +SELECT COUNT(*) as agg_0 FROM "movie_info_idx" LEFT OUTER JOIN "info_type" ON "movie_info_idx"."info_type_id" = "info_type"."id" LEFT OUTER JOIN "title" ON "movie_info_idx"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" LEFT OUTER JOIN "kind_type" ON "title"."kind_id" = "kind_type"."id" LEFT OUTER JOIN "company_type" ON "movie_companies"."company_type_id" = "company_type"."id" LEFT OUTER JOIN "char_name" ON "cast_info"."person_role_id" = "char_name"."id" LEFT OUTER JOIN "aka_name" ON "cast_info"."person_id" = "aka_name"."id" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" LEFT OUTER JOIN "company_name" ON "movie_companies"."company_id" = "company_name"."id" WHERE "char_name"."id" <= 2961710 AND "movie_info"."movie_id" <= 1148074 AND "title"."production_year" >= 1939.914270019667 AND "info_type"."id" >= 33 AND "kind_type"."id" IS NOT NULL AND "company_type"."id" IS NOT NULL AND "aka_name"."id" IS NOT NULL AND "company_name"."id" IS NOT NULL; +SELECT SUM("movie_companies"."company_type_id") as agg_0 FROM "company_name" LEFT OUTER JOIN "movie_companies" ON "company_name"."id" = "movie_companies"."company_id" LEFT OUTER JOIN "title" ON "movie_companies"."movie_id" = "title"."id" LEFT OUTER JOIN "company_type" ON "movie_companies"."company_type_id" = "company_type"."id" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" LEFT OUTER JOIN "movie_info_idx" ON "title"."id" = "movie_info_idx"."movie_id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" WHERE ("movie_info_idx"."movie_id" <= 1415745 OR "movie_info_idx"."movie_id" >= 2520207 OR "movie_info_idx"."movie_id" >= 1802165) AND ("company_type"."kind" NOT LIKE '%co%mpanies%' OR ("company_type"."kind" = '%distributors%' AND "company_type"."kind" != '%distributors%')) AND ("title"."kind_id" <= 6 OR ("title"."kind_id" BETWEEN 7 AND 8 AND "title"."kind_id" <= 1)) AND "movie_companies"."note" LIKE '%(2002)%' AND "movie_info"."movie_id" BETWEEN 848324 AND 2121788 AND "cast_info"."note" NOT LIKE '%Charlie%'; +SELECT SUM("movie_keyword"."keyword_id") as agg_0, SUM("title"."episode_nr") as agg_1 FROM "title" LEFT OUTER JOIN "movie_keyword" ON "title"."id" = "movie_keyword"."movie_id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" WHERE "cast_info"."note" LIKE '%(as%' AND "movie_keyword"."movie_id" <= 1756597 AND "cast_info"."role_id" != 7; +SELECT COUNT(*) as agg_0 FROM "kind_type" LEFT OUTER JOIN "title" ON "kind_type"."id" = "title"."kind_id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "movie_info_idx" ON "title"."id" = "movie_info_idx"."movie_id" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" LEFT OUTER JOIN "char_name" ON "cast_info"."person_role_id" = "char_name"."id" WHERE "char_name"."id" >= 2894719 AND "movie_info"."movie_id" >= 745433 AND "movie_info_idx"."info" NOT LIKE '%7.4%' AND "title"."production_year" <= 2010.6724207725865 AND "cast_info"."person_role_id" IS NOT NULL AND "movie_companies"."movie_id" IS NOT NULL; +SELECT MAX("cast_info"."movie_id") as agg_0, MAX("movie_info_idx"."id") as agg_1 FROM "company_name" LEFT OUTER JOIN "movie_companies" ON "company_name"."id" = "movie_companies"."company_id" LEFT OUTER JOIN "title" ON "movie_companies"."movie_id" = "title"."id" LEFT OUTER JOIN "kind_type" ON "title"."kind_id" = "kind_type"."id" LEFT OUTER JOIN "movie_keyword" ON "title"."id" = "movie_keyword"."movie_id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" LEFT OUTER JOIN "movie_info_idx" ON "title"."id" = "movie_info_idx"."movie_id" WHERE "kind_type"."kind" LIKE '%t%v%' AND ("cast_info"."note" LIKE '%(archive%' OR "cast_info"."nr_order" <= 6.8791693729465875) AND ("title"."title" LIKE '%th%e%' OR "title"."title" LIKE '%de%') AND "movie_keyword"."movie_id" IS NOT NULL; +SELECT SUM("title"."id") as agg_0, AVG("title"."id") as agg_1 FROM "movie_info_idx" LEFT OUTER JOIN "info_type" ON "movie_info_idx"."info_type_id" = "info_type"."id" LEFT OUTER JOIN "title" ON "movie_info_idx"."movie_id" = "title"."id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "kind_type" ON "title"."kind_id" = "kind_type"."id" WHERE "cast_info"."note" LIKE '%(voice)%' AND "cast_info"."movie_id" >= 700175 AND "kind_type"."kind" LIKE '%vid%eo%' AND "kind_type"."kind" LIKE '%mo%vie%' AND "cast_info"."person_role_id" BETWEEN 7194.075101552766 AND 2289091.4679697193 AND "title"."title" NOT LIKE '%of%' AND "info_type"."id" IS NOT NULL AND "movie_companies"."movie_id" IS NOT NULL; +SELECT SUM("kind_type"."id") as agg_0, COUNT(*) as agg_1 FROM "kind_type" LEFT OUTER JOIN "title" ON "kind_type"."id" = "title"."kind_id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "movie_keyword" ON "title"."id" = "movie_keyword"."movie_id" LEFT OUTER JOIN "keyword" ON "movie_keyword"."keyword_id" = "keyword"."id" WHERE "title"."title" NOT LIKE '%t%he%' AND "movie_companies"."company_type_id" != 2 AND "kind_type"."id" BETWEEN 2 AND 6 AND "kind_type"."kind" IN ('tv mini series', 'video movie', 'video game', 'tv series', 'tv movie') AND "keyword"."id" IS NOT NULL; +SELECT MAX("title"."season_nr") as agg_0, COUNT(*) as agg_1 FROM "company_name" LEFT OUTER JOIN "movie_companies" ON "company_name"."id" = "movie_companies"."company_id" LEFT OUTER JOIN "company_type" ON "movie_companies"."company_type_id" = "company_type"."id" LEFT OUTER JOIN "title" ON "movie_companies"."movie_id" = "title"."id" WHERE "title"."title" NOT LIKE '%t%he%' AND "company_type"."kind" NOT LIKE '%companies%' AND "company_type"."id" = 1; +SELECT MAX("title"."id") as agg_0 FROM "keyword" LEFT OUTER JOIN "movie_keyword" ON "keyword"."id" = "movie_keyword"."keyword_id" LEFT OUTER JOIN "title" ON "movie_keyword"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" WHERE "movie_keyword"."id" BETWEEN 2856421 AND 3084643 AND ("cast_info"."person_id" >= 3476556 OR ("cast_info"."nr_order" BETWEEN 3.967167402591058 AND 16.127252967135764 AND "cast_info"."person_id" <= 3800716)) AND "cast_info"."note" LIKE '%Charlie%' AND "keyword"."phonetic_code" NOT LIKE '%R1%652%' AND "movie_info"."movie_id" IS NOT NULL; +SELECT MAX("title"."episode_of_id") as agg_0, COUNT(*) as agg_1 FROM "kind_type" LEFT OUTER JOIN "title" ON "kind_type"."id" = "title"."kind_id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "movie_info_idx" ON "title"."id" = "movie_info_idx"."movie_id" LEFT OUTER JOIN "movie_keyword" ON "title"."id" = "movie_keyword"."movie_id" LEFT OUTER JOIN "keyword" ON "movie_keyword"."keyword_id" = "keyword"."id" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" WHERE "cast_info"."nr_order" BETWEEN 6.732537584836974 AND 889668261.5374866 AND "movie_companies"."company_id" <= 127032 AND ("title"."imdb_index" != '%XXIII%' OR ("title"."imdb_index" = '%VIII%' AND "title"."imdb_index" IN ('II', 'X', 'IX', 'VII', 'I', 'VI', 'VIII', 'III'))) AND "title"."title" NOT LIKE '%in%' AND "cast_info"."note" LIKE '%footage)%' AND "movie_info_idx"."movie_id" IS NOT NULL AND "keyword"."id" IS NOT NULL AND "movie_info"."movie_id" IS NOT NULL; +SELECT MIN("cast_info"."role_id") as agg_0, MIN("title"."id") as agg_1 FROM "char_name" LEFT OUTER JOIN "cast_info" ON "char_name"."id" = "cast_info"."person_role_id" LEFT OUTER JOIN "title" ON "cast_info"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "movie_info_idx" ON "title"."id" = "movie_info_idx"."movie_id" LEFT OUTER JOIN "kind_type" ON "title"."kind_id" = "kind_type"."id" LEFT OUTER JOIN "info_type" ON "movie_info_idx"."info_type_id" = "info_type"."id" LEFT OUTER JOIN "company_name" ON "movie_companies"."company_id" = "company_name"."id" WHERE "movie_companies"."note" NOT LIKE '%(2010%)%' AND "movie_companies"."company_type_id" BETWEEN 1 AND 2 AND "movie_info_idx"."info_type_id" != 101 AND "kind_type"."id" IS NOT NULL AND "info_type"."id" IS NOT NULL AND "company_name"."id" IS NOT NULL; +SELECT MAX("kind_type"."id") as agg_0, SUM("movie_keyword"."movie_id") as agg_1 FROM "cast_info" LEFT OUTER JOIN "char_name" ON "cast_info"."person_role_id" = "char_name"."id" LEFT OUTER JOIN "title" ON "cast_info"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_info_idx" ON "title"."id" = "movie_info_idx"."movie_id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "info_type" ON "movie_info_idx"."info_type_id" = "info_type"."id" LEFT OUTER JOIN "company_name" ON "movie_companies"."company_id" = "company_name"."id" LEFT OUTER JOIN "kind_type" ON "title"."kind_id" = "kind_type"."id" LEFT OUTER JOIN "movie_keyword" ON "title"."id" = "movie_keyword"."movie_id" WHERE "cast_info"."note" NOT LIKE '%Adler)%' AND ("cast_info"."id" >= 24811259 OR "cast_info"."id" >= 31234127 OR "cast_info"."id" >= 25045707) AND "movie_info_idx"."info" NOT LIKE '%7.%2%' AND "movie_keyword"."keyword_id" >= 33663 AND "movie_companies"."company_id" >= 88821 AND "company_name"."name" NOT LIKE '%Studios%' AND "char_name"."id" IS NOT NULL AND "info_type"."id" IS NOT NULL; +SELECT MIN("cast_info"."person_role_id") as agg_0, MIN("movie_info_idx"."info_type_id") as agg_1 FROM "title" LEFT OUTER JOIN "movie_info_idx" ON "title"."id" = "movie_info_idx"."movie_id" LEFT OUTER JOIN "kind_type" ON "title"."kind_id" = "kind_type"."id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" WHERE ("kind_type"."kind" = '%tv movie%' OR "kind_type"."id" >= 3) AND "cast_info"."person_id" BETWEEN 898867 AND 2897316 AND "cast_info"."person_role_id" >= 121890.25101650575 AND "movie_companies"."movie_id" IS NOT NULL; +SELECT SUM("movie_info"."id") as agg_0 FROM "company_type" LEFT OUTER JOIN "movie_companies" ON "company_type"."id" = "movie_companies"."company_type_id" LEFT OUTER JOIN "title" ON "movie_companies"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" LEFT OUTER JOIN "movie_info_idx" ON "title"."id" = "movie_info_idx"."movie_id" WHERE "title"."production_year" >= 2010.1559005092643 AND ("movie_info"."id" BETWEEN 4613509 AND 7710047 OR "movie_info"."id" BETWEEN 8652307 AND 12560379 OR "movie_info"."id" >= 6752388) AND "movie_info"."info" NOT LIKE '%Engl%ish%' AND "movie_companies"."company_id" <= 5947 AND ("movie_info_idx"."movie_id" >= 1531491 OR "movie_info_idx"."info_type_id" != 99) AND "cast_info"."movie_id" IS NOT NULL; +SELECT MIN("movie_info"."movie_id") as agg_0, COUNT(*) as agg_1 FROM "title" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" LEFT OUTER JOIN "kind_type" ON "title"."kind_id" = "kind_type"."id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" WHERE "cast_info"."note" NOT LIKE '%(uncredited)%' AND ("title"."title" LIKE '%to%' OR ("title"."title" NOT LIKE '%the%' AND "title"."title" LIKE '%o%f%')) AND ("cast_info"."person_id" <= 3197005 OR "cast_info"."person_id" BETWEEN 2806273 AND 3199954) AND ("cast_info"."role_id" BETWEEN 1 AND 2 OR ("cast_info"."person_role_id" >= 2491803.836663075 AND "cast_info"."role_id" >= 2)) AND "kind_type"."id" IS NOT NULL; +SELECT COUNT(*) as agg_0, AVG("movie_info_idx"."id") as agg_1 FROM "movie_info" LEFT OUTER JOIN "title" ON "movie_info"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_info_idx" ON "title"."id" = "movie_info_idx"."movie_id" LEFT OUTER JOIN "info_type" ON "movie_info_idx"."info_type_id" = "info_type"."id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" LEFT OUTER JOIN "char_name" ON "cast_info"."person_role_id" = "char_name"."id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "kind_type" ON "title"."kind_id" = "kind_type"."id" LEFT OUTER JOIN "aka_name" ON "cast_info"."person_id" = "aka_name"."id" LEFT OUTER JOIN "name" ON "aka_name"."person_id" = "name"."id" WHERE "title"."title" NOT LIKE '%de%' AND "name"."imdb_index" IS NULL AND "title"."season_nr" <= 1.0 AND "info_type"."id" IS NOT NULL AND "char_name"."id" IS NOT NULL AND "movie_companies"."movie_id" IS NOT NULL AND "kind_type"."id" IS NOT NULL; +SELECT AVG("cast_info"."id") as agg_0, MIN("movie_companies"."id") as agg_1 FROM "movie_companies" LEFT OUTER JOIN "title" ON "movie_companies"."movie_id" = "title"."id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" LEFT OUTER JOIN "aka_name" ON "cast_info"."person_id" = "aka_name"."id" LEFT OUTER JOIN "company_name" ON "movie_companies"."company_id" = "company_name"."id" LEFT OUTER JOIN "movie_keyword" ON "title"."id" = "movie_keyword"."movie_id" LEFT OUTER JOIN "char_name" ON "cast_info"."person_role_id" = "char_name"."id" WHERE "movie_companies"."note" LIKE '%(original%' AND "company_name"."country_code" NOT LIKE '%[d%e]%' AND "cast_info"."note" NOT LIKE '%(archive%' AND "cast_info"."movie_id" >= 1576471 AND "company_name"."name" NOT LIKE '%F%ilm%' AND "aka_name"."id" IS NOT NULL AND "movie_keyword"."movie_id" IS NOT NULL AND "char_name"."id" IS NOT NULL; +SELECT COUNT(*) as agg_0, MIN("name"."id") as agg_1 FROM "name" LEFT OUTER JOIN "aka_name" ON "name"."id" = "aka_name"."person_id" LEFT OUTER JOIN "cast_info" ON "aka_name"."id" = "cast_info"."person_id" LEFT OUTER JOIN "char_name" ON "cast_info"."person_role_id" = "char_name"."id" LEFT OUTER JOIN "person_info" ON "name"."id" = "person_info"."person_id" LEFT OUTER JOIN "title" ON "cast_info"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_keyword" ON "title"."id" = "movie_keyword"."movie_id" LEFT OUTER JOIN "movie_info_idx" ON "title"."id" = "movie_info_idx"."movie_id" LEFT OUTER JOIN "info_type" ON "movie_info_idx"."info_type_id" = "info_type"."id" LEFT OUTER JOIN "kind_type" ON "title"."kind_id" = "kind_type"."id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" WHERE ("movie_info_idx"."movie_id" <= 723469 OR ("movie_info_idx"."info" NOT LIKE '%1%0%' AND "movie_info_idx"."movie_id" >= 415483)) AND "kind_type"."kind" NOT LIKE '%m%ovie%' AND ("aka_name"."name" LIKE '%Brown,%' OR "aka_name"."imdb_index" IN ('II', 'III', 'I')) AND "char_name"."id" IS NOT NULL AND "person_info"."person_id" IS NOT NULL AND "movie_keyword"."movie_id" IS NOT NULL AND "info_type"."id" IS NOT NULL AND "movie_companies"."movie_id" IS NOT NULL; +SELECT AVG("cast_info"."movie_id") as agg_0, SUM("title"."production_year") as agg_1 FROM "char_name" LEFT OUTER JOIN "cast_info" ON "char_name"."id" = "cast_info"."person_role_id" LEFT OUTER JOIN "title" ON "cast_info"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" WHERE ("char_name"."imdb_index" = '%IV%' OR "char_name"."name" NOT LIKE '%de%') AND "movie_info"."info" NOT LIKE '%Japanese%' AND "title"."series_years" IN ('2011-????', '2003-????', '2007-????', '2008-????', '2004-????', '2010-????') AND "char_name"."surname_pcode" LIKE '%M%5%'; +SELECT SUM("title"."episode_nr") as agg_0 FROM "person_info" LEFT OUTER JOIN "name" ON "person_info"."person_id" = "name"."id" LEFT OUTER JOIN "aka_name" ON "name"."id" = "aka_name"."person_id" LEFT OUTER JOIN "cast_info" ON "aka_name"."id" = "cast_info"."person_id" LEFT OUTER JOIN "title" ON "cast_info"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" LEFT OUTER JOIN "char_name" ON "cast_info"."person_role_id" = "char_name"."id" LEFT OUTER JOIN "kind_type" ON "title"."kind_id" = "kind_type"."id" LEFT OUTER JOIN "movie_info_idx" ON "title"."id" = "movie_info_idx"."movie_id" WHERE "title"."title" NOT LIKE '%an%d%' AND "name"."name_pcode_cf" NOT LIKE '%A4253%' AND "aka_name"."person_id" <= 534833 AND "movie_info"."movie_id" IS NOT NULL AND "char_name"."id" IS NOT NULL AND "kind_type"."id" IS NOT NULL AND "movie_info_idx"."movie_id" IS NOT NULL; +SELECT MIN("movie_companies"."company_id") as agg_0, MAX("title"."kind_id") as agg_1 FROM "movie_companies" LEFT OUTER JOIN "title" ON "movie_companies"."movie_id" = "title"."id" LEFT OUTER JOIN "company_type" ON "movie_companies"."company_type_id" = "company_type"."id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" LEFT OUTER JOIN "char_name" ON "cast_info"."person_role_id" = "char_name"."id" LEFT OUTER JOIN "kind_type" ON "title"."kind_id" = "kind_type"."id" LEFT OUTER JOIN "movie_keyword" ON "title"."id" = "movie_keyword"."movie_id" LEFT OUTER JOIN "keyword" ON "movie_keyword"."keyword_id" = "keyword"."id" LEFT OUTER JOIN "aka_name" ON "cast_info"."person_id" = "aka_name"."id" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" LEFT OUTER JOIN "company_name" ON "movie_companies"."company_id" = "company_name"."id" WHERE "kind_type"."kind" NOT LIKE '%t%v%' AND "company_type"."kind" NOT LIKE '%compa%nies%' AND "movie_info"."info" LIKE '%Engl%ish%' AND "char_name"."id" >= 2571126 AND "movie_keyword"."keyword_id" <= 1533 AND "movie_companies"."id" BETWEEN 1122567 AND 2366347 AND "keyword"."id" IS NOT NULL AND "aka_name"."id" IS NOT NULL AND "company_name"."id" IS NOT NULL; +SELECT AVG("cast_info"."id") as agg_0, MIN("movie_companies"."id") as agg_1 FROM "company_type" LEFT OUTER JOIN "movie_companies" ON "company_type"."id" = "movie_companies"."company_type_id" LEFT OUTER JOIN "company_name" ON "movie_companies"."company_id" = "company_name"."id" LEFT OUTER JOIN "title" ON "movie_companies"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_info_idx" ON "title"."id" = "movie_info_idx"."movie_id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" LEFT OUTER JOIN "info_type" ON "movie_info_idx"."info_type_id" = "info_type"."id" WHERE "company_name"."id" >= 132038 AND ("company_type"."kind" NOT LIKE '%companies%' OR "company_type"."id" BETWEEN 2 AND 3) AND "company_name"."country_code" != '%[tw]%' AND "movie_info_idx"."info" NOT LIKE '%6.8%' AND "movie_info_idx"."info_type_id" BETWEEN 100 AND 101 AND "info_type"."id" IS NOT NULL; +SELECT COUNT(*) as agg_0, AVG("movie_info"."info_type_id") as agg_1 FROM "movie_info" LEFT OUTER JOIN "title" ON "movie_info"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_info_idx" ON "title"."id" = "movie_info_idx"."movie_id" WHERE "movie_info_idx"."id" BETWEEN 372846 AND 1282371 AND "movie_info"."movie_id" >= 367677 AND "movie_info"."info" LIKE '%German%' AND ("movie_info_idx"."info" NOT LIKE '%7.3%' OR "movie_info_idx"."movie_id" >= 1195497) AND "movie_info"."info_type_id" >= 17; +SELECT AVG("cast_info"."person_role_id") as agg_0 FROM "kind_type" LEFT OUTER JOIN "title" ON "kind_type"."id" = "title"."kind_id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "company_name" ON "movie_companies"."company_id" = "company_name"."id" LEFT OUTER JOIN "company_type" ON "movie_companies"."company_type_id" = "company_type"."id" LEFT OUTER JOIN "aka_name" ON "cast_info"."person_id" = "aka_name"."id" LEFT OUTER JOIN "movie_info_idx" ON "title"."id" = "movie_info_idx"."movie_id" LEFT OUTER JOIN "info_type" ON "movie_info_idx"."info_type_id" = "info_type"."id" WHERE "cast_info"."note" LIKE '%(a%s%' AND "movie_info_idx"."info" NOT LIKE '%7.5%' AND ("company_name"."id" >= 164123 OR "company_name"."country_code" IN ('[de]', '[in]', '[au]', '[it]', '[jp]', '[gb]') OR "company_name"."id" <= 138) AND "kind_type"."id" BETWEEN 3 AND 5 AND "kind_type"."kind" NOT LIKE '%vi%deo%' AND "company_type"."id" IS NOT NULL AND "aka_name"."id" IS NOT NULL AND "info_type"."id" IS NOT NULL; +SELECT MIN("company_name"."id") as agg_0 FROM "company_name" LEFT OUTER JOIN "movie_companies" ON "company_name"."id" = "movie_companies"."company_id" LEFT OUTER JOIN "company_type" ON "movie_companies"."company_type_id" = "company_type"."id" LEFT OUTER JOIN "title" ON "movie_companies"."movie_id" = "title"."id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" WHERE "title"."title" LIKE '%a%nd%' AND ("movie_info"."info" LIKE '%English%' OR "movie_info"."id" <= 2039271 OR "movie_info"."info" NOT LIKE '%Spanish%') AND ("company_name"."country_code" != '%[aw]%' OR "company_name"."country_code" IN ('[es]') OR "company_name"."country_code" != '%[az]%') AND "company_name"."country_code" IS NOT NULL AND "movie_companies"."note" NOT LIKE '%(original%' AND "company_type"."id" IS NOT NULL AND "cast_info"."movie_id" IS NOT NULL; +SELECT MIN("keyword"."id") as agg_0 FROM "title" LEFT OUTER JOIN "movie_keyword" ON "title"."id" = "movie_keyword"."movie_id" LEFT OUTER JOIN "kind_type" ON "title"."kind_id" = "kind_type"."id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" LEFT OUTER JOIN "keyword" ON "movie_keyword"."keyword_id" = "keyword"."id" LEFT OUTER JOIN "aka_name" ON "cast_info"."person_id" = "aka_name"."id" LEFT OUTER JOIN "char_name" ON "cast_info"."person_role_id" = "char_name"."id" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" LEFT OUTER JOIN "name" ON "aka_name"."person_id" = "name"."id" LEFT OUTER JOIN "company_name" ON "movie_companies"."company_id" = "company_name"."id" WHERE "movie_companies"."company_id" >= 11985 AND "name"."gender" = '%m%' AND "company_name"."country_code" IN ('[gb]', '[ca]', '[jp]') AND "title"."imdb_index" IN ('IX', 'VI', 'VII', 'III', 'V', 'VIII', 'IV', 'I', 'II') AND "movie_companies"."note" NOT LIKE '%(2012%)%' AND "kind_type"."id" IS NOT NULL AND "char_name"."id" IS NOT NULL AND "movie_info"."movie_id" IS NOT NULL; +SELECT SUM("person_info"."id") as agg_0, MAX("title"."id") as agg_1 FROM "char_name" LEFT OUTER JOIN "cast_info" ON "char_name"."id" = "cast_info"."person_role_id" LEFT OUTER JOIN "aka_name" ON "cast_info"."person_id" = "aka_name"."id" LEFT OUTER JOIN "name" ON "aka_name"."person_id" = "name"."id" LEFT OUTER JOIN "person_info" ON "name"."id" = "person_info"."person_id" LEFT OUTER JOIN "title" ON "cast_info"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" WHERE "name"."id" BETWEEN 2277222 AND 2846306 AND ("movie_info"."movie_id" >= 1162976 OR "movie_info"."id" >= 8213430) AND "movie_info"."info" NOT LIKE '%Japa%nese%' AND "title"."title" NOT LIKE '%the%' AND "name"."gender" IN ('f') AND "char_name"."name_pcode_nf" NOT LIKE '%H5241%' AND "movie_companies"."movie_id" IS NOT NULL; +SELECT COUNT(*) as agg_0 FROM "person_info" LEFT OUTER JOIN "name" ON "person_info"."person_id" = "name"."id" LEFT OUTER JOIN "aka_name" ON "name"."id" = "aka_name"."person_id" LEFT OUTER JOIN "cast_info" ON "aka_name"."id" = "cast_info"."person_id" LEFT OUTER JOIN "char_name" ON "cast_info"."person_role_id" = "char_name"."id" LEFT OUTER JOIN "title" ON "cast_info"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "movie_info_idx" ON "title"."id" = "movie_info_idx"."movie_id" LEFT OUTER JOIN "kind_type" ON "title"."kind_id" = "kind_type"."id" WHERE "title"."season_nr" >= 1.0 AND "movie_info_idx"."id" <= 678106 AND "char_name"."name_pcode_nf" NOT LIKE '%H524%1%' AND "movie_companies"."movie_id" IS NOT NULL AND "kind_type"."id" IS NOT NULL; +SELECT AVG("cast_info"."id") as agg_0, MIN("movie_keyword"."movie_id") as agg_1 FROM "aka_name" LEFT OUTER JOIN "name" ON "aka_name"."person_id" = "name"."id" LEFT OUTER JOIN "person_info" ON "name"."id" = "person_info"."person_id" LEFT OUTER JOIN "cast_info" ON "aka_name"."id" = "cast_info"."person_id" LEFT OUTER JOIN "title" ON "cast_info"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "movie_keyword" ON "title"."id" = "movie_keyword"."movie_id" WHERE ("cast_info"."note" LIKE '%(a%s%' OR "cast_info"."nr_order" BETWEEN 5.8516386524996316 AND 10.057498116648864) AND "movie_companies"."note" LIKE '%(Phili%ppines)%' AND "person_info"."person_id" <= 2134586 AND "name"."imdb_index" NOT LIKE '%I%V%' AND "title"."id" >= 1423665 AND "person_info"."info" NOT LIKE '%played%'; +SELECT SUM("movie_keyword"."id") as agg_0, AVG("movie_info"."movie_id") as agg_1 FROM "char_name" LEFT OUTER JOIN "cast_info" ON "char_name"."id" = "cast_info"."person_role_id" LEFT OUTER JOIN "aka_name" ON "cast_info"."person_id" = "aka_name"."id" LEFT OUTER JOIN "name" ON "aka_name"."person_id" = "name"."id" LEFT OUTER JOIN "title" ON "cast_info"."movie_id" = "title"."id" LEFT OUTER JOIN "person_info" ON "name"."id" = "person_info"."person_id" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" LEFT OUTER JOIN "movie_keyword" ON "title"."id" = "movie_keyword"."movie_id" WHERE ("cast_info"."note" NOT LIKE '%(a%s%' OR "cast_info"."person_role_id" <= 2112763.469975772 OR "cast_info"."note" NOT LIKE '%Charlie%') AND "name"."imdb_index" LIKE '%I%I%' AND "char_name"."id" BETWEEN 132882 AND 2741783 AND "aka_name"."id" <= 279881 AND "person_info"."info" LIKE '%when%' AND "movie_info"."info" NOT LIKE '%Portuguese%'; +SELECT MAX("movie_info"."id") as agg_0 FROM "char_name" LEFT OUTER JOIN "cast_info" ON "char_name"."id" = "cast_info"."person_role_id" LEFT OUTER JOIN "aka_name" ON "cast_info"."person_id" = "aka_name"."id" LEFT OUTER JOIN "title" ON "cast_info"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_info_idx" ON "title"."id" = "movie_info_idx"."movie_id" LEFT OUTER JOIN "name" ON "aka_name"."person_id" = "name"."id" LEFT OUTER JOIN "info_type" ON "movie_info_idx"."info_type_id" = "info_type"."id" LEFT OUTER JOIN "person_info" ON "name"."id" = "person_info"."person_id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" WHERE "info_type"."info" IN ('LD quality of source', 'LD sharpness', 'LD status of availablility', 'LD supplement', 'runtimes') AND "title"."title" NOT LIKE '%de%' AND "movie_companies"."company_type_id" <= 1 AND "movie_info"."info" LIKE '%Japanese%' AND "movie_companies"."note" NOT LIKE '%airin%g)%' AND "person_info"."person_id" IS NOT NULL; +SELECT SUM("movie_keyword"."movie_id") as agg_0 FROM "movie_keyword" LEFT OUTER JOIN "title" ON "movie_keyword"."movie_id" = "title"."id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "movie_info_idx" ON "title"."id" = "movie_info_idx"."movie_id" LEFT OUTER JOIN "company_type" ON "movie_companies"."company_type_id" = "company_type"."id" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" LEFT OUTER JOIN "kind_type" ON "title"."kind_id" = "kind_type"."id" WHERE "movie_companies"."company_type_id" BETWEEN 1 AND 2 AND "cast_info"."note" LIKE '%(voice)%' AND "kind_type"."kind" LIKE '%tv%' AND "movie_companies"."note" LIKE '%(20%01)%' AND "movie_info_idx"."info_type_id" != 100 AND "company_type"."kind" LIKE '%companies%' AND "movie_info"."movie_id" IS NOT NULL; +SELECT SUM("movie_info"."id") as agg_0 FROM "aka_name" LEFT OUTER JOIN "name" ON "aka_name"."person_id" = "name"."id" LEFT OUTER JOIN "person_info" ON "name"."id" = "person_info"."person_id" LEFT OUTER JOIN "cast_info" ON "aka_name"."id" = "cast_info"."person_id" LEFT OUTER JOIN "char_name" ON "cast_info"."person_role_id" = "char_name"."id" LEFT OUTER JOIN "title" ON "cast_info"."movie_id" = "title"."id" LEFT OUTER JOIN "kind_type" ON "title"."kind_id" = "kind_type"."id" LEFT OUTER JOIN "movie_keyword" ON "title"."id" = "movie_keyword"."movie_id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "movie_info_idx" ON "title"."id" = "movie_info_idx"."movie_id" LEFT OUTER JOIN "movie_info" ON "title"."id" = "movie_info"."movie_id" WHERE "movie_companies"."company_id" >= 178 AND ("title"."title" NOT LIKE '%The%' OR ("title"."title" LIKE '%t%he%' AND "title"."title" LIKE '%o%f%')) AND "aka_name"."id" <= 37744 AND "movie_info"."info" NOT LIKE '%Japa%nese%' AND "movie_info_idx"."info" LIKE '%7%.5%' AND "person_info"."person_id" IS NOT NULL AND "char_name"."id" IS NOT NULL AND "kind_type"."id" IS NOT NULL AND "movie_keyword"."movie_id" IS NOT NULL; +SELECT MIN("cast_info"."movie_id") as agg_0 FROM "cast_info" LEFT OUTER JOIN "title" ON "cast_info"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "aka_name" ON "cast_info"."person_id" = "aka_name"."id" LEFT OUTER JOIN "movie_keyword" ON "title"."id" = "movie_keyword"."movie_id" WHERE "cast_info"."note" NOT LIKE '%(uncred%ited)%' AND "title"."title" NOT LIKE '%of%' AND "aka_name"."name_pcode_cf" NOT LIKE '%A536%2%' AND "aka_name"."name" NOT LIKE '%David%' AND "movie_companies"."company_id" <= 672 AND "movie_keyword"."id" >= 2370334; +SELECT MIN("company_name"."id") as agg_0 FROM "movie_keyword" LEFT OUTER JOIN "title" ON "movie_keyword"."movie_id" = "title"."id" LEFT OUTER JOIN "movie_companies" ON "title"."id" = "movie_companies"."movie_id" LEFT OUTER JOIN "company_name" ON "movie_companies"."company_id" = "company_name"."id" LEFT OUTER JOIN "movie_info_idx" ON "title"."id" = "movie_info_idx"."movie_id" LEFT OUTER JOIN "company_type" ON "movie_companies"."company_type_id" = "company_type"."id" LEFT OUTER JOIN "keyword" ON "movie_keyword"."keyword_id" = "keyword"."id" LEFT OUTER JOIN "cast_info" ON "title"."id" = "cast_info"."movie_id" WHERE "cast_info"."note" LIKE '%(as%' AND "movie_companies"."note" LIKE '%(2008%)%' AND "company_type"."kind" IN ('miscellaneous companies', 'special effects companies', 'distributors') AND "company_type"."kind" NOT LIKE '%co%mpanies%' AND "movie_info_idx"."movie_id" IS NOT NULL AND "keyword"."id" IS NOT NULL; diff --git a/tools/calibration/load/redshift/COND b/tools/calibration/load/redshift/COND new file mode 100644 index 00000000..5c2a997d --- /dev/null +++ b/tools/calibration/load/redshift/COND @@ -0,0 +1,51 @@ +from itertools import product + +include("../common.cond") + +INSTANCE_TYPES = [ + "dc2_large", + "ra3_xlplus", +] + +NUM_NODES = [1, 2, 4] + +for instance in INSTANCE_TYPES: + + for nodes in NUM_NODES: + inner_configs = list(product(NUM_CLIENTS, range(NUM_QUERIES))) + group( + name="{}-{}-1-of-2".format(instance, nodes), + deps=[ + ":{}-{}-{}-q{}".format(instance, nodes, *config) + for idx, config in enumerate(inner_configs) if idx % 2 == 0 + ], + ) + + group( + name="{}-{}-2-of-2".format(instance, nodes), + deps=[ + ":{}-{}-{}-q{}".format(instance, nodes, *config) + for idx, config in enumerate(inner_configs) if idx % 2 == 1 + ], + ) + + + run_experiment_group( + name=instance, + run="python3 -m brad.calibration.measure_load", + experiments=[ + ExperimentInstance( + name="{}-{}-{}-q{}".format(instance, nodes, clients, query_idx), + options={ + "num-clients": clients, + "specific-query-idx": query_idx, + "run-for-s": RUN_FOR_S, + "avg-gap-s": AVG_GAP_S, + "wait-before-start": WAIT_BEFORE_START, + "query-file": "../query_bank.sql", + "engine": "redshift", + }, + ) + for nodes, clients, query_idx in product(NUM_NODES, NUM_CLIENTS, range(NUM_QUERIES)) + ], + )