Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. Other Discussions
  3. The Weird and The Wonderful
  4. Why would you do this to a stored procedure? It never did anything to you.

Why would you do this to a stored procedure? It never did anything to you.

Scheduled Pinned Locked Moved The Weird and The Wonderful
androidiosdatabasegame-devquestion
18 Posts 15 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    T Offline
    thrakazog
    wrote on last edited by
    #1

    ALTER PROCEDURE [dbo].[arUpdate]
    @intForecastID int,
    @strForecastName varchar(18),
    @strBillTo varchar(12),
    @strPOCName varchar(50),
    @strPOCEmail varchar(100),
    @strModifiedBy varchar(20),
    @strComment varchar(3000),
    @strDelMaterials varchar(8000),
    @strData1 varchar(8000),
    @strData2 varchar(8000),
    @strData3 varchar(8000),
    @strData4 varchar(8000),
    @strData5 varchar(8000),
    @strData6 varchar(8000),
    @strData7 varchar(8000),
    @strData8 varchar(8000),
    @strData9 varchar(8000),
    @strData10 varchar(8000),
    @strData11 varchar(8000),
    @strData12 varchar(8000),
    @strData13 varchar(8000),
    @strData14 varchar(8000),
    @strData15 varchar(8000),
    @strData16 varchar(8000),
    @strData17 varchar(8000),
    @strData18 varchar(8000),
    @strData19 varchar(8000),
    @strData20 varchar(8000)

    :wtf: None of the code in this procedure or from the calling methods looked any better. The data going into the varchar(8000) fields was delimited with a grab bag combination of special characters. Which was then pealed apart using cursors. :wtf:

    Play my game Gravity: IOS[^], Android[^], Windows Phone 7[^]

    B J P S A 10 Replies Last reply
    0
    • T thrakazog

      ALTER PROCEDURE [dbo].[arUpdate]
      @intForecastID int,
      @strForecastName varchar(18),
      @strBillTo varchar(12),
      @strPOCName varchar(50),
      @strPOCEmail varchar(100),
      @strModifiedBy varchar(20),
      @strComment varchar(3000),
      @strDelMaterials varchar(8000),
      @strData1 varchar(8000),
      @strData2 varchar(8000),
      @strData3 varchar(8000),
      @strData4 varchar(8000),
      @strData5 varchar(8000),
      @strData6 varchar(8000),
      @strData7 varchar(8000),
      @strData8 varchar(8000),
      @strData9 varchar(8000),
      @strData10 varchar(8000),
      @strData11 varchar(8000),
      @strData12 varchar(8000),
      @strData13 varchar(8000),
      @strData14 varchar(8000),
      @strData15 varchar(8000),
      @strData16 varchar(8000),
      @strData17 varchar(8000),
      @strData18 varchar(8000),
      @strData19 varchar(8000),
      @strData20 varchar(8000)

      :wtf: None of the code in this procedure or from the calling methods looked any better. The data going into the varchar(8000) fields was delimited with a grab bag combination of special characters. Which was then pealed apart using cursors. :wtf:

      Play my game Gravity: IOS[^], Android[^], Windows Phone 7[^]

      B Offline
      B Offline
      Brisingr Aerowing
      wrote on last edited by
      #2

      :wtf: X|

      I think computer viruses should count as life. I think it says something about human nature that the only form of life we have created so far is purely destructive. We've created life in our own image. Stephen Hawking

      1 Reply Last reply
      0
      • T thrakazog

        ALTER PROCEDURE [dbo].[arUpdate]
        @intForecastID int,
        @strForecastName varchar(18),
        @strBillTo varchar(12),
        @strPOCName varchar(50),
        @strPOCEmail varchar(100),
        @strModifiedBy varchar(20),
        @strComment varchar(3000),
        @strDelMaterials varchar(8000),
        @strData1 varchar(8000),
        @strData2 varchar(8000),
        @strData3 varchar(8000),
        @strData4 varchar(8000),
        @strData5 varchar(8000),
        @strData6 varchar(8000),
        @strData7 varchar(8000),
        @strData8 varchar(8000),
        @strData9 varchar(8000),
        @strData10 varchar(8000),
        @strData11 varchar(8000),
        @strData12 varchar(8000),
        @strData13 varchar(8000),
        @strData14 varchar(8000),
        @strData15 varchar(8000),
        @strData16 varchar(8000),
        @strData17 varchar(8000),
        @strData18 varchar(8000),
        @strData19 varchar(8000),
        @strData20 varchar(8000)

        :wtf: None of the code in this procedure or from the calling methods looked any better. The data going into the varchar(8000) fields was delimited with a grab bag combination of special characters. Which was then pealed apart using cursors. :wtf:

        Play my game Gravity: IOS[^], Android[^], Windows Phone 7[^]

        J Offline
        J Offline
        jim lahey
        wrote on last edited by
        #3

        What if I want @strData21 varchar(8000)? If you don't think this is a serious question then you should have a chat with a lass in our office. According to her a DB server handling a load of 1 select query a second is being DDOS'd and the answer to this non-problem is to select all from every single table in the database on application startup and perform all paging and sorting in memory..

        L 1 Reply Last reply
        0
        • T thrakazog

          ALTER PROCEDURE [dbo].[arUpdate]
          @intForecastID int,
          @strForecastName varchar(18),
          @strBillTo varchar(12),
          @strPOCName varchar(50),
          @strPOCEmail varchar(100),
          @strModifiedBy varchar(20),
          @strComment varchar(3000),
          @strDelMaterials varchar(8000),
          @strData1 varchar(8000),
          @strData2 varchar(8000),
          @strData3 varchar(8000),
          @strData4 varchar(8000),
          @strData5 varchar(8000),
          @strData6 varchar(8000),
          @strData7 varchar(8000),
          @strData8 varchar(8000),
          @strData9 varchar(8000),
          @strData10 varchar(8000),
          @strData11 varchar(8000),
          @strData12 varchar(8000),
          @strData13 varchar(8000),
          @strData14 varchar(8000),
          @strData15 varchar(8000),
          @strData16 varchar(8000),
          @strData17 varchar(8000),
          @strData18 varchar(8000),
          @strData19 varchar(8000),
          @strData20 varchar(8000)

          :wtf: None of the code in this procedure or from the calling methods looked any better. The data going into the varchar(8000) fields was delimited with a grab bag combination of special characters. Which was then pealed apart using cursors. :wtf:

          Play my game Gravity: IOS[^], Android[^], Windows Phone 7[^]

          P Offline
          P Offline
          Pete OHanlon
          wrote on last edited by
          #4

          Back slowly away. This was obviously the work of a Sociopath.

          *pre-emptive celebratory nipple tassle jiggle* - Sean Ewington

          "Mind bleach! Send me mind bleach!" - Nagy Vilmos

          CodeStash - Online Snippet Management | My blog | MoXAML PowerToys | Mole 2010 - debugging made easier

          F 1 Reply Last reply
          0
          • J jim lahey

            What if I want @strData21 varchar(8000)? If you don't think this is a serious question then you should have a chat with a lass in our office. According to her a DB server handling a load of 1 select query a second is being DDOS'd and the answer to this non-problem is to select all from every single table in the database on application startup and perform all paging and sorting in memory..

            L Offline
            L Offline
            Lewis1986
            wrote on last edited by
            #5

            Hey it sounds like she's onto something, let's pin all of our mission critical data to the table and give it a wild night it won't forget! Or you could go to mongoDB. MongoDB is web-scale mongo db can pipe all your data to /dev/null to ensure lightning fast performance. Just a question for said girl, if I try to read too many files from a slow, mechanical hard-drive and I cause thrashing, am I DDOS'ing my HD ;P I want to put the fun back into fundamentalism!

            1 Reply Last reply
            0
            • T thrakazog

              ALTER PROCEDURE [dbo].[arUpdate]
              @intForecastID int,
              @strForecastName varchar(18),
              @strBillTo varchar(12),
              @strPOCName varchar(50),
              @strPOCEmail varchar(100),
              @strModifiedBy varchar(20),
              @strComment varchar(3000),
              @strDelMaterials varchar(8000),
              @strData1 varchar(8000),
              @strData2 varchar(8000),
              @strData3 varchar(8000),
              @strData4 varchar(8000),
              @strData5 varchar(8000),
              @strData6 varchar(8000),
              @strData7 varchar(8000),
              @strData8 varchar(8000),
              @strData9 varchar(8000),
              @strData10 varchar(8000),
              @strData11 varchar(8000),
              @strData12 varchar(8000),
              @strData13 varchar(8000),
              @strData14 varchar(8000),
              @strData15 varchar(8000),
              @strData16 varchar(8000),
              @strData17 varchar(8000),
              @strData18 varchar(8000),
              @strData19 varchar(8000),
              @strData20 varchar(8000)

              :wtf: None of the code in this procedure or from the calling methods looked any better. The data going into the varchar(8000) fields was delimited with a grab bag combination of special characters. Which was then pealed apart using cursors. :wtf:

              Play my game Gravity: IOS[^], Android[^], Windows Phone 7[^]

              S Offline
              S Offline
              SomeGuyThatIsMe
              wrote on last edited by
              #6

              I have that exact same pattern in my DB(not done by me), i wonder if they were both written by the same person. In my version though all those varchar(8000)s are ignored in the first SP and passed to a second which does even more string manipulation with cursors. wonder why they just didnt use one varchar(max) or a text field.

              Please remember to rate helpful or unhelpful answers, it lets us and people reading the forums know if our answers are any good.

              K 1 Reply Last reply
              0
              • T thrakazog

                ALTER PROCEDURE [dbo].[arUpdate]
                @intForecastID int,
                @strForecastName varchar(18),
                @strBillTo varchar(12),
                @strPOCName varchar(50),
                @strPOCEmail varchar(100),
                @strModifiedBy varchar(20),
                @strComment varchar(3000),
                @strDelMaterials varchar(8000),
                @strData1 varchar(8000),
                @strData2 varchar(8000),
                @strData3 varchar(8000),
                @strData4 varchar(8000),
                @strData5 varchar(8000),
                @strData6 varchar(8000),
                @strData7 varchar(8000),
                @strData8 varchar(8000),
                @strData9 varchar(8000),
                @strData10 varchar(8000),
                @strData11 varchar(8000),
                @strData12 varchar(8000),
                @strData13 varchar(8000),
                @strData14 varchar(8000),
                @strData15 varchar(8000),
                @strData16 varchar(8000),
                @strData17 varchar(8000),
                @strData18 varchar(8000),
                @strData19 varchar(8000),
                @strData20 varchar(8000)

                :wtf: None of the code in this procedure or from the calling methods looked any better. The data going into the varchar(8000) fields was delimited with a grab bag combination of special characters. Which was then pealed apart using cursors. :wtf:

                Play my game Gravity: IOS[^], Android[^], Windows Phone 7[^]

                A Offline
                A Offline
                Adriaan Davel
                wrote on last edited by
                #7

                Because people are still looking for a silver-bullet, 1 thing that can do everything for you. Would hate to see the design & architecture of the rest of the 'solution'

                ____________________________________________________________ Be brave little warrior, be VERY brave

                T 1 Reply Last reply
                0
                • T thrakazog

                  ALTER PROCEDURE [dbo].[arUpdate]
                  @intForecastID int,
                  @strForecastName varchar(18),
                  @strBillTo varchar(12),
                  @strPOCName varchar(50),
                  @strPOCEmail varchar(100),
                  @strModifiedBy varchar(20),
                  @strComment varchar(3000),
                  @strDelMaterials varchar(8000),
                  @strData1 varchar(8000),
                  @strData2 varchar(8000),
                  @strData3 varchar(8000),
                  @strData4 varchar(8000),
                  @strData5 varchar(8000),
                  @strData6 varchar(8000),
                  @strData7 varchar(8000),
                  @strData8 varchar(8000),
                  @strData9 varchar(8000),
                  @strData10 varchar(8000),
                  @strData11 varchar(8000),
                  @strData12 varchar(8000),
                  @strData13 varchar(8000),
                  @strData14 varchar(8000),
                  @strData15 varchar(8000),
                  @strData16 varchar(8000),
                  @strData17 varchar(8000),
                  @strData18 varchar(8000),
                  @strData19 varchar(8000),
                  @strData20 varchar(8000)

                  :wtf: None of the code in this procedure or from the calling methods looked any better. The data going into the varchar(8000) fields was delimited with a grab bag combination of special characters. Which was then pealed apart using cursors. :wtf:

                  Play my game Gravity: IOS[^], Android[^], Windows Phone 7[^]

                  D Offline
                  D Offline
                  dazfuller
                  wrote on last edited by
                  #8

                  Because the person who wrote it likes to curl up in a small ball with a nervous twitch in their eye whilst they inappropriately touch a small fury animal. Honestly, you're better not asking, pretend you never saw it and maybe, just maybe, you'll make it through to tomorrow with a shred of sanity left in you.

                  Eagles may soar, but weasels don't get sucked into jet engines

                  H 1 Reply Last reply
                  0
                  • D dazfuller

                    Because the person who wrote it likes to curl up in a small ball with a nervous twitch in their eye whilst they inappropriately touch a small fury animal. Honestly, you're better not asking, pretend you never saw it and maybe, just maybe, you'll make it through to tomorrow with a shred of sanity left in you.

                    Eagles may soar, but weasels don't get sucked into jet engines

                    H Offline
                    H Offline
                    Harry Neethling
                    wrote on last edited by
                    #9

                    Gave me a good laugh right now :D

                    1 Reply Last reply
                    0
                    • P Pete OHanlon

                      Back slowly away. This was obviously the work of a Sociopath.

                      *pre-emptive celebratory nipple tassle jiggle* - Sean Ewington

                      "Mind bleach! Send me mind bleach!" - Nagy Vilmos

                      CodeStash - Online Snippet Management | My blog | MoXAML PowerToys | Mole 2010 - debugging made easier

                      F Offline
                      F Offline
                      Florin Jurcovici 0
                      wrote on last edited by
                      #10

                      Unfortunately, such people insist on calling them programmers. Gives our profession a bad name ...

                      1 Reply Last reply
                      0
                      • A Adriaan Davel

                        Because people are still looking for a silver-bullet, 1 thing that can do everything for you. Would hate to see the design & architecture of the rest of the 'solution'

                        ____________________________________________________________ Be brave little warrior, be VERY brave

                        T Offline
                        T Offline
                        thrakazog
                        wrote on last edited by
                        #11

                        Design? Architecture? Not on this project man! ;P

                        Play my game Gravity: IOS[^], Android[^], Windows Phone 7[^]

                        1 Reply Last reply
                        0
                        • T thrakazog

                          ALTER PROCEDURE [dbo].[arUpdate]
                          @intForecastID int,
                          @strForecastName varchar(18),
                          @strBillTo varchar(12),
                          @strPOCName varchar(50),
                          @strPOCEmail varchar(100),
                          @strModifiedBy varchar(20),
                          @strComment varchar(3000),
                          @strDelMaterials varchar(8000),
                          @strData1 varchar(8000),
                          @strData2 varchar(8000),
                          @strData3 varchar(8000),
                          @strData4 varchar(8000),
                          @strData5 varchar(8000),
                          @strData6 varchar(8000),
                          @strData7 varchar(8000),
                          @strData8 varchar(8000),
                          @strData9 varchar(8000),
                          @strData10 varchar(8000),
                          @strData11 varchar(8000),
                          @strData12 varchar(8000),
                          @strData13 varchar(8000),
                          @strData14 varchar(8000),
                          @strData15 varchar(8000),
                          @strData16 varchar(8000),
                          @strData17 varchar(8000),
                          @strData18 varchar(8000),
                          @strData19 varchar(8000),
                          @strData20 varchar(8000)

                          :wtf: None of the code in this procedure or from the calling methods looked any better. The data going into the varchar(8000) fields was delimited with a grab bag combination of special characters. Which was then pealed apart using cursors. :wtf:

                          Play my game Gravity: IOS[^], Android[^], Windows Phone 7[^]

                          M Offline
                          M Offline
                          mmelvis
                          wrote on last edited by
                          #12

                          You have an application that is 25 years old with no documentation for the tables, c-isam tables. You have to make this wonderful application talk to a modern day databases. You have been given a budget of $0 to get this task completed. You have just enough time to learn syntax to put something together that will hopefully work. That is how this happens.

                          T 1 Reply Last reply
                          0
                          • T thrakazog

                            ALTER PROCEDURE [dbo].[arUpdate]
                            @intForecastID int,
                            @strForecastName varchar(18),
                            @strBillTo varchar(12),
                            @strPOCName varchar(50),
                            @strPOCEmail varchar(100),
                            @strModifiedBy varchar(20),
                            @strComment varchar(3000),
                            @strDelMaterials varchar(8000),
                            @strData1 varchar(8000),
                            @strData2 varchar(8000),
                            @strData3 varchar(8000),
                            @strData4 varchar(8000),
                            @strData5 varchar(8000),
                            @strData6 varchar(8000),
                            @strData7 varchar(8000),
                            @strData8 varchar(8000),
                            @strData9 varchar(8000),
                            @strData10 varchar(8000),
                            @strData11 varchar(8000),
                            @strData12 varchar(8000),
                            @strData13 varchar(8000),
                            @strData14 varchar(8000),
                            @strData15 varchar(8000),
                            @strData16 varchar(8000),
                            @strData17 varchar(8000),
                            @strData18 varchar(8000),
                            @strData19 varchar(8000),
                            @strData20 varchar(8000)

                            :wtf: None of the code in this procedure or from the calling methods looked any better. The data going into the varchar(8000) fields was delimited with a grab bag combination of special characters. Which was then pealed apart using cursors. :wtf:

                            Play my game Gravity: IOS[^], Android[^], Windows Phone 7[^]

                            E Offline
                            E Offline
                            exmsde
                            wrote on last edited by
                            #13

                            I see this and I think "Why did I enable it? Why did I agree to varchar(8000)? I could have stopped it. I could have kept Sybase's 255 character limit. I could have...." Ah the law of unintended consequences.

                            1 Reply Last reply
                            0
                            • M mmelvis

                              You have an application that is 25 years old with no documentation for the tables, c-isam tables. You have to make this wonderful application talk to a modern day databases. You have been given a budget of $0 to get this task completed. You have just enough time to learn syntax to put something together that will hopefully work. That is how this happens.

                              T Offline
                              T Offline
                              thrakazog
                              wrote on last edited by
                              #14

                              I could see it happening that way sometimes. But this code was from an ASP.net app. The comments put the creation date of this piece around 2005. This may have come about through code rot. Maybe it worked great for something small and the scope and input string kept expanding. In any case... ick. And of course I don't have the time to fix it either. So I'll pass it on to somebody else also.

                              Play my game Gravity: IOS[^], Android[^], Windows Phone 7[^]

                              1 Reply Last reply
                              0
                              • S SomeGuyThatIsMe

                                I have that exact same pattern in my DB(not done by me), i wonder if they were both written by the same person. In my version though all those varchar(8000)s are ignored in the first SP and passed to a second which does even more string manipulation with cursors. wonder why they just didnt use one varchar(max) or a text field.

                                Please remember to rate helpful or unhelpful answers, it lets us and people reading the forums know if our answers are any good.

                                K Offline
                                K Offline
                                KP Lee
                                wrote on last edited by
                                #15

                                SomeGuyThatIsMe wrote:

                                wonder why they just didnt use one varchar(max) or a text field.

                                I'd guess this was written in SQL 2000. max didn't exist and it took too much thinking to do character manipulation on text fields. (For anyone who'd write this in the first place.) I can't picture how to execute a cursor on a varchar field. (Extract a fraction of the data and then use a cursor to retrieve it from a table, sure, but ON the field?)

                                S 1 Reply Last reply
                                0
                                • K KP Lee

                                  SomeGuyThatIsMe wrote:

                                  wonder why they just didnt use one varchar(max) or a text field.

                                  I'd guess this was written in SQL 2000. max didn't exist and it took too much thinking to do character manipulation on text fields. (For anyone who'd write this in the first place.) I can't picture how to execute a cursor on a varchar field. (Extract a fraction of the data and then use a cursor to retrieve it from a table, sure, but ON the field?)

                                  S Offline
                                  S Offline
                                  SomeGuyThatIsMe
                                  wrote on last edited by
                                  #16

                                  If i find the time today i'll post that piece of the sp.

                                  Please remember to rate helpful or unhelpful answers, it lets us and people reading the forums know if our answers are any good.

                                  1 Reply Last reply
                                  0
                                  • T thrakazog

                                    ALTER PROCEDURE [dbo].[arUpdate]
                                    @intForecastID int,
                                    @strForecastName varchar(18),
                                    @strBillTo varchar(12),
                                    @strPOCName varchar(50),
                                    @strPOCEmail varchar(100),
                                    @strModifiedBy varchar(20),
                                    @strComment varchar(3000),
                                    @strDelMaterials varchar(8000),
                                    @strData1 varchar(8000),
                                    @strData2 varchar(8000),
                                    @strData3 varchar(8000),
                                    @strData4 varchar(8000),
                                    @strData5 varchar(8000),
                                    @strData6 varchar(8000),
                                    @strData7 varchar(8000),
                                    @strData8 varchar(8000),
                                    @strData9 varchar(8000),
                                    @strData10 varchar(8000),
                                    @strData11 varchar(8000),
                                    @strData12 varchar(8000),
                                    @strData13 varchar(8000),
                                    @strData14 varchar(8000),
                                    @strData15 varchar(8000),
                                    @strData16 varchar(8000),
                                    @strData17 varchar(8000),
                                    @strData18 varchar(8000),
                                    @strData19 varchar(8000),
                                    @strData20 varchar(8000)

                                    :wtf: None of the code in this procedure or from the calling methods looked any better. The data going into the varchar(8000) fields was delimited with a grab bag combination of special characters. Which was then pealed apart using cursors. :wtf:

                                    Play my game Gravity: IOS[^], Android[^], Windows Phone 7[^]

                                    T Offline
                                    T Offline
                                    thomas michaud
                                    wrote on last edited by
                                    #17

                                    I've seen code like that were they were manipulating data -- usually because they couldn't (normally they just didn't want to) use better tools. But I'm worried about this line -- Which was then pealed apart using cursors. Cursors?

                                    1 Reply Last reply
                                    0
                                    • T thrakazog

                                      ALTER PROCEDURE [dbo].[arUpdate]
                                      @intForecastID int,
                                      @strForecastName varchar(18),
                                      @strBillTo varchar(12),
                                      @strPOCName varchar(50),
                                      @strPOCEmail varchar(100),
                                      @strModifiedBy varchar(20),
                                      @strComment varchar(3000),
                                      @strDelMaterials varchar(8000),
                                      @strData1 varchar(8000),
                                      @strData2 varchar(8000),
                                      @strData3 varchar(8000),
                                      @strData4 varchar(8000),
                                      @strData5 varchar(8000),
                                      @strData6 varchar(8000),
                                      @strData7 varchar(8000),
                                      @strData8 varchar(8000),
                                      @strData9 varchar(8000),
                                      @strData10 varchar(8000),
                                      @strData11 varchar(8000),
                                      @strData12 varchar(8000),
                                      @strData13 varchar(8000),
                                      @strData14 varchar(8000),
                                      @strData15 varchar(8000),
                                      @strData16 varchar(8000),
                                      @strData17 varchar(8000),
                                      @strData18 varchar(8000),
                                      @strData19 varchar(8000),
                                      @strData20 varchar(8000)

                                      :wtf: None of the code in this procedure or from the calling methods looked any better. The data going into the varchar(8000) fields was delimited with a grab bag combination of special characters. Which was then pealed apart using cursors. :wtf:

                                      Play my game Gravity: IOS[^], Android[^], Windows Phone 7[^]

                                      N Offline
                                      N Offline
                                      Nitin S
                                      wrote on last edited by
                                      #18

                                      :~:~:~

                                      ============================================ The grass is always greener on the other side of the fence

                                      1 Reply Last reply
                                      0
                                      Reply
                                      • Reply as topic
                                      Log in to reply
                                      • Oldest to Newest
                                      • Newest to Oldest
                                      • Most Votes


                                      • Login

                                      • Don't have an account? Register

                                      • Login or register to search.
                                      • First post
                                        Last post
                                      0
                                      • Categories
                                      • Recent
                                      • Tags
                                      • Popular
                                      • World
                                      • Users
                                      • Groups