Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Page Limit

edited 3:14AM in Issues
When I'm on searching through poses I guess I reach a page limit.
I know there's more content then this on the servers since I didn't reach the yiffalicious crew's animations yet and I feel like I've only went in 10 pages deep?

Is this on purpose? I know there's more animations on the cloud.

Comments

  • edited June 2016
    Oh yeah, I bougth the itch.io copy so I'm on version 5.3

  • edited 3:14AM
    5.4 is a public build so you can download it from the main site: yiffalicious.com 
  • odesodes Administrator
    edited 3:14AM
    TheUnsaid said: page limit
    The server implementation is a piece of shit right now since we've had to dance around limitations in NDB. Somewhere in the 0.6 cycle we're looking to migrate all data to Google Cloud Sql instead. This will bring a lot of improvements, the most notable one being speed of the browsing (and especially custom searches), but also arbitrary page limits won't be there anymore. In addition to that you'll also be able to customize your searches to a greater extent.
  • edited 3:14AM
    You guys are using app engine for the server side? Seriously!? Awesome! I was using app engine for a while too.  I didn't know it had such heavy limitations though. Admittedly I didn't put that much strain on it. Are you using it with python or javascript? Actually that's neither here nor there.  I didn't know that Cloud SQL was that much better. I know with SQL you've got access to "in" and stuff but I could've sworn NDB could do as much as SQL with just a little messing around.

    Also... damn. I bought my itch copy at the EXACT wrong time hunh.  Would it be impossible for me to get 6.0 when it comes out since I bought 5.3 when 5.4 was out?
  • odesodes Administrator
    edited June 2016
    Yep, using App engine on Python runtime. It's quite expensive but not having to worry about down time and scaling is worth it imo.

    Oh yes, datastore is extremely limited in what types of queries you can make:

    A query can have no more than one NOT_EQUAL filter, and a query that has one cannot have any other inequality filters.
    Note: Because of the way the App Engine Datastore executes queries, if a query specifies inequality filters on a property and sort orders on other properties, the property used in the inequality filters must be ordered before the other properties.

    https://cloud.google.com/datastore/docs/concepts/queries

    In other words, if we want to get the past weeks interactions (inequality filter), we can't sort them by score! Or even worse, if we try to exclude interactions with certain tags, we have to order by tags! That's absolutely retarded. If we wanted to add more filters, like only showing interactions with score above 10, we couldn't do that together with blacklisted tags, because that would require two inequality filters. If we also wanted the latest months interactions on top of that, that would be 3 inequality filters.

    So right now, we just get the 280 interactions from the query and do post processing on that (for the blacklist filter and sorting). And even though 280 sounds like nothing (querying SQL for 280 rows would take less than a second), doing it in datastore takes like 30 seconds. It's an absolute nightmare. That's why queries take so long sometimes. (Usually a cached result can be returned instantly.)

    Google Cloud SQL (aka mysql) doesn't have any limitations like that. You can do anything you would do with a normal relational database.

    TheUnsaid said: Also... damn. I bought my itch copy at the EXACT wrong time hunh.  Would it be impossible for me to get 6.0 when it comes out since I bought 5.3 when 5.4 was out?
    Anyone who bought 0.5.3 when 0.5.4 was out will get 0.6 for free. I can't seem to find the email you are using in this forum though in the itch purchase history.
  • edited 3:14AM
    I do remember app engine being slow.
    Also, I was using the python environment as well. It's so much simpler and easier to read than java.

    I guess I never got into these limitations since we'd just run multiple operations on the datastore. Like for finding the 10 stars in the blacklist, you'd get all the items in the blacklist, and then you'd get all the 10 stars in that blacklist.  Looking back on it, these limitations made bigger projects quite expensive.  Well, I for one am SUPER excited for this move more than anything else.

    After you added the frame limitations after I asked ( I was honestly surprised it happened. Hooray for feedback XD) I thought the project was heading into its most perfect state. Well considering the base engine anyway.

    Anyways, I didn't think it'd be possible but you're making me very eager for a new feature.
  • odesodes Administrator
    edited 3:14AM
    TheUnsaid said: Also, I was using the python environment as well. It's so much simpler and easier to read than java.
    Both Java and Python are great languages, but Java does seem perhaps a little bit too verbose for a web scripting language. Python on the other hand is very compact while still being very readable.

    Sure, the frame thing was a good addition, glad you pointed it out.
Sign In or Register to comment.